机器学习--scikit-learn库(1)

版权声明: https://blog.csdn.net/qq_40589051/article/details/82107915

用python来实现机器学习是很简单滴~

这是我看了莫烦python中的scikit—learn库之后的一些自己的理解。

不过我还是有一些问题的:

1.scikit-learn库是什么?

2.这个库怎么用?

3.scikit-learn库的官网的文档到底怎么查啊怎么使用啊?

这都将在scikit-learn学习笔记中写下。

1.scikit-learn库是什么

这里是官网:scikit-learn: machine learning in Python — scikit-learn 0.19.2 documentation
http://scikit-learn.org/stable/index.html

官方解释是:用python实现机器学习的一个库,简单高效的对数据分析挖掘,大家都可以用啊巴拉巴拉的~

2.库的使用

今天学习到的库的使用方法是这样的通用学习模式:

step1:加载数据

step2:划分训练集与测试集

step3:模型的拟合和预测

step4:模型性能验证。比如精确度,错误率之类的。

下面来一个例子:

利用scikit-learn中的自带数据库中的花的数据进行花的种类分类。

先上代码,利用的分类模型是knn。

import numpy as np
from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier

#加载数据
iris = datasets.load_iris()#引入库中自带的花的数据集,这个花分类有三种。
iris_x = iris.data#花的特征数据列
iris_y = iris.target#花的分类列

#划分训练集与测试集
x_train,x_test,y_train,y_test = train_test_split(iris_x,iris_y,
                                                 test_size=0.3,
                                                 random_state=0)
#model的拟合,在这里使用KNN,监督学习
model = KNeighborsClassifier(n_neighbors=5)
model.fit(x_train,y_train)

#模型验证性能,这里性能验证是准确度
print(model.predict(x_test))#预测值
print(y_test)#真实值
print(model.score(x_test,y_test))#准确度 R^2 

在划分训练集与测试集的部分中,使用到了这个方法:train_test_split(),其中测试集大小为0.3的比例,random_state的意思是每次划分的数据集是否要一样,设置为0就是不一样,设置为其他数字就是一样。x_train,y_train,是测试集,用于fit(拟合)模型,而y_test是真实值,x_test是测试集,为的是在model.predict()时使用从而得到预测值。当然还有其他的划分函数,这个后面再说啦~

在验证模型性能的部分中,model.score(),默认的是R^2检测(coefficient determination)。 其他的后面再说。

运行结果如下:

以上是scikit-learn的通用使用模板,换成svm,logistic regression也是一样的。这是最简单的使用 方式。后续会介绍更加复杂的如何查看是否过拟合,如何修正模型等。

猜你喜欢

转载自blog.csdn.net/qq_40589051/article/details/82107915