收获未知 发表于 2023-12-2 16:21:57

【scikit-learn基础】--概述

Scikit-learn是一个基于Python的开源机器学习库,它提供了大量的机器学习算法和工具,方便用户进行数据挖掘、分析和预测。
Scikit-learn是基于另外两个知名的库 Scipy 和 Numpy的,
关于 Scipy 和 Numpy 等库,之前的系列文章中有介绍:

[*]Scipy 基础系列
[*]Numpy 基础系列
1. 概要

自从AlphaGo再度带起机器学习和AI的热潮以来,我们听到最多的机器学习框架是 TensorFlow,PyTorch以及Keras等等。
Scikit-learn与它们相比,知名度要低不少,这是因为Scikit-learn库关注的是传统的机器学习领域中经典的,被广泛应用和验证的算法。
它完全不涉及TensorFlow,PyTorch以及Keras等框架所在的深度学习领域。
虽然看起来Scikit-learn似乎远远不如那些流行的深度学习框架,
但从我个人的经验来看的话,学习和掌握Scikit-learn的意义远远大于那些深度学习框架。
首先,Scikit-learn历史悠久,发展至今,不仅提供了丰富的文档和参考样例,甚至连训练数据都准备好了,随时都可以拿来实验机器学习算法。
其次,深度学习虽好,但是使用要求也高。
除了掌握其算法,还必须有大量的数据和高性能的硬件,这绝不是个人和普通企业所能提供的。
未来,大概率是由几个头部大企业训练出模型,然后开放API给我们使用,个人和中小企业训练自己的深度学习模型的概率并不高。
而Scikit-learn则与之不一样,它所包含的传统机器学习中的很多优秀算法并不需要海量的数据,在数据量不大的情况下依旧可以训练出优秀的模型。
最后,就我自己平时的数据分析相关项目的实践来看,Scikit-learn是一个真正称手的工具。
我平时的项目中会接触到各类数据,比如气象数据,销售数据,还有一些交易类的数据等等,
由于服务的客户规模不大,所以数据量一般最多也就千万级别。
使用Scikit-learn,能够方便快速的从这些数据中分析出有意义结果。
举个不太恰当的例子,目前流行的深度学习框架相对于Scikit-learn,就像飞机相对于自行车或小汽车。
学会开飞机后,可能实操的机会并不多(除非你在大厂的AI部门);
但是学会骑车和开车,总会有用到它的地方,而且由于其便利简单,还会越用越多。
2. 主要模块

Scikit-learn的主要功能包括数据预处理,模型选择,数据降维,分类,回归和聚类等。

[*]数据预处理包括数据的特征提取、归一化、标准化等。
[*]模型选择是对给定参数和模型进行比较、验证和选择,以提升预测精度。
[*]数据降维是通过降维技术来减少要考虑的随机变量的个数,常见的应用场景有可视化处理、效率提升等。
[*]分类是给对象指定所属类别范畴的有监督学习,常见的应用场景有垃圾邮件检测、图像识别等。
[*]回归是预测与给定对象相关的连续属性的值,常见的应用场景有预测股票价格、预测二手房交易价格等。
[*]聚类是自动识别具有相似属性的给定对象,并将其分组,属于无监督学习,常见的应用场景有顾客细分、实验结果分组等。
从功能上看,涵盖了机器学习从数据处理开始,到各类模块训练算法,最后到模型的验证和调优等完整的生命周期。
3. 系列文章规划

Scikit-learn的子模块划分非常细,从命名空间来看的话,大概有接近40个模块。
分别介绍各个子模块意义不大,不如直接看官方文档,本系列的文章打算从使用者的角度来介绍它。
先从数据和数据处理的角度入手,
然后结合自己工作中的实际经验介绍Scikit-learn中的一些机器学习的算法,
最后介绍训练模型时和训练之后对模型的一些修正和调优的方法。
希望能够对喜爱数据分析的朋友们有所帮助!

来源:https://www.cnblogs.com/wang_yb/p/17871294.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: 【scikit-learn基础】--概述