首页 > 其他分享 >【scikit-learn基础】--概述

【scikit-learn基础】--概述

时间:2023-12-02 14:23:16浏览次数:25  
标签:Scikit 机器 -- scikit 学习 算法 learn 数据

Scikit-learn是一个基于Python的开源机器学习库,它提供了大量的机器学习算法和工具,方便用户进行数据挖掘、分析和预测。

Scikit-learn是基于另外两个知名的库 ScipyNumpy的,
关于 ScipyNumpy 等库,之前的系列文章中有介绍:

  1. Scipy 基础系列
  2. Numpy 基础系列

1. 概要

自从AlphaGo再度带起机器学习和AI的热潮以来,我们听到最多的机器学习框架是 TensorFlowPyTorch以及Keras等等。

Scikit-learn与它们相比,知名度要低不少,这是因为Scikit-learn库关注的是传统的机器学习领域中经典的,被广泛应用和验证的算法。
它完全不涉及TensorFlowPyTorch以及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中的一些机器学习的算法
最后介绍训练模型时和训练之后对模型的一些修正和调优的方法。

希望能够对喜爱数据分析的朋友们有所帮助!

标签:Scikit,机器,--,scikit,学习,算法,learn,数据
From: https://www.cnblogs.com/wang_yb/p/17871294.html

相关文章

  • CF200D解题报告
    CF200D解题报告题意给你\(n\)个函数,由函数类型、函数名和参数类型组成。给你\(m\)个变量,由变量类型和变量名组成。给你\(k\)个调用关系,由调用的函数名和参数名构成。参数类型和变量类型保证为int,double,string和T中的一个,其中T表示可以匹配任意类型。分析很明......
  • WCH BLE LIB库函数
     默认从机在回复扫描请求后,会结束广播事件(默认广播应该是3738 39在3个信道轮发)如下使能后,可以保证广播包不受扫描请求的影响uint16_tadv_event_contnue=1<<1;GAP_SetParamValue(TGAP_ADV_SCAN_REQ_NOTIFY,adv_event_contnue);效果如下      设置扫描回......
  • CF718A解题报告
    CF718A解题报告题意给你一个长度为\(n\)的浮点数,最多四舍五入\(t\)次,求可以得到的最大值。注意:四舍五入之针对小数部分,不针对整数部分。输出时不能有前缀\(0\),和后缀\(0\)。当最大的数变成整数了,就不输出小数点。分析根据题面,很容易想到要用贪心,只需要再加那么一......
  • Spring 中的 URL 处理工具类 UriComponentsBuilder
    UriComponentsBuilder是SpringFramework中的一个用于构建URI(UniformResourceIdentifier)和URL(UniformResourceLocator)的实用程序类。它提供了一种简单的方式来构建包含各种部分(如协议、主机、路径、查询参数等)的URI和URL,并支持对这些部分进行修改、替换和合并等操作。以下是......
  • P4162解题报告
    P4162解题报告题意给你一张\(n\timesm\)的图,其中\(a_{i,j}=1\)表示有障碍,否则没有障碍,其中可以消除\(t\)个障碍,求所有格子的最大距离。分析这其实就是一道搜索的版子题。根据数据范围很容易想到可以枚举起点,然后通过广搜遍历起点到每一个点的距离和需要消除障碍的个......
  • CSP-S2023
    ###9.16考初赛,小图灵$66$,猜的所有题都错了,还改错一题,悲。###9.18出分了,实际得分$71$,甚至是全校S组第一,开心。###10.20啊不是为什么$10.21$才走啊,太奇怪了吧。###10.21上午在车上看到了J组的题,秒了A和C,B想了一会,发现要单调栈,感觉非常奇怪。中午在酒店打三国......
  • 《信息安全系统设计与实现》第十三周学习笔记
    《信息安全系统设计与实现》第十三周学习笔记第十四章MySQL数据库系统MySQL简介MySQL是一个关系数据库系统在关系数据库中,在关系数据库中,数据存储在表中。每个表由多个行和列组成。表中的数据相互关联。表也可能与其他表有关联。关系结构使得可在表上运行查询来检索信息并......
  • 直接插入排序
    01234528123      从下标1开始遍历,默认第一个元素是已排序序列。例如对元素3进行插入排序:下标0-3分别是2-5-8-12;此时k=arr[4]=3;j=i-1=3;从后往前遍历找到k应该插入的位置当while循环条件 j>=0&&arr[j]>k 一直成立时,arr[j+1]=ar......
  • 测试计划
    测试计划1.出现的bug我们经过测试一共发现了三个bugbug编号bug内容01当向程序传入不能查看的模型文件时,程序崩溃02当传入多个模型时,模型之间可能会相互遮挡03观察模型的视角在平移时没有距离限制1.1修复的bug;bug-01:逻辑漏洞型bug,用ifelse把输入非法文......
  • 空中滑步2.0的理解
    https://www.bilibili.com/video/BV1aC4y1A7Kn/?spm_id_from=333.788.recommend_more_video.4&;vd_source=d68ed178f151e80fea1e02efd205802c这是原始地址.感觉教的很好. 1.上来右脚前右方向滑动. 2.保持右脚抬起状态,同时左脚跳到前面 3.左脚刚刚跳到挡住右脚的......