【MOOC】Python机器学习应用-北京理工大学

来源:互联网 发布:html select js 编辑:程序博客网 时间:2024/04/29 10:21

1.机器学习简介

1.1.机器学习的目的

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

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

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

1.2.机器学习的分类

机器学习一般分为下面几种类别

• 监督学习 (Supervised Learning)

• 无监督学习 (Unsupervised Learning)

• 强化学习(Reinforcement Learning,增强学习)(可参考这个视频理解)

• 半监督学习(Semi-supervised Learning)(介于监督和无监督学习之间)

• 深度学习 (Deep Learning)(利用深层神经网络抽象得表示数据特征的一种方法)

1.3.Python Scikit-learn

•官网首页: http://scikit-learn.org/stable/

• Machine Leaning in Python

• 一组简单有效的工具集

• 依赖Python的NumPy,SciPy和matplotlib库

• 开源、可复用

本课程也主要注重于sklearn的使用方法,对于算法的原理不做过多深究

常用函数:
这里写图片描述

1.4.课程目标

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

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

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

2.相关书籍及课程推荐[重点-良心推荐]

图书:

《机器学习》-周志华

这里写图片描述

《PRML》-Bishop 民间评价:“早知此书,PhD早毕业2年”

这里写图片描述

课程:

《Machine Learning》-Andrew Ng(机器学习入门)

主页: http://cs229.stanford.edu/

Coursera版: https://www.coursera.org/learn/machine-learning

Stanford手书版: http://open.163.com/special/opencourse/machinelearning.html

《CS231n: Convolutional Neural Networks for Visual Recognition》- Fei-Fei Li(深度学习)

主页: http://cs231n.stanford.edu/

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

主页:http://www0.cs.ucl.ac.uk/staff/d.silver/web/Teaching.html

在线观看:https://www.youtube.com/watch?v=2pWv7GOvuf0

3.sklearn库中的标准数据集及基本功能

3.1.标准数据集

总览:
这里写图片描述

举例:

->波士顿房价数据集

介绍:波士顿房价数据集包含506组数据,每条数据包含房屋以及房屋周围的详细信息。其中包括城镇犯罪率、一氧化氮浓度、住宅平均房间数、到中心区域的加权距离以及自住房平均房价等。因此,波士顿房价数据集能够应用到回归问题上。

属性描述:

属性 描述 CRIM 城镇人均犯罪率 ZN 住宅用地超过 25000 sq.ft. 的比例 INDUS 城镇非零售商用土地的比例 CHAS 查理斯河空变量(如果边界是河流,则为1;否则为0) NOX 一氧化氮浓度 RM 住宅平均房间数 AGE 1940 年之前建成的自用房屋比例 DIS 到波士顿五个中心区域的加权距离 RAD 辐射性公路的接近指数 TAX 每 10000 美元的全值财产税率 PTRATIO 城镇师生比例 B 1000(Bk-0.63)^ 2,其中 Bk 指代城镇中黑人的比例 LSTAT 人口中地位低下者的比例 MEDV 自住房的平均房价,以千美元计

部分数据:

这里写图片描述

使用方法:

使用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)

->鸢尾花数据集

介绍:鸢尾花数据集采集的是鸢尾花的测量数据以及其所属的类别。
测量数据包括:萼片长度、萼片宽度、花瓣长度、花瓣宽度。类别共分为三类:Iris Setosa,Iris Versicolour,Iris Virginica。该数据集可用于多分类问题。

部分数据:

这里写图片描述

使用方法:

使用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']

->手写数字数据集

介绍:手写数字数据集包括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.target.shape)(1797, )>>> print(digits.images.shape)(1797, 8, 8)>>> import matplotlib.pyplot as plt>>> plt.matshow(digits.images[0])>>> plt.show()

输出:

这里写图片描述

3.2.sklearn库的基本功能

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

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

阅读全文
1 0
原创粉丝点击