sklearn学习总结


前言

本专题主要是记录作者在学习使用sklearn工具箱时的一些案例经验及心得体会。

一、SKlearn是什么?

scikit-learn (sklearn) 是一个Python第三方提供的非常强力的机器学习库,它包含了从数据预处理到训练模型的各个方面。在实战使用scikit-learn中可以极大的节省我们编写代码的时间以及减少我们的代码量,使我们有更多的精力去分析数据分布,调整模型和修改超参。(sklearn为包名)
其官方中文文档网址为:https://www.cntofu.com/book/170/index.html

二、使用步骤

1. 安装sklearn库

pip install -U scikit-learn

2. 引入库

代码如下(示例):

from sklearn import *

3. API使用测试

3.1 datasets模块

datasets模块是sklearn中的重要部分,主要用于读取、创建、划分数据集。
1> 读取数据集

  • 自带的小数据集(packaged dataset):sklearn.datasets.load_(name)
  • 可在线下载的数据集(Downloaded Dataset):sklearn.datasets.fetch_(name)
  • 计算机生成的数据集(Generated Dataset):sklearn.datasets.make_(name)
  • svmlight/libsvm格式的数据集:
    sklearn.datasets.load_svmlight_file(…)
  • 从买了data.org在线下载获取的数据集:
    sklearn.datasets.fetch_mldata(…)

2> 生成数据集
创建分类数据集代码如下(示例):

from sklearn import datasets
x, y = datasets.make_classification(n_samples=1000,        # 样本个数
                                    n_features=100,          # 特征个数
                                    n_informative=3,        # 有效特征个数
                                    n_redundant=2,          # 冗余特征个数(有效特征的随机组合)
                                    n_repeated=0,           # 重复特征个数(有效特征和冗余特征的随机组合)
                                    n_classes=2,            # 样本类别
                                    n_clusters_per_class=1, # 簇的个数
                                    random_state=0)

3> 划分数据集
划分数据集为训练集、测试集代码如下(示例):

# 划分数据集,把数据集随机划分成训练集和测试集,其中测试集占20%。
train_X, test_X, train_Y, test_Y = train_test_split(x,
                                                    y,
                                                    test_size=0.2,
                                                    random_state=66)

3.2 sklearn监督、非监督学习模块

sklearn拥有可以用于监督和无监督学习的方法,一般来说监督学习使用的更多。sklearn中的大部分函数可以归为估计器(Estimator)和转化器(Transformer)两类。

  • 估计器(Estimator)其实就是模型,它用于对数据的预测或回归。基本上估计器都会有以下几个方法:

    • fit(x,y) :传入数据以及标签即可训练模型,训练的时间和参数设置,数据集大小以及数据本身的特点有关
    • score(x,y)用于对模型的正确率进行评分(范围0-1)。但由于对在不同的问题下,评判模型优劣的的标准不限于简单的正确率,可能还包括召回率或者是查准率等其他的指标,特别是对于类别失衡的样本,准确率并不能很好的评估模型的优劣,因此在对模型进行评估时,不要轻易的被score的得分蒙蔽。
    • predict(x)用于对数据的预测,它接受输入,并输出预测标签,输出的格式为numpy数组。我们通常使用这个方法返回测试的结果,再将这个结果用于评估模型。

以以上创建的分类数据集为例,使用KNN模型对其进行训练和预测:
KNN训练和预测代码如下(示例):

from sklearn.neighbors import KNeighborsClassifier
knn = KNeighborsClassifier(n_neighbors=5)
knn.fit(train_X, train_Y)
pred_Y = knn.predict(test_X)
  • 转化器(Transformer)用于对数据的处理,例如标准化、降维以及特征选择等等。同与估计器的使用方法类似:

    • fit(x,y) :该方法接受输入和标签,计算出数据变换的方式。
    • transform(x) :根据已经计算出的变换方式,返回对输入数据x变换后的结果(不改变x)
    • fit_transform(x,y) :该方法在计算出数据变换方式之后对输入x就地转换。

总结

本文是作者在不断的学习中持续进行更新,其中有很多都是搬运学习资料的内容。
目前处于持续更新中~~~~~~~~~~~~~~~~~~~

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
scikit-learn是一个Python机器学习库,提供了丰富的工具和函数来支持数据挖掘和数据分析任务。下面是一个关于sklearn的脑图的简要回答。 脑图主题:sklearn脑图 1. sklearn简介: - sklearn是一个Python的机器学习库。 - 提供了各种机器学习算法和数据预处理工具。 - 可以用于分类、回归、聚类等机器学习任务。 2. 数据预处理: - 包括数据清洗、特征提取和数据转换等步骤。 - 提供了标准化、归一化、编码等数据预处理工具。 - 可以处理缺失值、异常值和重复值等数据质量问题。 3. 机器学习算法: - 包括监督学习和无监督学习算法。 - 监督学习算法包括K近邻、决策树、支持向量机等。 - 无监督学习算法包括聚类、降维、异常检测等。 4. 模型评估和选择: - 提供了交叉验证、网格搜索等模型评估和选择工具。 - 可以评估模型的准确性、精确度、召回率等指标。 - 可以选择最优的模型参数和超参数。 5. 结果可视化: - 提供了绘图工具来可视化模型的结果和分析。 - 可以绘制特征重要性图、学习曲线等。 - 可以帮助理解模型和结果,进行模型解释。 6. 扩展和整合: - 可以与其他Python库和工具进行整合,如pandas、numpy等。 - 提供了丰富的API和接口,方便扩展和自定义。 - 社区活跃,提供了丰富的示例和文档。 总结sklearn是一个强大的Python机器学习库,提供了丰富的工具和函数来支持数据挖掘、数据分析和机器学习任务。通过sklearn,可以进行数据预处理、机器学习算法实现、模型评估和选择以及结果可视化。同时,它还支持与其他Python库和工具的整合和扩展。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值