一、机器学习简介
1.机器学习发展历程
简单用思维导图的形式梳理一下机器学习的发展历程:
在过去二十年中,人类收集 、存储、传输、处理数据的能力取得了飞速提升,人类社会的各个角落都积累了大量数据,亟需能有效地对数据进行分析利用的机器算法,而机器学习顺应了大时代的这个需求,因此该学科领域很自然地取得巨大发展、受到广泛关注。
2.机器学习任务分类
机器学习大体可分为如下几类:
重点讲解“监督”的含义。以监督学习(supervised learning)为例,监督学习的任务是尝试学习一个数学模型,使模型能够对任意给定的输入,对其相应的输出做一个好的预测。监督指的是输出存在且已知(在分类情况下种类已知,在回归情况下范围已知)。而半监督聚类学习和无监督学习的目的是探究数据中的内部关系和结构。
二、机器学习实例代码演示
1.准备工作
- 使用anaconda搭建运行环境
参考教程:
Win10利用Anaconda搭建Pandas+Numpy环境 - 安装相关包(这里也可以写到requirements.txt中统一进行安装)
pip install numpy
pip install pandas
pip install sklearn
pip install matplotlib
pip install seaborn
- 代码头部引入相关包
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
%matplotlib inline
plt.style.use("ggplot")
import seaborn as sns
from sklearn import datasets
2.回归
1)回归分析概述
在统计学中,回归分析(regression analysis)指的是确定两种或两种以上变量间互相依赖的定量关系的一种统计分析方法。
根据自变量和因变量之间的关系类型,可分为线性回归分析和非线性回归分析。
其中线性回归分析可分为一元线性回归和多元线性回归。
2)回归案例
波士顿房价数据集包含美国人口普查局收集的美国马萨诸塞州波士顿住房价格的有关信息, 数据集很小,只有506个案例。
变量名 | 说明 |
---|---|
CRIM | 城镇人口犯罪率 |
ZN | 超过25000平方英尺的住宅用地所占比例 |
INDUS | 城镇非零售业务地区的比例 |
CHAS | 查尔斯河虚拟变量(如果土地在河边=1;否则是0) |
NOX | 一氧化氮浓度(每1000万份) |
RM | 平均每居民房数 |
AGE | 在1940年之前建成的所有者占用单位的比例 |
DIS | 与五个波士顿就业中心的加权距离 |
RAD | 辐射状公路的可达性指数 |
TAX | 每10,000美元的全额物业税率 |
RTRATIO | 城镇师生比例 |
B | 1000(Bk-0.63)^2其中Bk是城镇黑人的比例 |
LSTAT | 人口中地位较低人群的百分数 |
MEDV | (目标变量/类别属性)以1000美元计算的自有住房的中位数 |
查看数据集:
v_housing = datasets.load_boston()
X = v_housing.data
y = v_housing.target
features = v_housing.feature_names
boston_data = pd.DataFrame(X,columns=features)
boston_data["Price"] = y
boston_data.head()
查看特征种类:
print(v_housing.feature_names)
['CRIM' 'ZN' 'INDUS' 'CHAS' 'NOX' 'RM' 'AGE' 'DIS' 'RAD' 'TAX' 'PTRATIO'
'B' 'LSTAT']
对十三个变量和价格以散点图的方式进行可视化:
v_namedata = v_housing.feature_names
for i in range(len(v_housing.feature_names)):
sns.scatterplot(x=X[:,i],y=y,color="r",alpha=0.6)
plt.title(v_namedata[i])
plt.show()