本专题主要是记录作者在学习使用sklearn工具箱时的一些案例经验及心得体会。
scikit-learn (sklearn) 是一个Python第三方提供的非常强力的机器学习库,它包含了从数据预处理到训练模型的各个方面。在实战使用scikit-learn中可以极大的节省我们编写代码的时间以及减少我们的代码量,使我们有更多的精力去分析数据分布,调整模型和修改超参。(sklearn为包名)
其官方中文文档网址为:https://www.cntofu.com/book/170/index.html
pip install -U scikit-learn
代码如下(示例):
from sklearn import *
datasets模块是sklearn中的重要部分,主要用于读取、创建、划分数据集。
1> 读取数据集
2> 生成数据集
创建分类数据集代码如下(示例):
from sklearn import datasets
x, y = datasets.make_classification(n_samples=1000, # 样本个数
n_features=100, # 特征个数
n_informative=3, # 有效特征个数
n_redundant=2, # 冗余特征个数(有效特征的随机组合)
n_repeated=0, # 重复特征个数(有效特征和冗余特征的随机组合)
n_classes=2, # 样本类别
n_clusters_per_class=1, # 簇的个数
random_state=0)
3> 划分数据集
划分数据集为训练集、测试集代码如下(示例):
# 划分数据集,把数据集随机划分成训练集和测试集,其中测试集占20%。
train_X, test_X, train_Y, test_Y = train_test_split(x,
y,
test_size=0.2,
random_state=66)
sklearn拥有可以用于监督和无监督学习的方法,一般来说监督学习使用的更多。sklearn中的大部分函数可以归为估计器(Estimator)和转化器(Transformer)两类。
估计器(Estimator)其实就是模型,它用于对数据的预测或回归。基本上估计器都会有以下几个方法:
以以上创建的分类数据集为例,使用KNN模型对其进行训练和预测:
KNN训练和预测代码如下(示例):
from sklearn.neighbors import KNeighborsClassifier
knn = KNeighborsClassifier(n_neighbors=5)
knn.fit(train_X, train_Y)
pred_Y = knn.predict(test_X)
转化器(Transformer)用于对数据的处理,例如标准化、降维以及特征选择等等。同与估计器的使用方法类似:
本文是作者在不断的学习中持续进行更新,其中有很多都是搬运学习资料的内容。
目前处于持续更新中~~~~~~~~~~~~~~~~~~~