机器学习(零)导学和sklearn库

简介: 机器学习是实现人工智能的手段,其主要研究内容是如何利用数据或经验进行学习,改善具体算法的性能• 多领域交叉,涉及概率论、统计学,算法

一.机器学习的目标

机器学习是实现人工智能的手段,其主要研究内容是如何利用数据或经验进行学习,改善具体算法的性能

• 多领域交叉,涉及概率论、统计学,算法复杂度理论等多门学科

• 广泛应用于网络搜索、垃圾邮件过滤、推荐系统、广告投放、信用评价、欺诈检测、股票交易和医疗诊断等应用

二.机器学习分类

• 监督学习 (Supervised Learning)

• 无监督学习 (Unsupervised Learning)

• 强化学习(Reinforcement Learning,增强学习)

• 半监督学习( Semi-supervised Learning )

• 深度学习 (Deep Learning)

三.Python Scikit-learn

http://scikit-learn.org/stable/

• Machine Leaning in Python

• 一组简单有效的工具集

• 依赖Python的NumPy,SciPy和matplotlib库

• 开源、可复用

image.png

四.课程目标

• 了解基本的机器学习原理及算法

• 学习利用机器学习算法解决应用问题的能力

• 掌握sklearn库中常用机器学习算法的基本调用方法,避免重复造车

五.资料推荐

《机器学习》-周志华

《PRML》-Bishop

《Machine Learning》- Andrew Ng

《CS231n》- Fei-Fei Li

《Reinforcement Learning》-David Silver(强化学习)

六.sklearn库的简介

sklearn是scikit-learn的简称,是一个基于Python的第三方模块。sklearn库集成了一些常用的机器学习方法,在进行机器学习任务时,并不需要实现算法,只需要简单的调用sklearn库中提供的模块就能完成大多数的机器学习任务。

sklearn库是在Numpy、Scipy和matplotlib的基础上开发而成的,因此在介绍sklearn的安装前,需要先安装这些依赖库(如下)。

Numpy(Numerical Python的缩写)是一个开源的Python科学计算库。在Python中虽然提供了list容器和array模块,但这些结构并不适合于进行数值计算,因此需要借助于Numpy库创建常用的数据结构(如:多维数组,矩阵等)以及进行常用的科学计算(如:矩阵运算)。

Scipy库是sklearn库的基础,它是基于Numpy的一个集成了多种数学算法和函数的Python模块。它的不同子模块有不同的应用,如:积分、插值、优化和信号处理等。

matplotlib是基于Numpy的一套Python工具包,它提供了大量的数据绘图工具,主要用于绘制一些统计图形,将大量的数据转换成更加容易被接受的图表。(注意要先安装numpy再安装matplotlib库)

sklearn库的安装:http://www.lfd.uci.edu/~gohlke/pythonlibs/#

image.png

在dos命令行cd到下载的文件路径,使用如下命令(如skearn包)

pip install scikit_learn‑0.22.1‑cp38‑cp38‑win_amd64.whl

下载后在IDLE测试:

1. import numpy
2. import matplotlib
3. import sklearn

七.sklearn库中的标准数据集

image.png

八.sklearn的基本功能

sklearn库的共分为6大部分,分别用于完成分类任务、回归任务、聚类任务、降维任务、模型选择以及数据的预处理。

image.pngimage.png

九.sklearn库中的标准数据集和功能

(1)波士顿放假数据集

使用sklearn.datasets.load_boston即可加载相关数据集

其重要参数为:

• return_X_y:表示是否返回target(即价格),默认为False,只返回data(即属性)。

>>> from sklearn.datasets import load_boston
>>> boston=load_boston()
>>> print(boston.data.shape)
(506, 13)
>>> from sklearn.datasets import load_boston
>>> data,target=load_boston(return_X_y=True)
>>> print(data.shape)
(506, 13)
>>> print(target.shape)
(506,)

(2)鸢尾花数据集

使用sklearn.datasets. load_iris即可加载相关数据集

其参数有:

• return_X_y:若为True,则以(data, target)形式返回数据;默认为False,表示以字典形式返回数据全部信息(包括data和target)。

>>> from sklearn.datasets import load_iris
>>> iris=load_iris()
>>> print(iris.data.shape)
(150, 4)
>>> print(iris.target.shape)
(150,)
>>> list(iris.target_names)
['setosa', 'versicolor', 'virginica']

(3)手写数字数据集

手写数字数据集包括1797个0-9的手写数字数据,每个数字由8*8大小的矩阵构成,矩阵中值的范围是0-16,代表颜色的深度。

使用sklearn.datasets.load_digits即可加载相关数据集

其参数包括:

• return_X_y:若为True,则以(data, target)形式返回数据;默认为False,表示以字典形式返回数据全部信息(包括data和target) ;

• n_class:表示返回数据的类别数,如:n_class=5,则返回0到4的数据样本。

>>> from sklearn.datasets import load_digits
>>> digits=load_digits()
>>> print(digits.data.shape)
(1797, 64)
>>> print(digits.images.shape)
(1797, 8, 8)
>>> import matplotlib.pyplot as plt
>>> plt.matshow(digits.images[0])
<matplotlib.image.AxesImage object at 0x00000237E47C44F0>
>>> plt.show()

