knn——model celectionpreprocessing
一.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相关推荐
- knn分类 knn_关于KNN的快速小课程
knn分类 knn As the title says, here is a quick little lesson on how to construct a simple KNN model in ...
- knn的python代码_《机器学习实战》之一:knn(python代码)
数据 标称型和数值型 算法 归一化处理:防止数值较大的特征对距离产生较大影响 计算欧式距离:测试样本与训练集 排序:选取前k个距离,统计频数(出现次数)最多的类别 def classify0(inX, ...
- 机器学习——KNN(K-nearst Neighbor)
距离计算公式 常用的距离计算方法有欧式距离和曼哈顿距离两种,公式下所示: 欧氏距离: 曼哈顿距离: KNN 模型原理 KNN首先需要"记忆"所有的训练数据,这也可以看做模型的训练过 ...
- 《封号码罗》数据分析与人工智能之KNN分类问题(七)
第一部分 # KNN # K最近邻(k-Nearest Neighbor,KNN)分类算法: # 是一个理论上比较成熟的方法,也是最简单的机器学习算法之一. # 该方法的思路是: # 在特征空间中,如 ...
- 分类算法如何绘制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 ...
- python knn预测_python机器学习之KNN预测QSAR生物浓缩类别
KNN预测QSAR生物浓缩类别 importnumpyimport pandas #导入Excel文件 from sklearn.neighbors import KNeighborsClassifi ...
- sklearn:Python语言开发的通用机器学习库
引言:深入理解机器学习并全然看懂sklearn文档,须要较深厚的理论基础.可是.要将sklearn应用于实际的项目中,仅仅须要对机器学习理论有一个主要的掌握,就能够直接调用其API来完毕各种机器学习问 ...
- 从零开始用Python实现k近邻算法(附代码、数据集)
作者:Tavish Srivastava 翻译:王雨桐 校对:丁楠雅 本文约2000字,建议阅读8分钟. 本文将带领读者理解KNN算法在分类问题中的使用,并结合案例运用Python进行实战操作. 注意 ...
- CVPR 2015 papers
CVPR 2015 CVPR 2015的文章可以下载了,如果链接无法下载,可以在Google上通过搜索paper名字下载(友情提示:可以使用filetype:pdf命令). Going Deeper ...
- 机器学习模型 知乎_机器学习中有哪些模型?
AI主要的作用就是利用计算机模拟各种生物智能来解决问题,生物智能的多样性造就了计算机模拟智能的多样性,但是不管模拟的智能是什么,整个处理的过程都是相似的,都需要把模拟的智能通过数学建模给抽象出来,找到 ...
最新文章
- 基于cnn的短文本分类_自然语言理解之(二)短文本多分类TextCNN实践
- redhat替换yum源时redhat.repo无法删除或禁用的问题
- 学习官方示例 - System.Frac: 返回小数部分
- 拼图游戏C语言课设实验报告,C语言拼图游戏实验报告.doc
- 深入浅出 Spring 架构设计
- Flutter实现倒计时功能
- Python人脸识别的简要介绍(附实例、Python代码)
- 动力节点老杜mysql文件_MySQL/InnoDB数据克隆插件(clone plugin)实现剖析
- Objective-C 基础,类和对象,方法和消息,已声明的属性和存取方法,块对象,协议和范畴类,预定义类型和编码策略...
- 面试宝典之深度学习面试题(下)
- android微信支付插件,Android通过Apk插件调起微信支付
- Irrational problem
- 用Python写一个简单的24点计算器
- 【逆向入门】 CrackMe160-005 分析思路
- MongoDB学习(二)MongoDB 认证详解
- 使用U盘在虚拟机下安装双系统(windows and linux)乃至多系统
- 数据结构 栈 括弧匹配检验
- Java判断经纬度点是否在给定区域内
- 服务器缓冲视频文件在哪里,视频缓存在哪个文件里
- 简·雅各布斯(yane jacobs y)在你附近
热门文章
- 短信转移到另一个手机接收_如何将iPhone手机接收短信同步到另外一台设备上?...
- arcgis 将栅格值提取到点_ArcGIS教程:值提取至点 (空间分析)
- 实战爬虫:python爬虫学习笔记之爬取大前端网站
- js向html文档添加空格,javascript – 如何在HTML中的行之间找到空格?
- 总比特率是什么意思_新基金初始净值低于1是什么意思?什么时候开始有净值?...
- 算法笔记_面试题_8.零钱兑换
- python爬虫简单实例
- Codeforces Manthan, Codefest 18 (rated, Div. 1 + Div. 2) E.Trips
- android studio run的时候一直卡在waiting for debug
- 硬盘GPT分区与MBR分区的区别