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

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

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

1.数据

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

1) boston 房价,
2) 糖尿病,
3) 数字
4) Iris 花
这里写图片描述
注意:这些数据集有助于快速说明在 scikit 中实现的各种算法的行为。然而,它们数据规模往往太小,无法代表真实世界的机器学习任务。

以Iris 花为例来学习下Scikit-Learn使用的一般步骤,这种花有四个属性,花瓣的长宽,茎的长宽,根据这些属性把花分为三类,我们要使用分类器把花分开.
这里写图片描述

利用KNN实现花分类步骤:

导入模块
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

把数据集分为训练集和测试集,其中 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]

这里写图片描述
对比用模型预测的值与真实的值,可以看到大概模拟出了数据,但是有误差,是不会完完全全预测正确的。

完整程序
import numpy as np
from sklearn import datasets
from sklearn.cross_validation import train_test_split
from 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)

猜你喜欢

转载自blog.csdn.net/baihuaxiu123/article/details/80349154
今日推荐