一.cross_val_score 调参

import numpy as np
from sklearn.neighbors import KNeighborsClassifier
from sklearn import datasets
from sklearn.model_selection import cross_val_score #交叉验证
X,y = datasets.load_iris(True)
# 演示了交叉验证如何使用
knn = KNeighborsClassifier()
score = cross_val_score(knn,X,y,scoring='accuracy',cv=6)
print(score.mean())error = []
for k in range (1,14):knn = KNeighborsClassifier(n_neighbors=k)score = cross_val_score(knn,X,y,scoring='accuracy',cv=6).mean()#误差越小。K选择越合适error.append(1 - score)import  matplotlib.pyplot as plt
plt.plot(np.arange(1,14),error)
plt.show()weights = ['uniform','distance']
for w in weights:knn = KNeighborsClassifier(n_neighbors=11,weights=w)print(cross_val_score(knn,X,y,scoring='accuracy',cv=6).mean())result = {}
for k in range(1,14):for w in weights:knn = KNeighborsClassifier(n_neighbors=k, weights=w)sm = cross_val_score(knn,X,y,scoring='accuracy',cv=6).mean()result[w+str(k)] = sm
result
# 找到最合适的参数
print(np.array(list(result.values())).argmax())

二.实例中学到的方法【片段】

import numpy as np
import pandas as pd
from pandas import Series,DataFrame
from sklearn.neighbors import KNeighborsClassifier
cancer = pd.read_csv('./cancer.csv',sep='\t')# 读取数据
cancer.drop('ID',axis=1,inplace=True)#删除一行数据# 将列表中str类型数据转换为int
cols = ['relationship','race']
for col in cols:u= X[col].unique()def convert(x)return np.argwhere(u==x)[0,0]X[col]=X[col].map(convert)
# 数据划分
knn = KNeighborsClassifier()
kFold =kFold(10)
knn = KNeighborsClassifier()
accuracy = 0
for train,test in kFold.split(X,y):knn.fit(X.loc[train],y[train])acc = knn.score(X.loc[test],y[test])accuracy += acc/10
print(accuracy)

三.将列表中str类型数据转换为int(preprocessing方法)

import numpy as np
import pandas as pd
from pandas import Series,DataFrame
from sklearn.preprocessing import OrdinalEncoder ,OneHotEncoder,LabelEncoder
from sklearn.neighbors import KNeighborsClassifier
# LabelEncoder(Series) 和OrdinalEncode(DataFrame)类似
labelEncode = LabelEncoder()
salary_label =labelEncode.fit_transform(salary['salary'])
for col in salary.columns:salary[col] = labelEncode.fit_transform(salary[col])
print(salary.head())

knn——model celectionpreprocessing相关推荐

  1. knn分类 knn_关于KNN的快速小课程

    knn分类 knn As the title says, here is a quick little lesson on how to construct a simple KNN model in ...

  2. knn的python代码_《机器学习实战》之一:knn(python代码)

    数据 标称型和数值型 算法 归一化处理:防止数值较大的特征对距离产生较大影响 计算欧式距离:测试样本与训练集 排序:选取前k个距离,统计频数(出现次数)最多的类别 def classify0(inX, ...

  3. 机器学习——KNN(K-nearst Neighbor)

    距离计算公式 常用的距离计算方法有欧式距离和曼哈顿距离两种,公式下所示: 欧氏距离: 曼哈顿距离: KNN 模型原理 KNN首先需要"记忆"所有的训练数据,这也可以看做模型的训练过 ...

  4. 《封号码罗》数据分析与人工智能之KNN分类问题(七)

    第一部分 # KNN # K最近邻(k-Nearest Neighbor,KNN)分类算法: # 是一个理论上比较成熟的方法,也是最简单的机器学习算法之一. # 该方法的思路是: # 在特征空间中,如 ...

  5. 分类算法如何绘制roc曲线,如何绘制knn模型的ROC曲线

    I am using ROCR package and i was wondering how can one plot a ROC curve for knn model in R? Is ther ...

  6. python knn预测_python机器学习之KNN预测QSAR生物浓缩类别

    KNN预测QSAR生物浓缩类别 importnumpyimport pandas #导入Excel文件 from sklearn.neighbors import KNeighborsClassifi ...

  7. sklearn:Python语言开发的通用机器学习库

    引言:深入理解机器学习并全然看懂sklearn文档,须要较深厚的理论基础.可是.要将sklearn应用于实际的项目中,仅仅须要对机器学习理论有一个主要的掌握,就能够直接调用其API来完毕各种机器学习问 ...

  8. 从零开始用Python实现k近邻算法(附代码、数据集)

    作者:Tavish Srivastava 翻译:王雨桐 校对:丁楠雅 本文约2000字,建议阅读8分钟. 本文将带领读者理解KNN算法在分类问题中的使用,并结合案例运用Python进行实战操作. 注意 ...

  9. CVPR 2015 papers

    CVPR 2015  CVPR 2015的文章可以下载了,如果链接无法下载,可以在Google上通过搜索paper名字下载(友情提示:可以使用filetype:pdf命令). Going Deeper ...

  10. 机器学习模型 知乎_机器学习中有哪些模型?

    AI主要的作用就是利用计算机模拟各种生物智能来解决问题,生物智能的多样性造就了计算机模拟智能的多样性,但是不管模拟的智能是什么,整个处理的过程都是相似的,都需要把模拟的智能通过数学建模给抽象出来,找到 ...

最新文章

  1. 基于cnn的短文本分类_自然语言理解之(二)短文本多分类TextCNN实践
  2. redhat替换yum源时redhat.repo无法删除或禁用的问题
  3. 学习官方示例 - System.Frac: 返回小数部分
  4. 拼图游戏C语言课设实验报告,C语言拼图游戏实验报告.doc
  5. 深入浅出 Spring 架构设计
  6. Flutter实现倒计时功能
  7. Python人脸识别的简要介绍(附实例、Python代码)
  8. 动力节点老杜mysql文件_MySQL/InnoDB数据克隆插件(clone plugin)实现剖析
  9. Objective-C 基础,类和对象,方法和消息,已声明的属性和存取方法,块对象,协议和范畴类,预定义类型和编码策略...
  10. 面试宝典之深度学习面试题(下)
  11. android微信支付插件,Android通过Apk插件调起微信支付
  12. Irrational problem
  13. 用Python写一个简单的24点计算器
  14. 【逆向入门】 CrackMe160-005 分析思路
  15. MongoDB学习(二)MongoDB 认证详解
  16. 使用U盘在虚拟机下安装双系统(windows and linux)乃至多系统
  17. 数据结构 栈 括弧匹配检验
  18. Java判断经纬度点是否在给定区域内
  19. 服务器缓冲视频文件在哪里,视频缓存在哪个文件里
  20. 简·雅各布斯(yane jacobs y)在你附近

热门文章

  1. 短信转移到另一个手机接收_如何将iPhone手机接收短信同步到另外一台设备上?...
  2. arcgis 将栅格值提取到点_ArcGIS教程:值提取至点 (空间分析)
  3. 实战爬虫:python爬虫学习笔记之爬取大前端网站
  4. js向html文档添加空格,javascript – 如何在HTML中的行之间找到空格?
  5. 总比特率是什么意思_新基金初始净值低于1是什么意思?什么时候开始有净值?...
  6. 算法笔记_面试题_8.零钱兑换
  7. python爬虫简单实例
  8. Codeforces Manthan, Codefest 18 (rated, Div. 1 + Div. 2) E.Trips
  9. android studio run的时候一直卡在waiting for debug
  10. 硬盘GPT分区与MBR分区的区别