MATLAB实现波士顿房价预测使用BP神经网络

MATLAB实现波士顿房价预测,使用BP神经网络

代码如下(包括下载数据和训练网络):

%%Download Housing Prices

filename = 'housing.txt';

%下载

urlwrite('http://archive.ics.uci.edu/ml/machine-learning-databases/housing/housing.data',filename);

%指定名字

inputNames = {'CRIM','ZN','INDUS','CHAS','NOX','RM','AGE','DIS','RAD','TAX','PTRATIO','B','LSTAT'};

outputNames = {'MEDV'};

housingAttributes = [inputNames,outputNames];

%%Import Data

%格式规范

formatSpec = '%8f%7f%8f%3f%8f%8f%7f%8f%4f%7f%7f%7f%7f%f%[^\n\r]';

fileID = fopen(filename,'r');

%读取大文件,比起testread方便

dataArray = textscan(fileID, formatSpec, 'Delimiter', '', 'WhiteSpace', '', 'ReturnOnError', false);

fclose(fileID);

%写进表格

housing = table(dataArray{1:end-1}, 'VariableNames', {'VarName1','VarName2','VarName3','VarName4','VarName5','VarName6','VarName7','VarName8','VarName9',...

'VarName10','VarName11','VarName12','VarName13','VarName14'});

%Delete the file and clear temporary variables

clearvars filename formatSpec fileID dataArray ans;

%%delete housing.txt

%%Read into a Table

%重新定义变量名字

housing.Properties.VariableNames = housingAttributes;

%X特征向量 Y房价

X = housing{:,inputNames};

Y = housing{:,outputNames};

%数据处理好了,开始训练

features=X;prices=Y;len = length(prices);

index = randperm(len);%生成1~len 的随机数

%%产生训练集和数据集

%训练集——前70%

p_train = features(index(1:round(len*0.7)),:);%训练样本输入

t_train = prices(index(1:round(len*0.7)),:);%训练样本输出

%测试集——后30%

p_test = features(index(round(len*0.7)+1:end),:);%测试样本输入

t_test = prices(index(round(len*0.7)+1:end),:);%测试样本输出

%%数据归一化

%输入样本归一化

