7.1 Scikit-learn库简介及快速入门

7.1.1 Scikit-learn简介

Scikit-learn(以下简称sklearn)是开源的Python机器学习库,它基于Numpy和Scipy,提供了大量用于数据挖掘和分析的工具,包括数据预处理、交叉验证、算法与可视化算法等一系列接口。sklearn的官方网站是http://scikit-learn.org/stable/,在上面可以找到相关的Scikit-Learn的资源,模块下载,文档,例程等。
sklearn的基本功能主要被分为六个部分,分类,回归,聚类,数据降维,模型选择,数据预处理,具体可以参考官方网站上的文档。

7.1.2 Scikit-learn快速入门

sklearn可以独立完成机器学习的以下六个步骤,

  1. 选择数据,即将数据分成三组,分别是训练数据、验证数据和测试数据。
  2. 模拟数据,使用训练数据来构建使用相关特征的模型。
  3. 验证模型,使用验证数据接入模型。
  4. 测试模型,使用测试数据检查被验证的模型的表现。
  5. 使用模型,使用完全训练好的模型在新数据上做预测。
  6. 调优模型,使用更多数据、不同的特征或调整过的参数来提升算法的性能表现。
    此外sklearn支持多种格式的数据,下面以该库内置的莺尾花(iris)数据集为例,通过k邻近算法,利用scikit-learn模块对数据进行分析,示例代码:
from sklearn import neighbors, datasets, preprocessing
from sklearn.cross_validation import train_test_split
from sklearn.metrics import accuracy_score
iris = datasets.load_iris()      #通过数据集导入iris数据
X, y = iris.data[:, :2], iris.target      #将iris数据的自变量和结果标签分别赋予向量X和y
X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=33)      #切分数据集分别为训练集和测试集
scaler = preprocessing.StandardScaler().fit(X_train)    #数据预处理,即数据标准化
X_train = scaler.transform(X_train)
X_test = scaler.transform(X_test)
knn = neighbors.KNeighborsClassifier(n_neighbors=5)    #导入k近邻算法
knn.fit(X_train, y_train)      #模拟数据模型
y_pred = knn.predict(X_test)    #预测结果
accuracy_score(y_test, y_pred)    #测试预测结果的准确率

运行结果:

0.63157894736842102

在本例中,通过sklearn库分别导入了k近邻算法的neighbors模块,内置的数据集datasets模块和数据预处理preprocessing模块,此外按照数据分析的流程,还导入了交叉验证模块cross_validation,以及检验数据模型效果的metrics模块。
此程序运行的结果即为该模型经过测试集检验得出的准确率。

    原文作者:火锅侠
    原文地址: https://www.jianshu.com/p/10ebff0e6d02
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