[机器学习]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)
阅读更多

扫码向博主提问

刘玉刚-AI-技术研究院

博客专家

非学,无以致疑;非问,无以广识
  • 擅长领域:
  • 机器学习
  • 深度学习 
  • 自然语言处理
  • HTML5
去开通我的Chat快问
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/BaiHuaXiu123/article/details/80349154
文章标签: 机器学习
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

  • 评论

  • 快问
  • 上一篇
  • 下一篇
关闭