[pn_train,ps1] = mapminmax(p_train');

pn_test = mapminmax('apply',p_test',ps1);

%输出样本归一化

[tn_train,ps2] = mapminmax(t_train');

%tn_test = mapminmax('apply',t_test',ps2);

%%神经网络

%创建和训练

net = feedforwardnet(5,'trainlm');%创建网络

net.trainParam.epochs = 5000;%设置训练次数

net.trainParam.goal=0.0000001;%设置收敛误差

[net,tr]=train(net,pn_train,tn_train);%训练网络

%网络仿真,测试数据

b=sim(net,pn_test);%放入到网络输出数据

%%结果反归一化,预测的价格

predict_prices = mapminmax('reverse',b,ps2);

%%结果分析

t_test = t_test';

err_prices = t_test-predict_prices;%误差

[mean(err_prices) std(err_prices)]%求平均,标准差

figure(1);

plot(t_test);

hold on;

plot(predict_prices,'r');

xlim([1 length(t_test)]);

hold off;

legend({'Actual','Predicted'})

xlabel('Training Data point');

ylabel('Median house price');

结果:

MATLAB实现波士顿房价预测使用BP神经网络相关教程

MATLAB房价,MATLAB实现波士顿房价预测使用BP神经网络相关推荐

  1. matlab 神经网络设计多层隐含层_数据预测之BP神经网络具体应用以及matlab代码

    1.具体应用实例.根据表2,预测序号15的跳高成绩. 表2 国内男子跳高运动员各项素质指标 序号 跳高成绩() 30行进跑(s) 立定三级跳远() 助跑摸高() 助跑4-6步跳高() 负重深蹲杠铃() ...

  2. 数据预测之BP神经网络具体应用以及matlab实现

    1.具体应用实例.根据表2,预测序号15的跳高成绩. 表2 国内男子跳高运动员各项素质指标 序号 跳高成绩() 30行进跑(s) 立定三级跳远() 助跑摸高() 助跑4-6步跳高() 负重深蹲杠铃() ...

  3. 数据预测之BP神经网络具体应用以及matlab代码(转)

    1.具体应用实例.根据表2,预测序号15的跳高成绩. 表2 国内男子跳高运动员各项素质指标 序号 跳高成绩() 30行进跑(s) 立定三级跳远() 助跑摸高() 助跑4-6步跳高() 负重深蹲杠铃() ...

  4. bp学习函数matlab代码,小范学数量经济学之四:BP神经网络预测的MATLAB模拟代码

    股票价格预测神器:BP神经网络预测的matlab模拟代码: 自动优选神经元个数: 自动迭代15000次,精度0.001: 代码运行效果图: 原始代码自此处开始: % 本代码由重庆科技学院范巧副教授于2 ...

  5. MATLAB:未来搜索算法(FSA)优化BP神经网络权值、阈值用于降水预测

    **算法简介:**未来搜索算法(Future search algorithm,FSA)是M. Elsisi于2018年通过模仿人类向往美好生活而提出的一种新颖搜索算法.该算法通过建立数学模型模拟人与 ...

  6. MATLAB实现智能计算方法实验:实验三 BP神经网络

    资源链接 MATLAB实现智能计算方法课程所有实验代码资源链接为:MATLAB实现智能计算方法课程所有实验代码资源 本实验代码和excel文件可在GitHub仓库和gitee仓库中进行下载 实验汇总 ...

  7. Matlab中newff函数使用方法和搭建BP神经网络的方法

    1. newff()函数使用方法 net = newff(data,label,[8,8],{'tansig','purelin'},'trainlm') (1)输入参数详细介绍: data:训练时网 ...

  8. 【13】 数学建模 | 预测模型 | 灰色预测、BP神经网络预测 | 预测题型的思路 | 内附代码(清风课程,有版权问题,私聊删除)

    一.灰色预测使用的场景 数据是以年份度量的非负数据(如果是月份或者季度数据一定要用我们上一讲学过的时间序列模型): 数据能经过准指数规律的检验(除了前两期外,后面至少90%的期数的光滑比要低于0.5) ...

  9. bp神经网络数据预测实例,bp神经网络实例分析

    BP人工神经网络方法 (一)方法原理人工神经网络是由大量的类似人脑神经元的简单处理单元广泛地相互连接而成的复杂的网络系统.理论和实践表明,在信息处理方面,神经网络方法比传统模式识别方法更具有优势. 人 ...

最新文章

  1. MQSeries_XA_RMI XAER_RMERR (-3)
  2. linux下nginx启动停止重启控制脚本
  3. 《力学》课时三常见力和牛顿三定律
  4. 生成的头_Python爬虫偷懒神器!快速一键生成Python爬虫请求头
  5. 重磅!深度学习的顶级会议ICLR 2020 数据图文详解
  6. word2vec词向量训练及中文文本类似度计算
  7. mysql连接数据了的dep_Mysql-多表连接的操作和用法
  8. C#操作内存读写方法是什么呢?让我们来看看具体的实例实现:
  9. 打开 IBM Rational Rose Enterprise Edition 报错的处理
  10. MIP(Mobile instant pages 移动网页加速器)
  11. Java小游戏之《大鱼吃小鱼》
  12. 【报告分享】2020中国老酒白皮书-胡润研究院(附下载)
  13. 免费把你的 GoogleDrive 和 OneDrive 变成 CDN
  14. 大班音乐机器人反思_大班音乐活动lbrack;机器人rsqb;
  15. mysql5.6 rpm安装配置
  16. 如何用Graphpad Prism 8制作箱型图
  17. JPG图片怎么压缩到30k内?如何压缩图片到指定大小?
  18. stm32项目平衡车详解(stm32F407)下
  19. mysql的exists与inner join 和 not exists与 left join 性能差别惊人
  20. 51单片机——PM2.5检测

热门文章

  1. Win10 内置 OpenSSH 使用密钥连不上的问题解决
  2. go用函数字符串名调用函数
  3. 我为比尔盖茨熬夜加班的那个晚上
  4. HTTP 十分钟教程
  5. 3DMAX、C4D、Maya导出fbx到Unity设置
  6. vue3.0 + xlsx 实现纯前端生成excel表格
  7. 要么忍,要么狠,要么滚
  8. 字节入职福利太香了!7月最新Java面经已更新
  9. 计算机一级考试《MS Office》
  10. html 气泡动画效果,CSS 动画实现动态气泡背景的方法