1、导入工具包 2、加载数据 3、数据预处理 4、选择算法训练数据 5、测试数据

#写入csv
test.to_csv('test.csv',index=False)

数据标准化sklearn的preprocessing.scale()

为什么数据标准化:某些特征的方差比其他的特征大几个数量级,那么就会在算法之中占主导的位置,导致学习器对其他特征有所忽略

标准化:先去中心化,再除以特征的标准差,对数据进行缩放

from sklearn import preprocessing
import numpy as np
a=np.array([[10,5,4,5],[2,3,4,5]])
a
array([[10,  5,  4,  5],[ 2,  3,  4,  5]])
preprocessing.scale(a)
array([[ 1.,  1.,  0.,  0.],[-1., -1.,  0.,  0.]])

交叉验证

样本数据切分为训练集和验证集,训练集训练模型,验证集评估模型
简单交叉验证:随机将样本划分成两个部分(70%训练,30%测试)

k折交叉验证:随机将样本均分为K份,选择k-1份作为训练集,剩下的1份作为验证集,一轮完成之后,重新选择k-1份来训练数据,若干轮后选择损失函数评估最优的模型和参数

留一交叉验证:k折交叉验证的特例,k=n(样本个数),适合样本数量少的时候

boostrapping自助采样:随机森林训练样本采用的方法,n个样本随机有放回抽样m个样本作为一颗树的一个训练集,大约1/3的样本不被采用到,剩余未采样的数据作为验证集

from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
from sklearn.model_selection import cross_val_score
iris=load_iris()
x=iris.data
y=iris.target
X_train,X_test,y_train,y_test=train_test_split(x,y,test_size=0.3)
knn=KNeighborsClassifier(n_neighbors=5)#选择临近的5个点
scores=cross_val_score(knn,x,y,cv=5,scoring='accuracy')#5折交叉验证,评分方式为accuracy
print(scores)
[0.96666667 1.         0.93333333 0.96666667 1.        ]
print(scores.mean())#平均评分结果
0.9733333333333334

过拟合:模型过于复杂,对于训练集数据可以很好的拟合,却不能正确的处理测试数据,学到非通用的样本数据,使得模型精度降低

#学习曲线learning_curve,判断是否过拟合

保存模型

from sklearn.externals import joblib
joblib.dump(knn,'sklearn_save.pkl')
G:\anaconda\envs\tensorflow\lib\site-packages\sklearn\externals\joblib\__init__.py:15: FutureWarning: sklearn.externals.joblib is deprecated in 0.21 and will be removed in 0.23. Please import this functionality directly from joblib, which can be installed with: pip install joblib. If this warning is raised when loading pickled models, you may need to re-serialize those models with scikit-learn 0.21+.warnings.warn(msg, category=FutureWarning)['sklearn_save.pkl']

加载模型

model=joblib.load('sklearn_save.pkl')
scores=cross_val_score(model,x,y,cv=5,scoring='accuracy')#5折交叉验证,评分方式为accuracy
print(scores)
[0.96666667 1.         0.93333333 0.96666667 1.        ]

#小结
加载数据集
数据预处理
选择模型并训练
模型评分
模型保存

