应用介绍
我们主要应用Matlab中Classification Learner App,通过一组已知的输入数据(观测值或示例)和对数据的已知响应(标签或类)来进行有监督的机器学习,以获得一个最佳的数据分类模型。
数据准备
提示:这里所用数据是我自己的测试数据,可根据自己的情况进行修改:
这里我们收集了152条原始缺陷数据,可以大致分为三类"黑点",“黑条”,“黑印”,数据中存在部分干扰数据以及缺失数据,我们首先进行数据的预处理工作。
例如:数据传输过程中数据不时出现丢失的情况,偶尔会丢失一部分数据
@Override
%数据预处理 - 剔除异常数据
z=find(isnan(features.Area));
features(z,:)=[];
features_O =features;
[minMaxData,~] = mapminmax(features(:,2:end).Variables'); % 归一化
minMaxData = minMaxData'; % 行列转置
zScoreData = zscore(minMaxData); %标准化
features(:,2:end).Variables = zScoreData;
这里我们主要是将获得数据中的异常值进行剔除,并对处理后的数据进行归一化。
数据导入
应用Matlab中Classification Learner App
这里我们进入分类学习器后,将相关数据导入,选择响应变量即对应的标签,点击开始会话。
模型训练
这里只是通过树模型进行初步的测试:
这里我们可以通过选择不同的XY数据进行不同维度的可视化。
点击训练可以进行简单尝试。
这里我们看到数据占比不同可能导致结果存在一定的偏差,后期需要优化,也可以尝试其他模型进行改进,结合自己需求进行快速验证。
测试数据链接