监督学习:给定输入样本集,机器就可以从中推演出制定目标变量的可能结果
知道预测什么
无监督学习:数据没有类别信息,也不会给定目标值。可以减少数据特征的维度
数据集合分成由类似的对象组成的多个类的过程——聚类
寻找描述数据统计值的过程——密度估计
监督学习算法:
k-近邻算法 线性回归
朴素贝叶斯算法 局部加权线性回归
支持向量机 Ridge回归
决策树 Lasso最小回归系数估计
无监督学习算法:
K-均值 最大期望算法
DBSCAN Parzen窗设计
机器只需要从输入数据中预测合适的模型,并从中计算出目标变量的结果。
目标变量:标称型 & 数值型
标称型:有限目标集中取值(类别或真假) ——分类
数值型:无限的数值集合 ——回归:主要用于预测数值型数据
第一章 机器学习基础
算法训练——学习如何分类
为算法输入大量已分类的数据作为算法的训练集。
训练集是用于训练机器学习算法的数据样本集合。例子中有4种特征,1个目标变量
训练样本集必须知道目标变量的值,以便机器学习算法可以发现特征和目标变量之间的关系
目标变量是机器学习算法的预测结果
注:特征或属性通常是训练样本集的列,是独立测量得到的结果。多个特征联系在一起共同组成一个训练样本。
训练数据和测试数据:使用训练样本集作为算法的输入,训练完成之后输入测试样本
知识表示:某些算法可以产生很容易理解的知识表示,而有些算法的知识可能只能被计算机所理解。
如何选择合适的算法
目的:预测目标变量的值——监督学习算法
目标变量的类型——离散型:分类 数值型:回归
数据:特征值是离散型变量还是连续性变量?
特征值中是否存在缺失的值?
数据中是否存在异常值?
某个特征发生的频率?(是否极小或者极大)
… …
学习和使用机器学习算法开发应用程序步骤:
1)收集数据
2)准备输入数据(数据格式等)
3)分析输入数据(空值、异常值、明显差异)
4)训练算法
5)测试算法
6)使用算法
1.7 NumPy函数库基础
from numpy import *
random.rand(a,b) #随机生成a*b的随机数组
mat(random.rand(a,b)) #将数组转化成矩阵
Mat.I #矩阵求逆 大写的i
MatA * MatB #矩阵相乘
eye(n) #生成n*n的单位矩阵