python3.6 sklearn(1)

Python3.6 scikit-learn(1)

1. 机器学习方法的分类

  • 监督学习
  • 无监督学习
  • 半监督学习
  • 强化学习
  • 遗传算法

2. scikit-learn

2.1 sklearn中的通用学习模式

sklearn 中有自带的数据库,可以通过导入模块的数据库来进行训练学习,导入方式如下:

import numpy as np
from sklearn import datasets
from sklearn.cross_validation import train_test_split 
from sklearn.neighbors import KNeighborsClassifier    #KNN

在以上导入的数据集以及方法中,sklearn.cross_validation1.9版本之后就被弃用了,1.9之后的版本中要用 sklearn.model_selection 来进行相关的操作,后面的东西都一样。

2.2 通过KNN算法实现分类

​ 通过sklearn中自带的KNN学习算法,可以对datasets中的鸢尾花 (iris) 实现分类,具体的过程如下:

iris = datasets.load_iris()  #导入iris数据集
iris_X = iris.data  #iris的特征数据
iris_y = iris.target #iris的分类

#print (iris_X[:2,:])
#划分训练集与测试集,其中测试集占总数据的30%
X_train, X_test, y_train, y_test = train_test_split(iris_X, iris_y, test_size=0.3)
knn = KNeighborsClassifier()  #导入KNN算法
knn.fit(X_train, y_train)  #KNN对于X,y进行学习
print (knn.predict(X_test)) #模型在X测试集上的预测
print (y_test)  #真实的情况

​ 程序最后的输出结果如下:

knn.predict(X_test):
[1 0 2 0 2 1 1 2 1 2 2 2 2 0 1 2 1 0 2 1 0 2 2 2 1 0 1 2 2 0 2 2 1 1 0 0 1 1 0 0 1 0 2 1 1]
y_test:
[1 0 2 0 2 1 1 2 1 2 2 2 2 0 1 2 1 0 2 1 0 2 2 2 1 0 1 2 2 0 2 2 1 1 0 0 1 1 0 0 1 0 2 2 1]

​ 通过对比上述结果可以看到,模型预测的情况与真实情况并不是完全的相同,这也是所有机器学习算法的特点,即不可能做到对于结果的100%正确预测。


©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容