数据挖掘实验
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验报告说明
本课程一共需要写两个实验报告:
实验报告一:基于人工神经网络的曲线拟合
实验目的:首先,熟悉人工神经网络的产生背景、算法的思想和原理以及步骤;其次,熟悉人工神经网络的Matlab工具箱;最后,通过对曲线的拟合的实验,熟练掌握神经网络的程序设计。
实验时间:第11周周二9-10节、第12周周二9-10节;学时:4
参考程序:
实验数据集文件名:data.mat
%% 清空环境变量
clc
clear
%% 训练数据预测数据提取及归一化
%下载输入输出数据
load data input output %input 是2000行2列,output是1行2000列
%从1到2000间随机排序
k=rand(1,2000); %随机生成一个1行2000列的矩阵
[m,n]=sort(k); %对矩阵K排序,其中m表示从小到大的排序结果,n表示m中各数据的排序前的索引(位置结果)
%产生训练数据和预测数据
input_train=input(n(1:1900),:)'; %input_train为2行1900列的训练的输入矩阵
output_train=output(n(1:1900)); %output_train为1行1900列的训练的输出矩阵
input_test=input(n(1901:2000),:)';
output_test=output(n(1901:2000));
%选连样本输入输出数据归一化
[inputn,inputps]=mapminmax(input_train); % mapminmax是对矩阵的行进行归一化处理,其中inputn为归一化后的数据矩阵,inputps是归一化后的结构体,包含最大值、最小值、平均值等信息
[outputn,outputps]=mapminmax(output_train);
%% BP网络训练
% %初始化网络结构
net=newff(inputn,outputn,5);
net.trainParam.epochs=100; %迭代次数
net.trainParam.lr=0.1; %学习率
net.trainParam.goal=0.00004;%目标
%网络训练
net=train(net,inputn,outputn);
%% BP网络预测
%预测数据归一化
inputn_test=mapminmax('apply',input_test,inputps); %按照inputps的规则进行反归一化
%网络预测输出
an=sim(net,inputn_test);
%网络输出反归一化
BPoutput=mapminmax('reverse',an,outputps);
%% 结果分析
figure(1)
plot(BPoutput,':og')
hold on
plot(output_test,'-*');
legend('预测输出','期望输出')
title('BP网络预测输出','fontsize',12)
ylabel('函数输出','fontsize',12)
xlabel('样本','fontsize',12)
%预测误差
error=BPoutput-output_test;
figure(2)
plot(error,'-*')
title('BP网络预测误差','fontsize',12)
ylabel('误差','fontsize',12)
xlabel('样本','fontsize',12)
figure(3)
plot((output_test-BPoutput)./BPoutput,'-*');
title('神经网络预测误差百分比')
errorsum=sum(abs(error))
实验报告二:基于支持向量机的葡萄酒分类
实验目的:首先,熟悉支持向量机的产生背景、算法的思想和原理以及步骤;其次,熟悉支持向量机的Matlab软件包---LibSVM(使用LibSVM软件时,请先安装VC软件);最后,通过对葡萄酒分类的实验,熟练掌握支持向量机的程序设计。
实验时间:第13周周二9-10节、第14周周二9-10节、第15周周二9-10节;学时:6
参考程序:
实验数据集文件名:chapter12_wine.mat
%% SVM的数据分类预测----意大利葡萄酒种类识别
% 问题描述:wine的数据来自于UCI数据库,记录的是在意大利同一区域上三种不同品种的葡萄酒的化学成分,数据里有178个样本,每个样本含有13个特征分量(化学成分),每个样本的类标签已给。
%% 清空环境变量
close all;
clear;
clc;
format compact; %紧凑格式。数据之间无空行
%% 数据提取
% 载入测试数据wine,其中包含的数据为classnumber = 3,wine:178*13的矩阵,wine_labes:178*1的列向量
load chapter12_wine.mat;
% 画出测试数据的box可视化图
figure;
boxplot(wine,'orientation','horizontal','labels',categories);
title('wine数据的box可视化图','FontSize',12);
xlabel('属性值','FontSize',12);
grid on;
% 画出测试数据的分维可视化图
%% 画出178个样本的类别图
figure
subplot(3,5,1);
hold on
for run = 1:178