Matlab决策树对空气质量和天气温度及天气数据做交通出行推荐预测|数据分享

简介: Matlab决策树对空气质量和天气温度及天气数据做交通出行推荐预测|数据分享

为解决城市交通拥堵问题,本文提出了一种基于 Matlab决策树的交通预测方法,我们通过采集上海地区的空气质量数据和温度数据,帮助客户在 Matlab中实现决策树建模,利用所提取的天气和温度特征建立决策树,对未来的出行时间、出行路线等进行预测点击文末“阅读原文”获取完整代码数据


结果表明:该方法可实现交通时间、出行路线的预测,并能在未来三天进行有效预测时间长度与空气质量、温度相关。


数据


里面一个是天气数据(区县自动站实况数据),只把地区为徐家汇的取出来,其余地点的不用参考。

另一个是空气数据(实时空气质量数据)。


预期结果


根据空气中的空气质量和天气数据中的温度及天气情况做一个交通出行的推荐。

举个例子:今天温度0度 天气晴朗 空气质量优 出行方式可以为 公交车或地铁。

今天温度15度 天气晴朗 空气质量优 出行方式为 步行。

今天温度15度 天气晴朗 控制质量轻度污染 出现方式为 公交车或地铁。


读取气温数据


[data, ~, raw] = xlsread('区县自动站实况数据.xlsx','Sheet2');


筛选对应日期数据


data=data(1:9649,:);
raw=raw(1:9649,:);


找出徐家汇地区的数据


index=strcmp(raw(:,3),'徐家汇')


读取空气质量数据


