Sklearn工具包及模型评估

一、Sklearn工具包介绍

  scikit-learn,又写作sklearn,是一个开源的基于python语言的机器学习工具包。它通过NumPy, SciPy和Matplotlib等python数值计算的库实现高效的算法应用,并且涵盖了几乎所有主流机器学习算法。

  官网:https://scikit-learn.org/stable/index.html

1、常用模块

  Sklearn中常用模块:分类(Classification)、回归(Regression)、聚类(Clustering)、降维(Dimensionality reduction)、模型选择(Model selection)、数据预处理(Preprocessing)。

  分类:识别某个对象属于哪个类别,常用的算法有:SVM(支持向量机)、nearest neighbors(最近邻)、random forest(随机森林),常见的应用有:垃圾邮件识别、图像识别。

  回归:预测与对象相关联的连续值属性,常见的算法有:SVR(支持向量机)、 ridge regression(岭回归)、Lasso,常见的应用有:药物反应,预测股价。

  聚类:将相似对象自动分组,常用的算法有:k-Means、 spectral clustering、mean-shift,常见的应用有:客户细分,分组实验结果。

  降维:减少要考虑的随机变量的数量,常见的算法有:PCA(主成分分析)、feature selection(特征选择)、non-negative matrix factorization(非负矩阵分解),常见的应用有:可视化,提高效率。

  模型选择:比较,验证,选择参数和模型,常用的模块有:grid search(网格搜索)、cross validation(交叉验证)、 metrics(度量)。它的目标是通过参数调整提高精度。

  预处理:特征提取和归一化,常用的模块有:preprocessing,feature extraction,常见的应用有:把输入数据(如文本)转换为机器学习算法可用的数据。

2、模型评估: 量化预测的质量

  有 3 种不同的 API 用于评估模型预测的质量:

二、SciKit-Learn数据集

  sklearn.datasets 模块 包含加载数据集的实用程序,包括加载和获取流行引用数据集的方法。它还具有一些人工数据生成器。

  更多细节查看: Dataset loading utilities

1、加载数据集

  数据科学的第一步通常是加载数据,首先需要学会如何使用SciKit-Learn来加载数据集。

  数据集的来源通常是自己准备或第三方处获取。非研究人员,通常是从第三方获取数据。可以下载获取数据集的网站:

  SciKit-Learn库中,也有自带一些数据集可以尝试加载。

  datasets模块中也包含了获取其他流行数据集的方法,例如datasets.fetch_openml可以从openml存储库获取数据集。

  在sklearn的0.2版本中,fetch_mldata函数已经被fetch_openml函数取代,例如加载MNIST数据集。

def get_data():
    """
    Get MNIST data ready to learn with.
    :return:
    """
    # 在sklearn的0.2版本中,fetch_mldata函数已经被fetch_openml函数取代
    from sklearn.datasets import fetch_openml     # 通过名称或数据集ID从openml获取数据集

    # 查询到我电脑上的scikit data home目录
    from sklearn.datasets.base import get_data_home
    print(get_data_home())             # C:\Users\hqs\scikit_learn_data

    # Mnist 数据是图像数据:(28,28,1)的灰度图
    mnist = fetch_openml('mnist_784')
    # print(mnist)

    X, y = mnist["data"], mnist["target"]
    X.shape    # (70000, 784)
    y.shape    # (70000,)

2、数据集切分

  将数据集切分为训练集、测试集。

def get_data():
    """
    Get MNIST data ready to learn with.
    :return:
    """
    # 在sklearn的0.2版本中,fetch_mldata函数已经被fetch_openml函数取代
    from sklearn.datasets import fetch_openml     # 通过名称或数据集ID从openml获取数据集

    # 查询到我电脑上的scikit data home目录
    from sklearn.datasets.base import get_data_home
    print(get_data_home())             # C:\Users\hqs\scikit_learn_data

    # Mnist 数据是图像数据:(28,28,1)的灰度图
    mnist = fetch_openml('mnist_784')
    # print(mnist)

    X, y = mnist["data"], mnist["target"]
    X.shape    # (70000, 784)
    y.shape    # (70000,)

    # 切分为训练集和测试集
    X_train, X_test, y_train, y_test = X[:60000], X[60
  • 0
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值