A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

用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也是一样的。这是最简单的使用 方式。后续会介绍更加复杂的如何查看是否过拟合,如何修正模型等。



1 个回复

倒序浏览
奈斯,加油加油
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马