sklearn简介
scikit-learn(sklearn),是一个开源的基于python语言的机器学习工具包。它通过NumPy, SciPy和Matplotlib等python数值计算的库实现高效的算法应用,并且涵盖了几乎所有主流机器学习算法,包括回归(Regression)、降维(Dimensionality Reduction)、分类(Classfication)、聚类(Clustering)等方法。
sklearn有一个完整而丰富的官网,里面讲解了基于sklearn对所有算法的实现和简单应用。
SKlearn官网链接
sklearn特点
- 简单高效的数据挖掘和数据分析工具
- 可供大家在各种环境中重复使用
- 建立在 NumPy ,SciPy 和 matplotlib 上
- 开源,可商业使用 - BSD许可证
sklearn安装
安装最新版本
Scikit-learn 要求:
- Python (>= 3.5),
- NumPy (>= 1.11.0),
- SciPy (>= 0.17.0),
- joblib (>= 0.11).
pip install -U scikit-learn
或者 conda
:
conda install scikit-learn
下面用实际的案例给大家讲解一下sklearn
的使用
鸢尾花的分类
初识数据
iris 鸢尾花数据集包含 3 类共 150 条记录(每类各 50 条),每条记录都有 4 项特征:花萼长度、花萼宽度、花瓣长度、花瓣宽度,可以通过这4个特征预测鸢尾花卉属于3类(iris-setosa, iris-versicolour, iris-virginica)中的哪一类品种。
数据集将setosa,versicolor,virginnica类别标记为0,1,2
我们的目标是建立一个基础的机器学习的模型通过四个特征数据预测鸢尾花的品种。这是最基础的三分类问题。
sklearn
数据集中自带了鸢尾花的数据和标签
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
导入数据和标签
iris = load_iris()
x = iris.data
y = iris.target
观察数据:
将数据打乱并分为训练数据,测试数据,训练标签,测试标签
#测试数据设为30条
train_x,val_x,train_y,val_y = train_test_split(x,y,test_size=30)
导入逻辑回归模型
from sklearn.linear_model import LogisticRegression
训练模型
model = LogisticRegression().fit(train_x,train_y)
评估模型
model.score(val_x,val_y)
#评估精度为0.9666666666666667
完整代码实现:
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
iris = load_iris()
x = iris.data
y = iris.target
train_x,val_x,train_y,val_y = train_test_split(x,y,test_size=30)
model = LogisticRegression().fit(train_x,train_y)
model.score(val_x,val_y)
以上就是今天博主和大家分享的案例了,是不是突然觉得机器学习很简单了?当然这只是一个最简单的入门案例,要深入学习还是需要靠大家的努力了,希望大家能继续进步。
ps:这里分享一张sklearn
如何选择模型的图。