renxingkai / MLPythonInAction_CodeNote

参考魏贞原老师的《机器学习Python实践》一书代码进行记录,涉及数据处理及基本数据处理方法比较多

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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)

  • 线性算法
  1. 逻辑回归
  2. LDA算法
  • 非线性算法
  1. KNN
  2. Bayes
  3. DecisionTree
  4. SVM

第13章-审查回归算法(Chapter12AuditAlgorithm.py)

  • 线性回归算法
  1. 岭回归
  2. Lasso回归
  3. 弹性网络回归
  • 非线性算法
  1. KNN回归
  2. 回归树
  3. SVM回归
  • 机器学习算法的比较

第15章-特征自动选择(AutomaticProcess.py):

  • 数据准备和生成模型的Pipeline
  • 使用Pipeline特征选择

第16章-集成算法(Chapter17ExtractionAlgorithm.py)

集成算法:将多种机器学习算法组合起来,使计算出来的结果更好

  • 装袋算法(Bagging)

先将训练集分离成多个子集,然后通过各个子集训练多个模型。装袋算法在具有较大方差时比较有用

  1. 装袋决策树(Bagged Decision Trees)
  2. 随机森林(Random Forest)
  3. 极端随机数(Extra Trees):使用所有的样本去构建每棵决策树
  • 提升算法(Boosting)

训练多个模型并组成一个序列,序列中的每一个模型都会去修正前一个模型的错误

  1. AdaBoost算法
  2. 随机梯度提升算法(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算法进行处理,使用机器学习分类算法进行比较,同时使用各集成算法进行对比实验

About

参考魏贞原老师的《机器学习Python实践》一书代码进行记录,涉及数据处理及基本数据处理方法比较多


Languages

Language:Python 100.0%