[data2, ~, raw2, dateNums] = xlsread('实时空气质量数据(历史)2.xlsx','Sheet1','','


筛选对应日期数据


data2=data2(4415:end,:);
raw2=raw2(4415:end,:);


得到对应时间


index=1:3:2880

得到对应时间的 空气质量数据

mydata=[raw,raw2];


建立决策规则


分类类别号

label=mydata(:,18);
%label=label(2:end);

将类别号赋值给outData

outData=label;

获得特征变量矩阵

inData = [data,data2];          % 输入特征矩阵

根据训练集数据创建决策树

classregtree(inData, o)

查看决策树

view(mytree);


点击标题查阅往期内容


数据分享|R语言用主成分PCA、 逻辑回归、决策树、随机森林分析心脏病数据并高维可视化


01

02

03

04


决策树规则


Decision tree for classification
  1  if x5<11.5 then node 2 elseif x5>=11.5 then node 3 else 步行
  2  if x5<3.5 then node 4 elseif x5>=3.5 then node 5 else 步行
  3  if x13<0.45 then node 6 elseif x13>=0.45 then node 7 else 步行
  4  if x1<2.01504e+011 then node 8 elseif x1>=2.01504e+011 then node 9 else 公交车或地铁
  5  if x12<91.5 then node 10 elseif x12>=91.5 then node 11 else 步行
  6  if x11<11.5 then node 12 elseif x11>=11.5 then node 13 else 步行
  7  if x9<27.5 then node 14 elseif x9>=27.5 then node 15 else 公交车或地铁
  8  if x6<1.6 then node 16 elseif x6>=1.6 then node 17 else 公交车或地铁
  9  class = 步行
 10  if x8<86.5 then node 18 elseif x8>=86.5 then node 19 else 步行
 11  class = 公交车或地铁
 12  if x7<1.5 then node 20 elseif x7>=1.5 then node 21 else 步行
 13  if x9<94 then node 22 elseif x9>=94 then node 23 else 公交车或地铁
 14  if x9<8.5 then node 24 elseif x9>=8.5 then node 25 else 步行
 15  if x6<2.75 then node 26 elseif x6>=2.75 then node 27 else 公交车或地铁
 16  class = 公交车或地铁
 17  class = 步行
 18  class = 步行
 19  if x1<2.01502e+011 then node 28 elseif x1>=2.01502e+011 then node 29 else 步行
 20  class = 步行
 21  if x1<2.01504e+011 then node 30 elseif x1>=2.01504e+011 then node 31 else 步行
 22  if x4<6.95 then node 32 elseif x4>=6.95 then node 33 else 公交车或地铁
 23  class = 步行
 24  if x6<0.35 then node 34 elseif x6>=0.35 then node 35 else 公交车或地铁
 25  if x8<49.5 then node 36 elseif x8>=49.5 then node 37 else 步行
 26  if x6<2.25 then node 38 elseif x6>=2.25 then node 39 else 公交车或地铁
 27  if x11<26.5 then node 40 elseif x11>=26.5 then node 41 else 步行
 28  class = 步行
 29  class = 公交车或地铁
 30  class = 步行
 31  class = 公交车或地铁
 32  if x5<142.5 then node 42 elseif x5>=142.5 then node 43 else 步行
 33  class = 公交车或地铁
 34  class = 步行
 35  if x5<311 then node 44 elseif x5>=311 then node 45 else 公交车或地铁
 36  if x9<22 then node 46 elseif x9>=22 then node 47 else 公交车或地铁
 37  if x12<135 then node 48 elseif x12>=135 then node 49 else 步行
 38  if x5<102.5 then node 50 elseif x5>=102.5 then node 51 else 公交车或地铁
 39  if x8<18.5 then node 52 elseif x8>=18.5 then node 53 else 公交车或地铁
 40  if x12<40.5 then node 54 elseif x12>=40.5 then node 55 else 步行
 41  if x6<3 then node 56 elseif x6>=3 then node 57 else 公交车或地铁
 42  class = 步行
 43  if x1<2.01503e+011 then node 58 elseif x1>=2.01503e+011 then node 59 else 公交车或地铁
 44  class = 公交车或地铁
 45  class = 步行
 46  if x4<21.75 then node 60 elseif x4>=21.75 then node 61 else 公交车或地铁
 47  if x14<40.5 then node 62 elseif x14>=40.5 then node 63 else 步行
 48  if x12<78.5 then node 64 elseif x12>=78.5 then node 65 else 步行
 49  if x5<212 then node 66 elseif x5>=212 then node 67 else 公交车或地铁
 50  if x14<35.5 then node 68 elseif x14>=35.5 then node 69 else 公交车或地铁
 51  if x6<1.85 then node 70 elseif x6>=1.85 then node 71 else 步行
 52  class = 公交车或地铁

查看所有预测的分类标签

y_est
type classregtree

判断准确率

Remp

气温

hist(inData(:,4))

风向

hist(inData(:,5))

风速

hist(inData(:,6))

O3

hist(inData(:,10))

SO2

hist(inData(:,11))

NO2

hist(inData(:,12))

相关文章
|
2月前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于MSER和HOG特征提取的SVM交通标志检测和识别算法matlab仿真
### 算法简介 1. **算法运行效果图预览**:展示算法效果,完整程序运行后无水印。 2. **算法运行软件版本**:Matlab 2017b。 3. **部分核心程序**:完整版代码包含中文注释及操作步骤视频。 4. **算法理论概述**: - **MSER**:用于检测显著区域,提取图像中稳定区域,适用于光照变化下的交通标志检测。 - **HOG特征提取**:通过计算图像小区域的梯度直方图捕捉局部纹理信息,用于物体检测。 - **SVM**:寻找最大化间隔的超平面以分类样本。 整个算法流程图见下图。
|
4天前
|
算法
基于Adaboost模型的数据预测和分类matlab仿真
AdaBoost(Adaptive Boosting)是一种由Yoav Freund和Robert Schapire于1995年提出的集成学习方法,旨在通过迭代训练多个弱分类器并赋予分类效果好的弱分类器更高权重,最终构建一个强分类器。该方法通过逐步调整样本权重,使算法更关注前一轮中被误分类的样本,从而逐步优化模型。示例代码在MATLAB 2022A版本中运行,展示了随着弱分类器数量增加,分类错误率的变化及测试数据的分类结果。
|
3月前
|
算法
基于GA遗传优化的离散交通网络双层规划模型设计matlab仿真
该程序基于GA遗传优化设计了离散交通网络的双层规划模型,以路段收费情况的优化为核心,并通过一氧化碳排放量评估环境影响。在MATLAB2022a版本中进行了验证,显示了系统总出行时间和区域排放最小化的过程。上层模型采用多目标优化策略,下层则确保总阻抗最小,实现整体最优解。
|
5月前
|
机器学习/深度学习 算法 数据挖掘
基于改进K-means的网络数据聚类算法matlab仿真
**摘要:** K-means聚类算法分析,利用MATLAB2022a进行实现。算法基于最小化误差平方和,优点在于简单快速,适合大数据集,但易受初始值影响。文中探讨了该依赖性并通过实验展示了随机初始值对结果的敏感性。针对传统算法的局限,提出改进版解决孤点影响和K值选择问题。代码中遍历不同K值,计算距离代价,寻找最优聚类数。最终应用改进后的K-means进行聚类分析。
|
5月前
|
监控
基于偏微分方程离散化计算的地下换热器建模与温度检测matlab仿真
**摘要:** 探索地下换热器的建模与温度检测,使用MATLAB2022a进行系统仿真,关注传热过程的热传导、对流和辐射。通过离散化偏微分方程建立数值模型,模拟温度场,考虑地质特性和水流影响。建模以网格单元描述温度变化,采用热电偶、红外和光纤测温技术验证模型并监控温度,各具优缺点。光纤测温法提供高精度和抗干扰的分布式监测。
|
6月前
|
机器学习/深度学习 算法 数据可视化
m基于PSO-LSTM粒子群优化长短记忆网络的电力负荷数据预测算法matlab仿真
在MATLAB 2022a中,应用PSO优化的LSTM模型提升了电力负荷预测效果。优化前预测波动大,优化后预测更稳定。PSO借鉴群体智能,寻找LSTM超参数(如学习率、隐藏层大小)的最优组合,以最小化误差。LSTM通过门控机制处理序列数据。代码显示了模型训练、预测及误差可视化过程。经过优化,模型性能得到改善。
116 6
|
6月前
|
机器学习/深度学习 算法 计算机视觉
基于CNN卷积神经网络的金融数据预测matlab仿真,带GUI界面,对比BP,RBF,LSTM
这是一个基于MATLAB2022A的金融数据预测仿真项目,采用GUI界面,比较了CNN、BP、RBF和LSTM四种模型。CNN和LSTM作为深度学习技术,擅长序列数据预测,其中LSTM能有效处理长序列。BP网络通过多层非线性变换处理非线性关系,而RBF网络利用径向基函数进行函数拟合和分类。项目展示了不同模型在金融预测领域的应用和优势。
|
7月前
|
机器学习/深度学习 算法
m基于GA-GRU遗传优化门控循环单元网络的电力负荷数据预测算法matlab仿真
在MATLAB 2022a中,一个基于遗传算法优化的GRU网络展示显著优化效果。优化前后的电力负荷预测图表显示了改进的预测准确性和效率。GRU,作为RNN的一种形式,解决了长期依赖问题,而遗传算法用于优化其超参数,如学习率和隐藏层单元数。核心MATLAB程序执行超过30分钟,通过迭代和适应度评估寻找最佳超参数,最终构建优化的GRU模型进行负荷预测,结果显示预测误差和模型性能的提升。
192 4
|
6月前
|
机器学习/深度学习 算法
基于蛙跳优化的神经网络数据预测matlab仿真
使用MATLAB2022a,应用蛙跳优化算法(SFLA)调整神经网络权重,提升预测精度,输出预测曲线。神经网络结合输入、隐藏和输出层进行预测,蛙跳算法模仿蛙群觅食行为优化权重和阈值。算法流程包括蛙群初始化、子群划分、局部搜索及适应度更新,直至满足停止条件。优化后的神经网络能提升预测性能。
|
6月前
|
机器学习/深度学习 算法
m基于PSO-GRU粒子群优化长门控循环单元网络的电力负荷数据预测算法matlab仿真
摘要: 在MATLAB 2022a中,对比了电力负荷预测算法优化前后的效果。优化前为&quot;Ttttttt111222&quot;,优化后为&quot;Tttttttt333444&quot;,明显改进体现为&quot;Tttttttttt5555&quot;。该算法结合了粒子群优化(PSO)和长门控循环单元(GRU)网络,利用PSO优化GRU的超参数,提升预测准确性和稳定性。PSO模仿鸟群行为寻找最优解,而GRU通过更新门和重置门处理长期依赖问题。核心MATLAB程序展示了训练和预测过程,包括使用&#39;adam&#39;优化器和超参数调整,最终评估并保存预测结果。
61 0

热门文章

最新文章

下一篇
DataWorks