第一节:机器学习和 scikit-learn 介绍

目录

 0、介绍

 1、监督学习介绍

监督学习的类型

2、非监督学习介绍

3、scikit-learn 介绍


 0、介绍

        机器学习(英语:Machine learning)如今越来越热门,而入门机器学习的门槛也变得越来越低。得益于优秀的机器学习框架和工具,初学者也可以很快上手一个机器学习项目,并使用机器学习算法来挖掘自己的数据。本次课程,我们首先介绍机器学习中几个基本的概念。

知识点

  • 监督学习概念
  • 非监督学习概念
  • scikit-learn 工具

 1、监督学习介绍

        机器学习中,我们通常会接触到:监督学习、非监督学习、半监督学习,强化学习等不同的应用类型。其中,监督学习(英语:Supervised learning)是最为常见,且应用最为广泛的分支之一。

        监督学习的目标是从已知训练数据中学习一个预测模型,使得这个模型对于其他输入数据产生一个预测输出。其中,监督学习的「监督」是相对与「非监督」的一种表达,二者的区别在于,监督学习的训练数据经过了人工进行标注,而非监督学习则没有这个过程。

        如同上面的两个简单的数据集。左边的数据集明显没有经过标注。而右边数据集则进行了颜色标注,也就是人为给数据样本打上了橙色、绿色和蓝色的标签。

监督学习的类型

        监督学习中,所面对的问题大致分为两类:分类和回归

        其中,分类问题可以简单概括为:已有了一些数据样本及明确的样本分类。现在从这些样本的特征中总结规律,再用于判断新输入样本到底属于哪一类别。例如下图展示了一个分类过程,使用监督学习算法对水果进行类别区分。

        分类的例子在生活中处处可见。比如这里正在讲,监督学习可以分为分类和回归一样。而面对一个新问题,判断它是属于分类还是回归,就需要根据这个问题具备的特征来判断。 

其中,回归问题与分类问题的最大区别(特征)在于,输出变量的类型不同。详细说来: 

  • 分类问题,输出为有限个离散变量,布尔值或者定类变量。
  • 回归问题,输出为连续变量,一般为实数,也就是一个确切值。

        举个例子,当我们预测一个人的性别时,就是一个典型的分类问题。而预测一个人的年龄时,则应看作是回归问题。 

2、非监督学习介绍

        什么是非监督学习?笼统来讲,它和监督学习是一个相对的概念。在监督学习的过程中,我们需要对训练数据打上标签,这是必不可少的一步。而非监督学习面对的数据是没有标签的

        举个例子,比如我们现在有一堆动物的照片。在监督学习中,我们需要提前对每张照片代表的动物进行标记。这一张是狗,那一张是猫,然后再进行训练。最后,模型对于新输入的照片,就能分清楚动物的类别。

        当进行非监督学习时,照片并未进行标注。我们需要将所有的训练样本照片「喂」给算法即可。注意,这个时候和监督学习有一些不同,非监督学习只能识别出训练样本里包含了几种类别的动物,而并不能直接告诉你这只是猫,那一只是狗。但是,这里的类别数量一般都不会太大,你可以手动对类别进行标记,再将数据用于其他用途。

        上面这个例子中,非监督学习识别出样本包含几种类别,就是我们通常所说的「聚类」。如下图所示,演示了一个非监督的聚类过程。

 

        当然,上面所说的聚类只是非监督学习主要面对的问题,实际上非监督学习还包括主成分分析等更多的应用方面。机器学习中,当我们使用到的数据没有特定标签时,基本都可以被归为非监督学习问题。

