赛题A是一道算不上“大数据”的数据题目(维度<10数据量只有9000条),背景性较强。
下面放上题目:
由以上题目分析可以看出,虽然背景介绍给的很长,但是题意只有一个,就是“提前预测设备生产中的故障风险”,故该数据题可定位为预测类题目。
根据具体任务的分析可以将五个任务概括为:
1.数据预处理+特征提取
2.建立二分类模型并评价
3.拓展成多分类模型并评价
4.预测补全给出的数据
5.探究各类型与特征间的关系
下面针对五个任务一一进行思路分析:
在实际预测机械设备故障时,传统故障预测方法由于方法相对简单、且较少保存数据,导致最终故障预测准确率过低,针对这一问题,目前可以检索到多种基于深度学习、机器学习等多算法融合的机械设备故障预测方法。由此,题目给的数据量不多,其实是符合实际情况的,这也需要我们注意在选择分类模型时,要慎用那些依赖于大量数据的模型。
数据预处理中重要的一环就是缺失值的处理,但是经查询,数据集中不存在空缺值。
import pandas as pd注意到题目给出:“其中质量等级分为高、中、低(H\M\L)三个等 级。”故需要把此字符串转化成数字便于后续的训练。
df=df.drop(labels=['机器编号','统一规范代码','具体故障类别'],axis=1)#删除不需要的列接着我们需要对数据进行初步的查看分析,采用散点图进行可视化即可(这里对两个T值分析示例)。
from matplotlib import pyplot as plt得到图像:
根据图像结果,我们可以发现两种温度都在一定范围内波动,但是存在少量离群值(可视作异常值),有些算法对异常值很敏感,如逻辑回归算法。如果不处理,用该算法拟合出来的模型的效果、精确度会很低。有些算法对异常值不敏感,可以不处理异常值。由于目前常用到的3种算法(线性回归、逻辑回归、随机森林),所以还是需要处理异常值,不妨采用箱线图对其进行剔除。
特征提取部分则可以采用方差过滤的方法,把方差(即波动程度小)的特征剔除。
常用的二分类模型有支持向量机、逻辑回归、朴素贝叶斯、Xgboost等模型,本文采用支持向量机(部分代码如下)。
data = np.loadtxt("train data.csv",dtype=float,delimiter=',',skiprows=1)评价体系:有很多指标可以衡量机器学习模型的效果,不同的任务使用的评价指标也不尽相同。本文对二分类任务的评价指标加以总结。全文系作者原创,仅供学习参考使用,转载授权请私信联系,否则将视为侵权行为。码字不易,感谢支持。
在二分类问题中,数据的标签通常用(0/1)来表示,在模型训练完成后进行测试时,会对测试集的每个样本计算一个介于0~1之间的概率,表征模型认为该样本为阳性的概率,我们可以选定一个阈值,将模型计算出的概率进行二值化,比如选定阈值=0.5,那么当模型输出的值大于等于0.5时,我们就认为模型将该样本预测为阳性,也就是标签为1,反之亦然。选定的阈值不同,模型预测的结果也会相应地改变。二元分类模型的单个样本预测有四种结果:
这四种结果可以画成2 × 2的混淆矩阵:
有了混淆矩阵,就可以定义各种指标了。
多分类模型可以采用MLP模型,这里我们依旧使用的是 sklearn 中的库,模型如下:
多层感知机(MLP,Multilayer Perceptron)也叫人工神经网络(ANN,Artificial Neural Network), 除了输入输出层,它中间可以有多个隐层,最简单的 MLP 只含一个隐层,即三层的结构.
多层感知器 (multilayer Perceptron,MLP) 是指可以是感知器的人工神经元组成的多个层次。MPL 的层次结构是一个有向无环图。通常,每一层都全连接到下一层,某一层上的每个人工神经元的输出成 为下一层若干人工神经元的输入。MLP 至少有三层人工神经元。
输入层 (input layer) 由简单的输入人工神经元构成。每个输入神经元至少连接一个隐藏层 (hidden layer) 的人工神经元。隐藏层表示潜在的变量;层的输入和输出都不会出现在训练集中。隐藏层后面连接的是输出层 (output layer)。
隐藏层中的人工神经元,也称单元 (units) 通常用非线性激励函数,如双曲正切函数 (hyperbolic tangent function) 和逻辑函数 (logistic function). 我们的目标是找到成本函数最小化的权重值。通常,MLP 的成本函数是残差平方和的均值.
直接套入模型即可。
绘制热力图、求皮尔逊相关系数、进行显著性相关分析。
#__________________________________________求出各故障对应的指标均值等统计量进行对比量化分析
上一篇:大数据培训与就业