[机器学习]Scikit-Learn学习笔记02——Scikit-Learn学习方式

Scikit-Learn把所有的机器学习算法都整合在一起了,根据需要选取相应的学习算法. 
Scikit-Learn通用的学习步骤:

1.数据 
2.根据数据特点选取相对应的算法 
3.建立模型 
3.预测数据

1.数据

scikit-learn 内置有一些小型标准数据集,不需要从某个外部网站下载任何文件。

1) boston 房价, 
2) 糖尿病, 
3) 数字 
4) Iris 花 
[机器学习]Scikit-Learn学习笔记02——Scikit-Learn学习方式_第1张图片 
注意:这些数据集有助于快速说明在 scikit 中实现的各种算法的行为。然而,它们数据规模往往太小,无法代表真实世界的机器学习任务。

以Iris 花为例来学习下Scikit-Learn使用的一般步骤,这种花有四个属性,花瓣的长宽,茎的长宽,根据这些属性把花分为三类,我们要使用分类器把花分开. 
[机器学习]Scikit-Learn学习笔记02——Scikit-Learn学习方式_第2张图片

利用KNN实现花分类步骤:

导入模块
from sklearn import dataset
from sklearn.model_selection
import train_test_splitfrom sklearn.neighbors
import KNeighborsClassifier

加载数据

iris = datasets.load_iris()iris_X = iris.datairis_y = iris.target

把数据集分为训练集和测试集,其中 test_size=0.2,即测试集占总数据的 20%:

X_train, X_test, y_train, y_test = train_test_split(
    iris_X, iris_y, test_size=0.2)
建立模型
knn = KNeighborsClassifier()
预测
knn.fit(X_train, y_train)print(knn.predict(X_test))print(y_test)

结果

预测值:[2 2 2 0 1 1 1 1 0 0 1 2 2 0 0 1 1 1 2 0 1 1 0 0 2 2 0 0 0 2]

真实值:[2 2 2 0 1 1 1 1 0 0 1 2 2 0 0 1 1 2 2 0 1 1 0 0 2 2 0 0 0 2]

640?wx_fmt=jpeg 
对比用模型预测的值与真实的值,可以看到大概模拟出了数据,但是有误差,是不会完完全全预测正确的。

完整程序
import numpy as npfrom sklearn 
import datasetsfrom sklearn.cross_validation
import train_test_splitfrom sklearn.neighbors
import KNeighborsClassifier iris = datasets.load_iris() iris_X = iris.data iris_y = iris.target
# print(iris_X[:6, :])
# print(iris_y)
X_train, X_test, y_train, y_test = train_test_split(    iris_X, iris_y, test_size=0.2)
# print(y_train)
knn = KNeighborsClassifier() knn.fit(X_train, y_train) print(knn.predict(X_test)) print(y_test)

你可能感兴趣的:([机器学习]Scikit-Learn学习笔记02——Scikit-Learn学习方式)