# 基于多源数据融合的 POI 智能推荐
## 引言
针对交通事故频繁发送的今天需要分析下交通事故发送的原因和造成损失的因素等等。
**关键技术方案**
[介绍采用的关键技术方法、原理、机理、算法、模型等。]
**随机森林**
利用随机森林可以对数据处理有好的结果,因为是一个多分类器的模型,所以无论是拟合效果和最后的结果还是都不错的。
随机森林就和他的名字一样,是一个森林一样的,我了解到的一种是他会建立很多的决策树分类器来做分类。然后在最后汇总效果好的。他会分袋内数据和带外数据。它会随机提取一些属性和一些数据,进行决策树的建立,然后在对建立的结果。
在随机森林中某个特征 X 的重要性的计算方法如下:
对于随机森林中的每一颗决策树,使用相应的 OOB(袋外)数据计算它的袋外数据误差,记为 errOOB1。
随机地对袋外数据所有样本的特征 X 加入噪声干扰(就可以随机的改变样本在特征 X 处的值),再次计算它的袋外数据误差,记为 errOOB2。
假设随机森林中有 Ntree 颗树,那么对于特征 X 的重要性 = ∑(err00B2-errOOB1)/Ntree,之所以可以用这个表达式来作为相应特征的重要性的度量值是因为:若给某个特征随机加入噪声之后,袋外的准确率大幅度下降,则说明这个特征对于样本的分类结果影响很大,也就是说它的重要程度比较高。
选择决策树的最主要原因是,相对于单独的分类器,看上面的描述可以知道泛华拟合好的同时不用担心过拟合的情况。相对于神经网络这种黑盒式的感知机模型,有着良好的解释性,可以知道那些属性影响如何。
**用处:**对一些交通损失程度做一个预测,通过车流量对交通事故次数程度做一个预测。
**经纬度转化**
经纬度,首先经度是南极到北极的地球外表连线,范围是-180~180.维度是平行于赤道的一个外围,和地心的连线。范围为-90~90。
经纬度计算公式:这个可以看成球面上的 2 点求距离。这个时候我们需要假想第三个点,那就是和他有一个维度相同的点。计算的时候,分别计算统一经度下维度的差别,就是(2*pi*6371*角度差)/360=distance
维度相同求经度的距离:首先求同求圆环半径 r1=r*cosx,这个时候在套用上面的公式(2*pi*r1* 角度差)/360=distance。这样就有了经纬度计算距离的关系式了。
**聚类**
[简要介绍本项工作涉及的关键技术方案]
通过对是事故点计算,整出一个范围内事故点的数目。
![](https://www.writebug.com/myres/static/uploads/2021/11/12/f58da84cc60c4049bfedb2853a7aa4fa.writebug)
**思路:**一开始我准备用一个一个的去填充他,后来觉得会有一部分的,空间没有背覆盖或者需要在添加一个再去覆盖,这样就有了多余的区域.如图上那个讲一个区域划分为等大的多个小圆,然后统计小圆内事故的数目。然后我在想通过正方形去覆盖。这样开始是不错的,因为全覆盖没有多余的空间覆盖,可以搜索区域。不过想了想还是转化了下思路,因为覆盖这个问题,如果我只做一次小范围圈存,那其实么那么多讲究,只需要全部覆盖就可以了。但是如果我需要将这些小的单元合并了。这个时候我就把这个问题划分成了一个每一个小的正方形都有一个中心点,他的中心点就是他的重要属性,这样我们视野就变化成了,我们没有范围的限制,只有这些点的限制。然后计算的方式就是先确定这些点在那 4 个中心点内,然后求最近的一个点。当然,之前也说了可以直接用正方形代替,所以我们可以将这个过程想成正方形区域内问题。可能感觉这 2 个是同一个东西。不过我是这么理解的。第一种正方形区域化,单纯的只是一个装载过程,第二个点的形式,我可以选择很多种计算事故点距离我这个中心点距离的方式,不过我选择的是正方形范围内取值。相当于把这个过程拆分成了 2 个步骤。
为啥需要这么做,其实也是个假想,因为我很多没有实现,哈哈哈。其实可能感觉起来很简单,但是我确实想了很多,比如很多实际问题。首先有一个假设,那就是我能划分的足够小,这个足够小是一个需要拿捏的过程,我没有计算出合适的范围。先假设这个存在,那么这一个点我们就把他叫做整个地图的基准点 base_point。然后我们没划分一个范围需要有一个中心点,center_point。细分的好处在哪里,那就是完全可以合并那些基准点。我可以把多个基准点合并在一起如果他们是类似的化,这个地方就是如果一个区域范围很大,没办法一个范围容纳。这个区域划分是一个什么思路了,我感觉可以通过 bfs 搜索其他的相邻的点,然后计算 2 者之间事故点的差别是否可以容许。这个计算就很需要讲究了如果他是一个低间隔下降的,那肯定会被划分在一起,所以这一块的设计就需要一个整体化去和的过程,怎么理解这个过程了,我想的是优先队列和 dfs 结合。然后求整体的方差去绝对是否需要下一个点。这样我觉得就算是一个环形范围的区域也可以找的出来,当然这个需要避免环的问题。然后这一部将合并的区域一起做一个标识,我们可以首先对基准点范围内所有的事故次数做一个统计,然后进行一个分类,比如 0~10 分为 1,10~20 分为 2。这样我们还可以对同一个 2 个不同的中心点区域进行一个分析。我们可以通过计算这些区域点的分布情况来计算相似度。这个用处就很大了,计算城市不同区域的结构相似度,当然这是假设,因为我也没做实验。
**实验数据**
有 2 张表
1 表记录事故(31 个属性)Accident_Index,Location_Easting_OSGR,Location_Northing_OSGR,Longitude,Latitude,Police_Force,Accident_Severity,Number_of_Vehicles,Number_of_Casualties,Date,Day_of_Week,Time,Local_Authority_(District),Local_Authority_(Highway),1st_Road_Class,1st_Road_Number,Road_Type,Speed_limit,Junction_Detail,Junction_Control,2nd_Road_Class,2nd_Road_Number,Pedestrian_Crossing-Human_Control,Pedestrian_Crossing-Physical_Facilities,Light_Conditions,Weather_Conditions,Road_Surface_Conditions,Special_Conditions_at_Site,Carriageway_Hazards,Urban_or_Rural_Area,Did_Police_Officer_Attend_Scene_of_Accident,LSOA_of_Accident_Location,Year(很多属性我都没看懂)
2 表记录所有公路的起点终点,车流量属性等。AADFYear,CP,Estimation_method,Estimation_method_detailed,Region,LocalAuthority,Road,RoadCategory,Easting,Northing,StartJunction,EndJunction,LinkLength_km,LinkLength_miles,PedalCycles,Motorcycles,CarsTaxis,BusesCoaches,LightGoodsVehicles,V2AxleRigidHGV,V3AxleRigidHGV,V4or5AxleRigidHGV,V3or4AxleArticHGV,V5AxleArticHGV,V6orMoreAxleArticHGV,AllHGVs,AllMotorVehicles,Lat,Lon
- 具体属性解释可以看连接
- 实验环境
- [包括使用的硬件、软件(服务器/客户端操作系统,服务器、数据库、虚拟机等支撑软件)
Windows 10,python,MySQL
Ubuntu16.04
实验步骤
事故严重程度
##### 数据清理
将所有属性进行一个筛选,如果有一项的出现次数大于 70% 就去掉这个属性,如果缺失属性太多去掉,一些不好处理的数据也去掉。这样就筛选了 15 个左右属性,然后将这个属性转化成数字类型。
**套用模型**
利用随机森林的模型,将事故损伤程度作为标签,然后进行套用,参数是 200 棵决策树 cr4.5 类型。
**分析结果**
![](https://www.writebug.com/myres/sta
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
100012511-基于Python 实现多源数据融合的 POI 智能推荐.zip (49个子文件)
zhineng_zuoye
LICENSE 1KB
img.doc-md
7-9b48dc933a14c95b6cbb25ca2d86695b.png 115KB
2-ed8300ef95628141adff6c72630c9cd5.png 142KB
9-18fdf2757efbc2ab978f134fdf3b1729.png 870KB
3-45b6a4c1eb18dcbd19f6cc68b9408827.png 199KB
1-7a68b148164de3b87ae01e40d3f36f87.png 63KB
6-7aa924d7f9fe87cdc0a1ea883de50f06.png 1.1MB
5-d878259e0c0789c7f0a24df349100853.png 154KB
8-7a92f06c8e2f2cf5e4ac503eb5a6c4f2.png 154KB
4-64d33e4ab5ce4a75de731d9a45606c99.png 78KB
README.md 15KB
k
sql
1.txt 2KB
__pycache__
kmql.cpython-37.pyc 2KB
kmql.py 2KB
S.py 732B
xixi
mpd.py 463B
xxxx.py 122B
drx.py 870B
time.py 1KB
1 371B
caculate.py 77B
dcircle.py 1KB
__pycache__
caculate.cpython-37.pyc 327B
.idea
work1.iml 467B
vcs.xml 189B
workspace.xml 34KB
misc.xml 185B
modules.xml 262B
encodings.xml 135B
deal
work1.py 4KB
sql.json 251B
calL
dis.py 625B
__pycache__
dis.cpython-37.pyc 659B
view
videa.py 382B
V2.py 2KB
test_vie.py 128B
.ipynb_checkpoints
ll-checkpoint.ipynb 180KB
ll.ipynb 250KB
full
clp.py 2KB
droad.py 3KB
json_read.py 180B
sl.json 1KB
tmd.json 885B
dny.py 4KB
one_step.py 2KB
__pycache__
json_read.cpython-37.pyc 424B
one_step.cpython-37.pyc 2KB
.ipynb_checkpoints
accident_coords_update-checkpoint.ipynb 7KB
111172-刘意-结题.doc 2.92MB
共 49 条
- 1
资源评论
神仙别闹
- 粉丝: 2704
- 资源: 7645
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功