准备数据,这里我们用到经典例子葡萄酒的数据

葡萄酒python预测_数据


第一行为葡萄酒类别,有1、2、3三种类别,第2列到14列为葡萄酒各元素的含量。我们需要做的是对于某一个未知类别的葡萄酒,根据其各元素的含量预测出他的类别。因此输入为各元素的含量,输出为类别。

将数据读入matlab空间,变量名为inout:

葡萄酒python预测_二维_02


选择APP选项中的Classification Learner选项,打开分类学习机,选择New Session选项。

葡萄酒python预测_交叉验证_03


数据选择inout变量,其大小为178*14。由于一组数据其变量需要包括每一列的数据,因此我们选择Use columns as variables,Response代表输出的目标,我们选择第一列,则其余的为Predictors,即训练的输入数据。验证一般选择交叉验证,这里我们选择Cross-Validation选项。然后点击Start Session。

葡萄酒python预测_交叉验证_04


这里可以选择不同的算法进行训练,我们选择All代表使用所有的算法训练一遍,点击Train开始训练。

葡萄酒python预测_数据_05


原始数据的散点图会显示出来,由于这数据只有两维,因此可以全部显示在二维坐标中。如果你的数据多于两维,二维坐标系不能完全显示每一维,你可以在右边红圈的X、Y下拉条中选择显示哪两维。

葡萄酒python预测_MATLAB机器学习工具箱使用_06


红框里面代表的是每一种算法的识别准确率,可以看到第1.5种算法识别准确率最高,可以达到98.9%以上。

点击export model可以导出模型

葡萄酒python预测_二维_07


可以看出模型成功建立。

按照其提示输入trainedModel.predictFcn(X) 语句即可以实现预测功能。其中X为要预测的数组。

比如要预测第一行的数据所对应的类别:

葡萄酒python预测_数据_08


可以看出第一行数据对应的类别为1类别。因此我们的预测过程完成了。