基于多源数据融合的POI智能推荐系统

编程入门 行业动态 更新时间:2024-10-17 22:16:31

基于多源数据融合的POI<a href=https://www.elefans.com/category/jswz/34/1770939.html style=智能推荐系统"/>

基于多源数据融合的POI智能推荐系统

目录
一、引言 1
二、关键技术方案 1
2.1 随机森林 1
2.2 经纬度转化 2
2.3 聚类 2
[简要介绍本项工作涉及的关键技术方案] 2
三、实验 4
4.1 数据 4
4.2 实验环境 5
4.3 实验步骤 5
一.事故严重程度 5
五、结果与讨论 8
5.1 结果 8
5.2 讨论 10
六、总结 10
参考文献: 11

一、引言
针对交通事故频繁发送的今天需要分析下交通事故发送的原因和造成损失的因素等等。

二、关键技术方案
[介绍采用的关键技术方法、原理、机理、算法、模型等。]
2.1 随机森林
利用随机森林可以对数据处理有好的结果,因为是一个多分类器的模型,所以无论是拟合效果和最后的结果还是都不错的。
随机森林就和他的名字一样,是一个森林一样的,我了解到的一种是他会建立很多的决策树分类器来做分类。然后在最后汇总效果好的。他会分袋内数据和带外数据。它会随机提取一些属性和一些数据,进行决策树的建立,然后在对建立的结果。
在随机森林中某个特征X的重要性的计算方法如下:
(1)对于随机森林中的每一颗决策树,使用相应的OOB(袋外)数据计算它的袋外数据误差,记为errOOB1。
(2)随机地对袋外数据所有样本的特征X加入噪声干扰(就可以随机的改变样本在特征X处的值),再次计算它的袋外数据误差,记为errOOB2。
(3)假设随机森林中有Ntree颗树,那么对于特征X的重要性 = ∑(err00B2-errOOB1)/Ntree,之所以可以用这个表达式来作为相应特征的重要性的度量值是因为:若给某个特征随机加入噪声之后,袋外的准确率大幅度下降,本文转载自/onews.asp?id=14809则说明这个特征对于样本的分类结果影响很大,也就是说它的重要程度比较高。

选择决策树的最主要原因是,相对于单独的分类器,看上面的描述可以知道泛华拟合好的同时不用担心过拟合的情况。相对于神经网络这种黑盒式的感知机模型,有着良好的解释性,可以知道那些属性影响如何。

用处:对一些交通损失程度做一个预测,通过车流量对交通事故次数程度做一个预测。
2.2 经纬度转化
经纬度,首先经度是南极到北极的地球外表连线,范围是-180180.维度是平行于赤道的一个外围,和地心的连线。范围为-9090。
经纬度计算公式:这个可以看成球面上的2点求距离。这个时候我们需要假想第三个点,那就是和他有一个维度相同的点。计算的时候,分别计算统一经度下维度的差别,就是(2pi6371角度差)/360=distance
维度相同求经度的距离:首先求同求圆环半径r1=r
cosx,这个时候在套用上面的公式(2pir1*角度差)/360=distance。这样就有了经纬度计算距离的关系式了。

import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd
import datetime
accident= pd.read_csv('../data/accidents_2012_to_2014.csv/accidents_2012_to_2014.csv', sep=',')
def ori():level3 = accident[accident['Accident_Severity'] == 3]level2 = accident[accident['Accident_Severity'] == 2]level1 = accident[accident['Accident_Severity'] == 1]f, (ax1,ax2,ax3) = plt.subplots(1,3,figsize=(15,9))## level 3 plotlevel3.plot(kind='scatter', x='Longitude',y ='Latitude',color='yellow',s=.02, alpha=.6, subplots=True, ax=ax1)ax1.set_title("level_3_severtiy")ax1.set_facecolor('black')## level 2 plotlevel2.plot(kind='scatter', x='Longitude',y ='Latitude',color='yellow',s=.02, alpha=.6, subplots=True, ax=ax2)ax2.set_title("level_2_severtiy")ax2.set_facecolor('black')# level 1 plotlevel1.plot(kind='scatter', x='Longitude',y ='Latitude',color='yellow',s=.02, alpha=.6, subplots=True, ax=ax3)ax3.set_title("level_1_severtiy")ax3.set_facecolor('black')plt.show()
def create_times():begin=datetime.datetime(2017,11,11,0,0)end=datetime.datetime(2017,11,12,0,0)delat=end-beginresult=[]for i in range(delat.seconds+480):f,b=str(begin.min+datetime.timedelta(seconds=i*180)).split(" ")h,m,s=b.split(":")result.append(h+":"+m)return resultdef nmd(time1,time2,xx):print(time1)f1=accident[(accident['Time']>=time1)&(accident['Time']<=time2)]f,(ax1)=plt.subplots(1,1,figsize=(5,9))f1.plot(kind='scatter',x='Longitude',y ='Latitude',color='yellow',s=.02, alpha=.6, subplots=True, ax=ax1)ax1.set_title(time1)ax1.set_facecolor("black")plt.ylim((49,61))plt.xlim((-7,3))plt.savefig("img/"+str(xx)+".jpg")
# nmd()
def save_img():re=create_times()for i in range(368,len(re)-1,1):nmd(re[i],re[i+1],i)
# save_img()
ori()














更多推荐

基于多源数据融合的POI智能推荐系统

本文发布于:2024-02-26 21:46:33,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1704048.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:智能   数据   系统   POI

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!