Skip to content

Allenyep/PymachineLearning

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PymachineLearning

使用python开始机器学习

这个项目来总结一下比赛中常用的机器学习算法,以及如何使用SKlearn进行调用。需要明白的是什么是数据挖掘,流程是怎么样的。

定义问题

主要是在导入机器学习项目中所需要的类库和数据集,以便完成机器学习的项目。包括导入Ptyhon的类库,类和方法,以及导入数据。同时这也是所有的配置参数的配置模块。当数据集过大时,可以在这里对数据集进行瘦身处理,理想状态是可以在一分钟内,甚至是在30秒内完成模型的建立或可视化数据集。

导入类库

导入数据集

===============

理解数据

这是加强对数据理解的步骤,包括通过描述性统计来分析数据和通过可视化来观察数据。这一步需要花费时间多问几个问题,设定假设条件并调查分析,这对模型的建立有很大的帮助。

描述性统计

数据可视化

===============

数据准备

数据准备主要是预处理数据,以便让数据可以更好的展示问题,以及熟悉输入与输出的关系。包括:

  • 通过删除重复数据,标记错误数值,甚至标记错误的输入数据来清洗数据
  • 特征选择,包括移除多余的特征属性和增加新的特征属性
  • 数据转化,对数据尺度进行调整,或者调整数据分布,以便更好地展示问题 不断的重复这个步骤和下一个步骤,直到找到足够准确的算法生成模型

数据清洗

数据选择

数据转换

===============

评估算法

评估算法主要是为了寻找最佳的算法子集,包括:

  • 分离出评估数据集,以便验证模型
  • 定义模型评估标准,用来评估算法模型
  • 抽样审查线性算法和非线性算法
  • 比较算法的准确度 找到3~5种准确度足够的算法为止

分离数据集

定义模型评估标准

算法审查

算法比较

===============

优化模型

当得到一个准确度足够的算法之后,从中找出最合适的算法,两种方法提高算法的准确度:

  • 对每种算法进行调参,得到最佳结果
  • 使用集合算法来提高算法模型的准确度

算法调参

集成算法

===============

结果部署

一旦认为模型的准确度足够高,就可将这个模型序列化,以便有新数据时使用该模型来预测数据。

  • 通过验证数据集来验证被优化的模型
  • 通过整个数据集来生成模型
  • 将模型序列化,以便预测新数据

预测评估数据集

利用整个数据集生成模型

序列化模型

About

使用python开始机器学习

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages