前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python3入门机器学习(四)(补)- sklearn 中使用knn算法的总结整理

Python3入门机器学习(四)(补)- sklearn 中使用knn算法的总结整理

作者头像
Meet相识
发布2018-09-12 16:45:44
3.2K0
发布2018-09-12 16:45:44
举报
文章被收录于专栏:技术专栏技术专栏

机器学习流程回顾

回顾

1.将数据集分成训练数据集合测试数据集 2.将训练数据集进行归一化 3.使用训练数据集的均值和方差将测试数据集归一化 4.使用训练数集训练处模型 5.使用归一化后的测试数据集测试分类的准确度(accuracy) 6.使用网格搜索寻找最好的超参数,然后回到1-5

机器学习总过程

1

数据归一化总过程

2


1.将数据集分割成测试数据集合训练数据集

代码语言:javascript
复制
from sklearn.model_selection import train_test_split
X_train,X_test,y_train,y_test = train_test_split(X,y)

2.将数据集进行归一化处理

代码语言:javascript
复制
from sklearn.preprocessing import StandardScaler
standardScaler = StandardScaler()
# 存放了均值方差归一化所对应的信息
standardScaler.fit(X_train)
X_train = standardScaler.transform(X_train)
X_test = standardScaler.transform(X_test)

3.创建一个KNeighborsClassifier 对象

代码语言:javascript
复制
from sklearn.neighbors import KNeighborsClassifier
sklearn_knn_clf = KNeighborsClassifier(n_neighbors=6)

4.使用KNeighborsClassifier 对象进行fit创建出模型

代码语言:javascript
复制
sklearn_knn_clf.fit(X_train,y_train)

5.使用训练数据集得出分类准确度

代码语言:javascript
复制
sklearn_knn_clf.score(X_test,y_test)

6.使用我们的模型预测新的数据

代码语言:javascript
复制
y_predict = sklearn_knn_clf.predict(X_test)

7.探索超参数

代码语言:javascript
复制
# array<dict<参数名:参数可能的取值>>
param_grid =[
    {
        'weights':['uniform'],
        'n_neighbors': [i for i in range(1,11)]
    },
    {
        'weights':['distance'],
        'n_neighbors': [i for i in range(1,11)],
        'p': [i for i in range(1,6)]
    }
]

# 先new一个默认的Classifier对象
knn_clf = KNeighborsClassifier()

# 调用GridSearchCV创建网格搜索对象,传入参数为Classifier对象以及参数列表
from sklearn.model_selection import GridSearchCV

grid_search = GridSearchCV(knn_clf,param_grid)

# 调用fit方法执行网格搜索
%%time
grid_search.fit(X_train,y_train)

# 获得最好的评估结果,返回的是KNeighborsClassifier对象,可以直接拿来做机器学习预测了
grid_search.best_estimator_

# 最好的分数
grid_search.best_score_

# 最好的参数
grid_search.best_params_
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018.04.15 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 机器学习流程回顾
    • 机器学习总过程
      • 数据归一化总过程
        • 1.将数据集分割成测试数据集合训练数据集
        • 2.将数据集进行归一化处理
        • 3.创建一个KNeighborsClassifier 对象
        • 4.使用KNeighborsClassifier 对象进行fit创建出模型
        • 5.使用训练数据集得出分类准确度
        • 6.使用我们的模型预测新的数据
        • 7.探索超参数
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档