Python + Scikit-learn 完美入门机器学习指南 ​

AI 是目前最火的技术领域之一,而且大部分项目都使用 Python 构建,如果你正好是一名 Python 程序员,不妨趁此机会学习一下~

学 Python 的理由有很多:简单、方便、适合写爬虫、处理数据等等,但相信还有不少人是冲着 Python 在人工智能领域的“扛把子”地位而来的。

在人工智能领域,大部分的项目都是使用 Python 或构建在 Python 基础上的框架搭建的,这对 Python 程序员来说是一个福音。但我们都知道,机器学习常用的算法有很多,例如:线性回归、支持向量机、k 近邻、决策树、朴素贝叶斯、逻辑回归等。其中的一些算法都有着比较复杂的数学过程,如果每一次都需要自己通过代码实现这些算法,那么机器学的门槛就变得很高了。

这时,scikit-learn 来了。

Scikit-learn 是一个非常流行的机器学习工具,它几乎集成了所有经典的机器学习算法,你只需要几行代码,通过简单的方法类调用,就可以实现原本复杂的机器学习模型。如果你是一名 Python 程序员,又正好想学习一下人工智能技术,scikit-learn 可能是你最好的选择之一。

实验楼上线了一门新课 —《scikit-learn 机器学习入门实战》,可以带大家快速掌握 scikit-learn 框架使用方法、机器学习基础概念、常用算法等知识点,并通过模型的搭建和选择,进一步提升你的实践能力。

课程地址:

https://www.shiyanlou.com/courses/1572

你将学到这些内容:

下面是课程的第一节内容,机器学习和 scikit-learn 的基本介绍。

机器学习和 scikit-learn 介绍

机器学习(英语:Machine learning)可以被视为人工智能的一个子领域。得益于优秀的机器学习框架和工具,初学者也可以很快上手一个机器学习项目,并使用机器学习算法来挖掘自己的数据。

在本实验,我们首先简单介绍机器学习中几个基本的概念和用 Python 编写的十分流行的开源机器学习工具  scikit-learn。

知识点
  • 监督学习概念

  • 无监督学习概念

  • 机器学习算法

  • scikit-learn 工具


监督学习介绍

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

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

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

监督学习的类型

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

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

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

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

  • 分类问题,输出为有限个离散变量,布尔值或者定类变量。

  • 回归问题,输出为连续变量,一般为实数,也就是一个确切值。

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

无监督学习介绍

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

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

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

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

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

scikit-learn 介绍

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

 scikit-learn 是一个十分流行的开源机器学习工具,它基于 Python 的 NumPy 和 SciPy 库构建,将众多的机器学习算法封装起来,往往只需要几行代码,通过简单的方法类调用,就可以实现原本复杂的机器学习模型,在学术界和工业界广泛使用。

scikit-learn 中的数据

在 scikit-learn 中实现的大多数机器学习算法都将数据存储在二维数组或矩阵中。数组可以是 numpy 数组,在某些情况下是 scipy.sparse 矩阵。

篇幅有限,后续的课程内容,请在实验楼边敲代码边学习~

????????????点击阅读原文,学习完整课程内容~

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值