目录
1 机器学习概述
1.1 定义
1.2 基本方法
1.3 基本概念
1.4 有监督学习
1.5 无监督学习
1.6 过度拟合问题
模型过于复杂(例如参数过多)
正则化
1.7 模型选择
交叉验证
K折交叉验证
2 机器学习常用工具
3 Scikit-learn
3.1 基本流程
3.2 Scikit-learn常用函数
3.3 Scikit-learn主要模块
3.4 Scikit-learn回归模块的主要算法
3.5 Scikit-learn分类模块的主要算法
3.6 Scikit-learn聚类模块的主要算法
3.7 Scikit-learn降维模块的主要算法
1 机器学习概述
1.1 定义
1.2 基本方法
有监督学习(supervised learning)
⚫ 数据集中的样本带有标签,有明确目标
⚫ 回归和分类
无监督学习(unsupervised learning)
⚫ 数据集中的样本没有标签,没有明确目标
⚫ 聚类、降维、排序、密度估计、关联规则挖掘
强化学习(reinforcement learning)
⚫ 智慧决策的过程,通过过程模拟和观察来不断学习、提高决策能力
⚫ 试错方法
⚫ 例如:AlphaGo
机器学习的一些方法是深度学习不能替代的!
1.3 基本概念
1.4 有监督学习
数据集中的样本带有标签
目标:找到样本到标签的最佳映射
典型方法
⚫ 回归模型:线性回归、岭回归、LASSO和回归样条等
⚫ 分类模型:逻辑回归
1.5 无监督学习
可以处理没有标签的数据
根据数据本身的分布特点,挖掘反映数据的内在特性
⚫ 典型方法
⚫ 聚类、降维、关联规则挖掘等
1.6 过度拟合问题
模型过于复杂(例如参数过多)
导致所选模型对已知数据预测得很好,但对未知数据预测很差。
正则化
正则化是模型选择的典型方法
在误差函数上加一个正则项,正则项通常为参数向量的范数
在训练误差和模型复杂度之间的权衡(trade off)
1.7 模型选择
交叉验证
基本想法是重复地使用数据。将数据集随机切分,将切分的数据集组合为训练集和测试集,在此基础上反复进行训练,测试和模型选择。
K折交叉验证
2 机器学习常用工具
3 Scikit-learn
3.1 基本流程
3.2 Scikit-learn常用函数
transform函数:数据转换
from sklearn import preprocessing
scaler =preprocessing.StandardScaler().fit(X_train)
X_train = scaler.transform(X_train)
X_test = scaler.transform(X_test)
fit函数:模型训练
from sklearn.linear_model import LinearRegression
lr = LinearRegression()
lr.fit(X_train, y_train)
predict函数:模型预测
y_pred = lr.predict(X_new)
3.3 Scikit-learn主要模块
3.4 Scikit-learn回归模块的主要算法
3.5 Scikit-learn分类模块的主要算法
3.6 Scikit-learn聚类模块的主要算法
3.7 Scikit-learn降维模块的主要算法