3、scikit-learn 介绍

       机器学习常用的方法有很多,例如:线性回归、支持向量机、k 近邻、决策树、朴素贝叶斯、逻辑回归等。其中的一些方法都有着比较复杂的数学过程,如果每一次都需要自己通过代码实现这些算法,那么机器学的门槛就变得很高了。

        scikit-learn 是一个十分流行的开源机器学习工具,它将众多的机器学习算法封装起来,往往只需要几行代码,通过简单的方法类调用,就可以实现原本复杂的机器学习模型。

        除此之外,scikit-learn 还提供了围绕机器学习核心算法的一套工具,包括数据预处理,模型评估,超参数优化等。这对于使用 Python 完成机器学习建模非常重要且非常实用。

        所以,本次课程我们将从 scikit-learn 入手来了解并掌握机器学习建模的流程和方法。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/7511.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

SqlServer实用系统视图,你了解多少?

SqlServer实用系统视图,你了解多少?前言master..spt_valuessysdatabasessysprocesses一套组合拳sysobjectssys.all_objectssyscolumnssystypessyscommentssysindexes结束语前言 在使用任何数据库软件的时候,该软件都会提供一些可能不是那么公…

算法设计-hw1

一、时间复杂度的估计 1.1 三种方法 ​ 估算分治问题的时间复杂度一共有三种普遍的方法: 1.2 代入法 ​ 代入法需要结合第二数学归纳法使用,使用起来还是很简单的(难点在于猜测),比如估算 T(n)T(n4)T(3n4)n(n>4)…

40分钟快速入门Dart基础(上)

教大家快速学习一门新语言: 第一是零基础:那我们只能靠自己脚踏实地的多写多想慢慢熟悉你所选择的语言 ,没有别的办法。(但是dart确实目前为止最好学的没有之一的语言)第二是有基础:小伙伴们如何快速学习…

C++环境设置

本地环境设置 如果您想要设置 C 语言环境,您需要确保电脑上有以下两款可用的软件,文本编辑器和 C 编译器。 文本编辑器 这将用于输入您的程序。文本编辑器包括 Windows Notepad、OS Edit command、Brief、Epsilon、EMACS 和 vim/vi。 文本编辑器的名…

文本编辑格式的 又一次进化 从 txt道md

别再傻傻用txt做笔记了,用md不香吗,可以设置颜色,字体大小 从 txt道md .md 和 .txt 都是文本文件格式,但它们之间有一些区别和进步: .md 文件可以使用 Markdown 语言编写,支持更丰富的文本格式,如标题、列表、链接、图片、代码块…

简化你的代码,提高生产力:这10个Lambda表达式必须掌握

前言 Lambda表达式是一种在现代编程语言中越来越常见的特性,可以简化代码、提高生产力。这篇文章将介绍10个必须掌握的Lambda表达式,这些表达式涵盖了在实际编程中经常用到的常见场景,例如列表操作、函数组合、条件筛选等。通过学习这些Lambd…

【C语言】数组指针-c语言的任督二脉

