基于机器学习算法的钢材缺陷检测分类
公众号:尤而小屋
作者:Peter
编辑:Peter
大家好,我是 Peter~
今天给大家带来一篇机器学习在工业数据的实战文章:基于机器学习算法的钢材缺陷检测分类
本文的数据集是来自 uci,专门为机器学习提供数据的一个网站:https://archive.ics.uci.edu/ml/index.php
该数据集包含了 7 种带钢缺陷类型(钢板故障的 7 种类型:装饰、Z_划痕、K_划痕、污渍、肮脏、颠簸、其他故障),带钢缺陷的 27 种特征数据
本文的主要知识点:
数据信息
具体查看官网:https://archive.ics.uci.edu/ml/datasets/Steel+Plates+Faults
数据预处理
导入数据
In [1]:
In [2]:
Out[2]:
数据分割
将 7 种不同的类型和前面的特征字段分开:
下面是 27 个特征的数据:
分类标签生成
将 7 种不同的标签进行分类生成:
类型编码
In [7]:
Out[7]:
In [8]:
Out[8]:
数据合并
In [9]:
EDA
数据的基本统计信息
In [10]:
结果显示是没有缺失值的:
单个特征分布
从箱型图中能够观察到单个特征的取值分布情况。下面绘制全部参数的取值分布箱型图:
几点结论:
特征之间的取值范围不同:从负数到 10M
部分特征的取值中存在异常值
有些特征的取值只存在 0 和 1
样本不均衡
每种类别数量
In [15]:
Out[15]:
可以看到第 6 类的样本有 673 条,但是第 4 类的样本只有 55 条。明显地不均衡
SMOTE 解决
In [16]:
In [17]:
统计一下每个类别的数量:
数据归一化
特征矩阵归一化
In [19]:
归一化后的特征矩阵
In [21]:
Out[21]:
添加 y_smo
In [22]:
建模
随机打乱数据
In [23]:
数据集划分
In [24]:
In [25]:
建模与评价
用函数的形式来解决:
In [26]:
下面是单独建立每个模型:
逻辑回归
建模
In [28]:
Out[28]:
预测
In [29]:
Out[29]:
In [30]:
Out[30]:
评价
In [31]:
Out[31]:
In [32]:
Out[32]:
In [33]:
In [34]:
随机森林回归
SVR
决策树回归
神经网络
GBDT
LightGBM
结果
上述结果很明显:
集成学习的方案 LightGBM、GBDT、随机森林 的效果是高于其他的模型
LightGBM 模型效果最佳!
版权声明: 本文为 InfoQ 作者【Peter】的原创文章。
原文链接:【http://xie.infoq.cn/article/0e08c4d11cd3f0be2edc16e50】。文章转载请联系作者。
评论