sklearn应用总结相关推荐

  1. 安装 sklearn 报错 ImportError: cannot import name Type

    1. 安装 sklearn sudo pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple sklearn 会默认安装 joblib , s ...

  2. TF-IDF 原理及sklearn中的tf-idf实例分析

    背景介绍 在一个大的文本语料库中,一些单词将出现很多次(例如 "the", "a", "is" 是英文),因此对文档的实际内容没有什么有意义 ...

  3. sklearn数据处理_one_hot

    20211119 sc = StandardScaler() X_train_std = sc.fit_transform(X_train) save保存的是sc 而不是 x_train_std 20 ...

  4. 关于使用sklearn进行数据预处理 —— 归一化/标准化/正则化

    20220121 z-score标准化 模型存储和load再调用其实没有关系 再load计算的时候,也是以实际的数据重新计算 并不是以save模型的边界来计算的 20211227 onehot训练集保 ...

  5. sklearn.model_selection.train_test_split随机划分训练集和测试集

    1 函数用途 train_test_split()是交叉验证中常用的函数,功能是将数组或矩阵按比例随机划分为训练集和测试集,使用方法为: X_train,X_test, y_train, y_test ...

  6. sklearn FutureWarning: numpy not_equal will not check..., The comparison did not return the same

    1. 问题 import sklearn 后有如下警告 ubuntu@test:/data/# python Python 2.7.12 (default, Nov 12 2018, 14:36:49 ...

  7. sklearn库安装_没有依赖库也能跑机器学习模型!推荐一个强大工具m2cgen

    晓查 发自 凹非寺 量子位 报道 | 公众号 QbitAI m2cgen(Model 2 Code Generator)是一个轻量级代码生成器,它可以将训练好的机器学习模型转换成无需依赖库的本地代码. ...

  8. python 聚类_使用python+sklearn实现聚类性能评估中随机分配对聚类度量值的影响

    注意:单击此处https://urlify.cn/3iAzUr下载完整的示例代码,或通过Binder在浏览器中运行此示例 下图说明了聚类数量和样本数量对各种聚类性能评估度量指标的影响.未调整的度量指标 ...

  9. sklearn 朴素贝叶斯分类示例

    代码参考 https://github.com/mbeyeler/opencv-machine-learning/blob/master/notebooks/07.01-Implementing-Ou ...

  10. 【机器学习入门】(5) 决策树算法实战:sklearn实现决策树,实例应用(沉船幸存者预测)附python完整代码及数据集

    各位同学好,今天和大家分享一下python机器学习中的决策树算法,在上一节中我介绍了决策树算法的基本原理,这一节,我将通过实例应用带大家进一步认识这个算法.文末有完整代码和数据集,需要的自取.那我们开 ...

最新文章

  1. Delphi中使用ListView和TreeView的Item中的Data可能被忽略的内存泄漏
  2. 不同局域网内经Internet的P2P通信技术总结
  3. 【Linux】一步一步学Linux——初识Linux命令解析器(10)
  4. 黑马程序员——java语言基础——组合,关联,聚合的区别
  5. 软件开发项目文档模版
  6. 家里有古玩古董摆放在家中好吗?
  7. Spark常用API(五)
  8. 算法笔记_面试题_6.二进制/位运算相关
  9. 傅立叶:你让我如何理解你?
  10. Java知多少(51)finally
  11. python下载docx模块_怎么下载python-docx模块
  12. 无需教师端极域电子教室的反控制实现
  13. CRM客户关系管理系统源码 CRM小程序源码
  14. C语言运行时间过长假死,解决xcode打开时loading假死的问题
  15. 深度分析:OA产品的技术发展过程及未来趋势
  16. Vue脚手架的三种安装方式
  17. 参考分享《Python深度学习》高清中文版pdf+高清英文版pdf+源代码
  18. kicad最小布线宽度默认是多少_常见停车场管理系统项目的安装布线及注意事项...
  19. android 同步短信到iphone,教你把短信从安卓同步到iPhone
  20. 计算机如何共享手机网络,怎么把电脑网络共享给手机

热门文章

  1. java 判断是否是int_java判断是否int类型的方法
  2. SQL Server删除表及删除表中数据的方法
  3. CAD控件:在安卓,苹果手机当中浏览和编辑DWG
  4. 微软庆祝微软鼠标诞生 30 年
  5. esper java_java-从Esper套接字开始
  6. 数模电路基础知识 —— 6. 常见电路符号说明(晶闸管)
  7. JEECG配置Kisso单点登录
  8. charles、Fiddler抓取https原理
  9. BAT大数据电商画像实战
  10. 树莓派利用FTP搭建文件服务器教程