视频链接:bilibili 关于指针需要注意的地方 只有以下两种情况数组名表示的是整个数组 1.sizeof(数组名) 2.&数组名 除此之外数组名表示的都是首元素地址 一、字符指针 是一个指向字符的指针 int main() {char ch w;char* p &ch;//char* ch2 "abcdef"…

Netty组件Future、Promise、Handler、Pipline、ByteBuf

Future&Promise Netty中的Future与jdk中的Future同名,但是是两个接口,netty的Future继承自jdk的Future,而Promise又对netty Future进行了扩展 jdk Future只能同步等待任务结束(或成功、或失败)才能得到结果netty Future可以同步等待任务结束得到结…

阿里云弹性计算高级产品专家马小婷:ECS 使用成熟度评估与洞察

2023 年 3 月 22 日,【全新升级 阿里云 ECS CloudOps 2.0 来啦】发布会正式播出,本次发布会上阿里云宣布 CloudOps(云上自动化运维)套件全新升级,并发布了 CloudOps 云上自动化运维白皮书 2.0 版本。阿里云弹性计算高级…

【数据结构】栈和队列(笔记总结)

👦个人主页:Weraphael ✍🏻作者简介:目前学习C和算法 ✈️专栏:数据结构 🐋 希望大家多多支持,咱一起进步!😁 如果文章对你有帮助的话 欢迎 评论💬 点赞&…

DC-1渗透实战

目标机:192.168.26.161 攻击机:192.168.26.144 1、信息收集: 使用ARP扫描,获得信息: arp-scan -l 适应NMAP进行扫描IP为192.168.26.161 ,看他开启了哪些端口、服务和操作系统: nmap -A -T…

SQL函数

文章目录一、SQL 函数二、SQL COUNT() 函数三、SQL FIRST() 函数四、SQL LAST() 函数五、SQL MAX() 函数总结一、SQL 函数 SQL 拥有很多可用于计数和计算的内建函数。 SQL Aggregate 函数 SQL Aggregate 函数计算从列中取得的值,返回一个单一的值。 有用的 Aggrega…

「程序员值得一看」| 传说中的“全球公认最健康的作息时间表”

身体是革命的本钱,健康问题关乎我们每一个人,说到健康作息,下面这篇文章还是非常值得我们参考的,当然每个人结合自身可以好好总结一下。 都说程序员这一行,猝死概率极高,究其原因还是很难有很好的作息规律…

【Matlab算法】粒子群算法求解二维线性优化问题(附MATLAB代码)

MATLAB求解二维线性优化问题前言正文函数实现可视化结果前言 二维线性优化问题指的是在二维空间中,对于一个由线性函数构成的目标函数,通过限制自变量的范围或满足特定的约束条件,寻找一个最优解(最小值或最大值)。这…

面试官 : 你了解的MySQL 集群高可用架构都有哪些?

文章目录 MySQL 主从架构MySQL+DRDB 架构MySQL+MHA 架构MySQL+MMM 架构MySQL 主从架构 此种架构,一般初创企业比较常用,也便于后面步步的扩展 此架构特点: 1、成本低,布署快速、方便 2、读写分离 3、还能通过及时增加从库来减少读库压力 4、主库单点故障 5、数据一致性问题…

Windows上提示 api-ms-win-core-path-l1-1-0.dll 丢失怎么办?

Windows上提示 api-ms-win-core-path-l1-1-0.dll 丢失怎么办?最近有用户在开启电脑的photoshop软件使用的时候,出现另外无法启动软件的情况,因为系统中缺失了对应的dll文件。那么这个情况怎么去进行问题的解决呢?来看看以下的解决…

PyTorch深度学习实战 | 基于YOLO V3的安全帽佩戴检测

本期将提供一个利用深度学习检测是否佩戴安全帽的案例,从而展示计算机视觉中的目标识别问题的一般流程。目标检测是基于图片分类的计算机视觉任务,既包含了分类,又包含了定位。给出一张图片,目标检测系统要能够识别出图片的目标并给出其位置。由于图片中目标数是不确定的,…

JUC并发编程第一章之进程/并发/异步的概念[理解基本概念]

1. 进程和线程的概念 进程: 系统正在运行的一个应用程序;程序一旦运行就是一个进程;进程是资源分配的最小单位 线程: 是进程的实际运行单位;一个人进程可以并发控制多个线程,每条线程并行执行不同的任务 区别: 进程基本上相互独立的;而线程存在于进程内,是进程…

类ChatGPT项目的部署与微调(上):从LLaMA到Alpaca、Vicuna、BELLE

前言 近期,除了研究ChatGPT背后的各种技术细节 不断看论文(至少100篇,100篇目录见此:ChatGPT相关技术必读论文100篇),还开始研究一系列开源模型(包括各自对应的模型架构、训练方法、训练数据、本地私有化部署、硬件配置要求、微…

如何把多个文件(夹)随机复制到多个文件夹中

首先,需要用到的这个工具: 百度 密码:qwu2 蓝奏云 密码:2r1z 先看文件的情况一共20个兔兔的图片,4个文件夹,把全部的图片随机的复制这些地方去 打开工具,切换到 文件批量复制 版块 找到右下角…