SKlearn学习1

SKlearn学习1

  • MG学习SKlearn之路
    • SKlearn自带的数据集预处理
    • 数据的规范化
    • 本章用到的SKlearn分类模式
    • 交叉验证
    • 修正过拟合
    • 保存模型
    • 参考资料

MG学习SKlearn之路

大家好!这是我第一次写博客,目前的我还是个小白,学习的资源大部分是来源与其他大佬写的博客和网站,目前我只是对其进行自我归纳和总结,有错误的地方请大佬们指出,日后会不定时更新,谢谢大家。

SKlearn自带的数据集预处理

from sklearn import datasets #导入数据集包。
学习过程中常用到的数据集有:

	datas=datasets.load_iris()#鸢尾花数据集,特征变量为4
	datas=datasets.load_boston()#波士顿房价数据集,datas.shape=[506,13]
	datas=datasets.load_digits()#手写字体数据集

数据分割:

	X=datas.data#测试数据
	y=datas.target#标签数据
	from sklearn.model_selection import train_test_split#将数据分为测试集和训练集
    X_train,X_test,y_train,y_test=train_test_split(X,y,test_size=0.3)#test_size-0.3,即70%为训练集、30%为测试集

数据的规范化

from sklearn import prepocessing:该包提供有几种不同方式将数据规范化的函数。
(1)X=prepocessing.scale(X)#将均值=0、方差=1;
(2)X=prepocessing.minmax_scale(X,feature_range=(low,high),axis=0,copy=True)#feature_range:缩放范围、axis=0:独立的标准化每个特征(按列);axis=1:标准化每个样本(按行)。数学公式:X=(X-X.min)/(X.max-X.min)*(high-low)+low

本章用到的SKlearn分类模式

#1、
from sklearn.neighbors import KNeighborsClassifier
KNeighborsClassifier.fit(X_test,y_train)#利用k邻近方式训练
#2、
from sklearn.svm import SVC#支持向量机
SVC.fit(X_test,y_train)

交叉验证

常用的交叉验证方法:5折交叉验证: SKlearn学习1_第1张图片
导入交叉验证包:

from sklearn.model_selection import cross_val_score#引入交叉验证
#选择邻近的5个点
knn=KNeighborsClassifier(n_neighbors=5)
scores=cross_val_score(knn,X,y,cv=5,scoring='accuracy')
scores_mean=scores.mean()#所有评分的均值

cross_val_score方法:对数据集进行多次分割,根据不同的训练集进行模型训练,再通过每次分的测试集进行模型评分;获得scores(numpy.ndarray)类型的评分。

参数:
cv:分割的次数
scoring:评分的方法。'accuracy’表示根据准确度评分

修正过拟合

常用模型调优的函数:

from sklearn.model_selection import validation_curve
from sklearn.model_selection import learning_curve

learning_curve():通过可视化模型判断是否过拟合
validation_curve():通过查看不同参数取值下模型的性能

保存模型

SKlearn有自带的保存模块.
模型保存:

from sklearn.externals import joblib
joblib.dump(model,path)#model:要保存的模型;path:保存路径

加载模型:

model=joblib.load(path)

参考资料

Python之Sklearn使用教程](https://www.jianshu.com/p/6ada34655862)

你可能感兴趣的:(sklearn)