MLPythonInAction_CodeNote
参考魏贞原老师的《机器学习Python实践》一书代码进行记录,涉及数据处理及基本数据处理方法比较多
第7章-数据可视化(chapter7.py):
进行糖尿病数据的可视化
第8章-数据预处理(chapter8datapreprocess.py):
使用MinMaxScaler类来调整数据尺度
将数据聚集到0附近,方差为1
正态化数据
使数据符合正正态分布
中位数为0,方差为1
将数据标准化
将每一行数据距离处理成1
适合处理稀疏数据
二值化数据
大于阈值数据设置为1
小于阈值数据设置为0
第9章-数据特征选定(Chapter9DataFeatureSelect.py):
单变量特征选择
递归特征消除
使用一个基模型来进行多轮训练,
每轮训练后消除若干权值系数的特征,
再基于新的特征集进行下一轮训练
PCA主成分分析(无监督)
LDA(有监督)
特征重要性
通过决策树计算特征的重要性
第10章-评估算法(chapter10DataFeatureSelect.py):
划分训练集和测试集
K折交叉验证
弃一交叉验证分离(计算成本较高)
重复随机分离评估数据集与训练数据集
第11章-算法评估矩阵(Chapter11AlgorithmEvaluation.py):
k折分类准确度
对数损失函数
AUC图
混淆矩阵
分类报告
回归算法矩阵:波士顿房价数据集
平均绝对误差
均方误差
决定系数R^2
第12章-审查分类算法(Chapter12AuditAlgorithm.py)
线性算法
逻辑回归
LDA算法
非线性算法
KNN
Bayes
DecisionTree
SVM
第13章-审查回归算法(Chapter12AuditAlgorithm.py)
线性回归算法
岭回归
Lasso回归
弹性网络回归
非线性算法
KNN回归
回归树
SVM回归
机器学习算法的比较
第15章-特征自动选择(AutomaticProcess.py):
数据准备和生成模型的Pipeline
使用Pipeline特征选择
第16章-集成算法(Chapter17ExtractionAlgorithm.py)
集成算法:将多种机器学习算法组合起来,使计算出来的结果更好
装袋算法(Bagging)
先将训练集分离成多个子集,然后通过各个子集训练多个模型。装袋算法在具有较大方差时比较有用
装袋决策树(Bagged Decision Trees)
随机森林(Random Forest)
极端随机数(Extra Trees):使用所有的样本去构建每棵决策树
提升算法(Boosting)
训练多个模型并组成一个序列,序列中的每一个模型都会去修正前一个模型的错误
AdaBoost算法
随机梯度提升算法(SGB)Stohastic Gradient Boosting
投票算法(Voting)
训练多个模型,并采用样本统计来提高模型的准确度
通过创建两个或者多个算法模型,利用投票算法将这些算法包装起来,计算各个子模型的平均预测状况
第17章-算法调参(Chapter18ParameterSelect.py)
两种自动寻找最优化参数的算法:
网格搜索优化参数
通过遍历已定义参数的列表,来评估算法的参数,从而找到最优参数
适用于3、4个超参数(或更少)
随机搜索优化参数
适用于参数较多的情况
适用固定次数的迭代,采用随机采样分布的方式搜索合适的参数
第18章-持久化加载模型(Chapter18PersistModel.py)
通过pickle序列化和反序列化机器学习模型
通过joblib序列化和反序列化机器学习模型
joblib序列化时会采用Numpy的格式保存数据
第20章-回归问题实战(波士顿房价数据集)(Chapter20BostonHousePrice.py)
通过对波士顿房价数据集进行处理,使用机器学习回归算法进行比较,同时使用各集成算法进行对比实验
第21章-分类问题实战(声呐数据集)(Chapter21BinaryClassify.py)
通过对声呐数据集进行处理,使用机器学习分类算法进行比较,同时使用各集成算法进行对比实验
第22章-文本分类实战(Chapter22FileClassify.py)
通过对新闻文本数据集进行处理,使用TF-IDF算法进行处理,使用机器学习分类算法进行比较,同时使用各集成算法进行对比实验