image.png

>>> from sklearn.datasets import load_digits
>>> digits=load_digits()
>>> print(digits.data.shape)
(1797, 64)
>>> print(digits.images.shape)
(1797, 8, 8)
>>> import matplotlib.pyplot as plt
>>> plt.matshow(digits.images[0])
<matplotlib.image.AxesImage object at 0x00000237E47C44F0>
>>> plt.show()
相关文章
|
1月前
|
机器学习/深度学习 数据采集 算法
Python机器学习:Scikit-learn库的高效使用技巧
【10月更文挑战第28天】Scikit-learn 是 Python 中最受欢迎的机器学习库之一,以其简洁的 API、丰富的算法和良好的文档支持而受到开发者喜爱。本文介绍了 Scikit-learn 的高效使用技巧,包括数据预处理(如使用 Pipeline 和 ColumnTransformer)、模型选择与评估(如交叉验证和 GridSearchCV)以及模型持久化(如使用 joblib)。通过这些技巧,你可以在机器学习项目中事半功倍。
45 3
|
6月前
|
机器学习/深度学习 算法 数据挖掘
机器学习之sklearn基础——一个小案例,sklearn初体验
机器学习之sklearn基础——一个小案例,sklearn初体验
150 6
|
3月前
|
机器学习/深度学习 算法 数据挖掘
Python数据分析革命:Scikit-learn库,让机器学习模型训练与评估变得简单高效!
在数据驱动时代,Python 以强大的生态系统成为数据科学的首选语言,而 Scikit-learn 则因简洁的 API 和广泛的支持脱颖而出。本文将指导你使用 Scikit-learn 进行机器学习模型的训练与评估。首先通过 `pip install scikit-learn` 安装库,然后利用内置数据集进行数据准备,选择合适的模型(如逻辑回归),并通过交叉验证评估其性能。最终,使用模型对新数据进行预测,简化整个流程。无论你是新手还是专家,Scikit-learn 都能助你一臂之力。
153 8
|
2月前
|
机器学习/深度学习 算法 数据可视化
【机器学习】决策树------迅速了解其基本思想,Sklearn的决策树API及构建决策树的步骤!!!
【机器学习】决策树------迅速了解其基本思想,Sklearn的决策树API及构建决策树的步骤!!!
|
3月前
|
机器学习/深度学习 算法 数据挖掘
从菜鸟到大师:Scikit-learn库实战教程,模型训练、评估、选择一网打尽!
【9月更文挑战第13天】在数据科学与机器学习领域,Scikit-learn是不可或缺的工具。本文通过问答形式,指导初学者从零开始使用Scikit-learn进行模型训练、评估与选择。首先介绍了如何安装库、预处理数据并训练模型;接着展示了如何利用多种评估指标确保模型性能;最后通过GridSearchCV演示了系统化的参数调优方法。通过这些实战技巧,帮助读者逐步成长为熟练的数据科学家。
128 3
|
4月前
|
机器学习/深度学习 数据采集 算法
机器学习到底是什么?附sklearn代码
机器学习到底是什么?附sklearn代码
|
4月前
|
机器学习/深度学习 数据采集 数据处理
神秘编程世界惊现新探索!Ruby 与机器学习究竟能碰撞出怎样的火花?科学计算库大揭秘!
【8月更文挑战第31天】本文探讨了使用Ruby进行机器学习的可能性,尽管它不像Python那样广为人知,但Ruby拥有诸如SciRuby这样的科学计算生态系统,包括NMatrix和GSL等库,适用于数据处理、矩阵运算等任务。文章还介绍了RubyFann库,用于构建和训练神经网络。通过这些库,用户能更好地理解和定制机器学习流程。
39 0
|
4月前
|
机器学习/深度学习 数据采集 算法
如何使用机器学习神器sklearn做特征工程?
如何使用机器学习神器sklearn做特征工程?
|
5月前
|
机器学习/深度学习 算法 数据挖掘
从菜鸟到大师:Scikit-learn库实战教程,模型训练、评估、选择一网打尽!
【7月更文挑战第26天】在数据科学领域, Scikit-learn是初学者通往专家之路的必备工具。
74 5
|
5月前
|
机器学习/深度学习 数据采集 算法
数据海洋中的导航者:Scikit-learn库引领Python数据分析与机器学习新航向!
【7月更文挑战第26天】在数据的海洋里,Python以强大的生态成为探索者的首选,尤其Scikit-learn库(简称sklearn),作为一颗璀璨明珠,以高效、灵活、易用的特性引领数据科学家们破浪前行。无论新手还是专家,sklearn提供的广泛算法与工具支持从数据预处理到模型评估的全流程。秉承“简单有效”的设计哲学,它简化了复杂模型的操作,如线性回归等,使用户能轻松比较并选择最优方案。示例代码展示了如何简洁地实现线性回归分析,彰显了sklearn的强大能力。总之,sklearn不仅是数据科学家的利器,也是推动行业进步的关键力量。
62 3

热门文章

最新文章