[Scikit-learn教程] 02.01 统计学习:基本设置和预测器对象

欢迎访问集智主站:集智,通向智能时代的引擎

注意!

本文所有代码均可在集智原贴中运行调试(无需安装环境),请点击这里前往原贴

随着实验科学中的数据量急速增长,机器学习这门技术的重要性也与日俱增,其解决的问题包括建立预测方程以关联观察结果,对观察结果进行分类,或是从没有标签的数据集中挖掘规律。

本教程面向统计学习,即基于统计原理应用机器学习技术:从数据中得出结论。 Scikit-learn是一个Python模块,整合了经典机器学习算法和常用的Python科学计算包(NumPy, SciPy, matplotlib)。

数据集

Scikit-learn以二维数组形式处理来自一个或多个数据集的学习信息,可以理解为一组多维的观察结果。一般称第一个轴为“样本轴”,第二个为“特征轴”。

鸢尾花:Scikit-learn内置的简单数据集范例

# 从scikit-learn库中导入数据集模块datasets
from sklearn import datasets

# 调用datasets的load_iris()方法创建对象,并赋值给变量iris
iris = datasets.load_iris()

# 将对象iris的data属性抽取出来,赋值给变量data
data = iris.data

# 输出data的shape属性
print(data.shape)

from sklearn import datasets
iris = datasets.load_iris()
data = iris.data
data.shape
复制代码

如果数据的初始形状并非(n_samples, n_features),则需要预处理以便在scikit-learn中使用。 当然了如果你的Python基础还不牢固,也欢迎到集智课堂里巩固一下基础

数字数据集:数据变形的举例

数字数据集有1797个8×8的手写数字像素图像组成

%matplotlib inline
from sklearn import datasets
# 导入digits数据集并输出其规模
digits = datasets.load_digits()
digits.images.shape

# 导入绘图扩展包matplotlib
import matplotlib.pyplot as plt

# 以灰度图像形式输出-1的像素图
plt.imshow(digits.images[-1], cmap=plt.cm.gray_r) 

# 为了在Scikit中应用这组数据集,我们把8x8的图像转换成长度为64的矢量。
data = digits.images.reshape((digits.images.shape[0], -1))
digits = datasets.load_digits()
digits.images.shape

import matplotlib.pyplot as plt 
plt.imshow(digits.images[-1], cmap=plt.cm.gray_r) 

# 为了在Scikit中应用这组数据集,我们把8x8的图像转换成长度为64的矢量。
data = digits.images.reshape((digits.images.shape[0], -1))
digits.images.shape==(1797,8,8)
复制代码

预测器对象

拟合数据:预测器是Scikit-learn的主API,可以是任意从数据中学习的对象,比如分类,回归或聚类算法,抑或是从原始数据中抽取/过滤有效特征的转换器。

所有预测器对象都有以数据集(通常为2D数组)为输入参数的fit方法:

estimator.fit(data)

# 预测器参数:所有的预测器参数都可以在实例化的时候指定,或之后修改相应属性。
estimator = Estimator(param1=1, param2=2)
复制代码

推荐阅读

“女生科技体验节” TensorFlow Workshop

这评论有毒!——文本分类的一般套路

我做了一个叫“瑟曦”的机器人,可是她动不动就想让格雷果爵士弄死我。

    原文作者:python入门
    原文地址: https://juejin.im/post/5a7a9bf96fb9a0634a38fc52
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