(文末附数据,可自行尝试,数据来源:清风–数学建模) 观察数据可以发现鸢尾花一共有四个指标来为其分类,所以我们只需要把四个指标作为训练样本,把鸢尾花的种类作为结果放入神经网络即可。最后保存结果(训练好的net),将要预测的指标放入sim函数继续预测就可以了 然而这里有一个小问题,matlab的矩阵没法放文本,这个时候我们采用excel ,将山鸢尾置1,变色鸢尾置2,维吉尼亚鸢尾置3,如何操作?很简单,在excel的函数栏输入 (H3可改,根据实际数据存储方式灵活变换) 注意:维吉尼亚鸢尾那个数据最后有空格
=IFS(H3="山鸢尾",1,H3="变色鸢尾",2,H3="维吉尼亚鸢尾 ", 3)
然后得到一个数据,将鼠标放在右下角,拖拉到最后即可 现在将数据全部放进Matlab中,然后在matlab的命令窗口输入nftool,调出工具箱, 点一个next,然后把x和y放进去,按照行和列选择样本与指标关系,然后点next,可选训练集测试集等,点next可设置网络,再点next,点train,然后一直next,之后在最后一步的时候 save results,保存网络,net会出现在变量窗口 然后开始训练,注意将指标作为列向量传入
predict_y = zeros(6,1); % 初始化predict_y
for i = 1: 6
result = sim(net, predict(i,:)');
predict_y(i) = result;
end
disp('预测值为:')
disp(predict_y)
输出结果
预测值为:
1.0321
3.0024
1.0156
2.0143
3.0112
1.0204
此即为最后答案 数据链接 链接:https://pan.baidu.com/s/1QXfUQQxaRgTt_1AJfqwWeg 提取码:sqrt
|