【机器学习&深度学习】05 sklearn简单基础

1 介绍

scikit-learn是基于 Python 语言的机器学习工具包。有六大功能模块分别是分类、回归、聚类、数据降维、模型选择和数据处理。

2 分类

将此模块函数进行分类:估计器(Estimatior)和转化器(Transformer)

2.1 估计器

分类(Classification):识别样本属于哪个类别,常用算法有 SVM(支持向量机)、nearest neighbors(最近邻)、random forest(随机森林)

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

聚类(Clustering):对样本进行无监督的自动分类,常用算法有 k-Means(k均值)、spectral clustering(特征聚类)、mean-shift(均值漂移)

绝大多数估计器的使用流程都如下:

  • 实例化模型:模型在实际训练前通常需要进行实例化,及将各种需要设定的超参数输入模型中。

    lr = LogisticRegression(max_iter=50)
    

    这里我们实例化了一个逻辑回归模型,并设置最大迭代次数为50。

  • 训练模型:传入数据及对应标签即可训练模型。该过程会使用函数 fit(x, y) 实现。

    lr.fit(train_x, trian_y)
    

    这里我们将训练数据 train_x 和对应标签 train_y 输入到已经初始化完成的逻辑回归模型中并进行训练。

  • 用模型进行预测:使用训练好的模型对测试数据进行预测并返回测试结果。该过程会使用函数 predict(x) 实现。

    prediction = lr.predict(test_x)
    

    这里我们用已经训练好的逻辑回归模型对测试数据 test_x 进行预测,并将预测的结果储存在变量 prediction 中。注意预测的结果将以 ndarray 的格式储存。

2.2 转化器

数据降维(Dimensionality reduction):减少相关变量维数,常用算法有 PCA(主成分分析)、feature selection(特征选择)、non-negative matrix factorization(非负矩阵分解)

数据处理(Preprocessing):特征提取和归一化,常用模块有 preprocessing(预处理),feature extraction(特征提取)

模型选择(Model Selection):比较,验证,选择参数和模型,常用模块有 grid search(网格搜索)、cross validation(交叉验证)、 metrics(度量)

绝大多数估计器的使用流程都如下:

  • 根据输入的数据和(或)标签确定如何进行数据变换。这一过程常用函数 fit(x, y) 完成。

    StandardScaler().fit(input_data)
    

    这里我们调用标注化函数 StandardScaler() 计算对输入数据 input_data 的标准化参数。

  • 根据已经计算出来的变换方式对数据进行变换。这一过程常用函数 transform(x) 完成。

    StandardScaler().transform(input_data)
    

    这里我们使用计算出来的标准化方法通过 transform() 对输入数据 input_data 进行标准化。

  • 有时候我们一次性完成变换方法的计算和对数据的变换,我们可以使用函数 fit_transform(x, y) 完成。

    StandardScaler().fit_transform(input_data)
    

    这里我们使用 fit_transform() 函数直接对数据 input_data 完成了标准化方式的计算和标准化。

3 基于 MNIST 数据集的手写数字图像识别

参考文章

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

吃_早餐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值