机器学习 |
您所在的位置:网站首页 › 经度纬度影响因素分析 › 机器学习 |
完整代码和数据地址:https://download.csdn.net/download/qq475225253/87880725 什么是“众包任务”,就是一个app在上面发送任务,众多注册的会员可以在上面领取任务,完成后就可以后相应金额的奖励。任务很简单,例如去采集当地或附近的一些商品的价格。有点类似市场调查,让注册用户去帮我们实地拍照上传调查数据。 但我们现在手头有两张表,附件一是已完成项目任务数据,附件二会员信息数据。附件一中的价格是我们初始人工定义的,执行一段时间后,发现还是有很多任务没有被完成。那如何来优化这些任务价格,使得未完成的任务会较大概率被完成呢?这就是我们今天要解决的问题。 一、可视化原始数据 拿到附件一和附件二后,我们可能首先想看下这些会员和任务之间的地理关系,由此分析出一些内部关联。 1、安装Folium Folium是一个地理信息可视化包,也就是有了它,待会我们就可以在地图上描点,并展示出来。安装命令:pip install folium 2、编写代码将会员和任务的地理信息展示出来 import pandas as pd A=pd.read_excel('附件一:已结束项目任务数据.xls') B=pd.read_excel('附件二:会员信息数据.xlsx') #2.导入地图可视化包 import folium as f #利用map函数创建地图,参数依次为地图中心位置(纬度,经度)、地图缩放大小、地理坐标系编码 M=f.Map([A.iloc[0,1],A.iloc[0,2]],zoom_start=14,crs='EPSG3857') #利用Circle函数在地图上画圆圈,参数依次为半径大小(单位:米)、圆心位置(纬度、经度)、颜色… for t in range(len(A)): f.Circle(radius=50, location=[A.iloc[t,1],A.iloc[t,2]], color='black', fill=True, fill_color='black').add_to(M) for t in range(len(B)): f.Circle(radius=50, location=[B.iloc[t,1],B.iloc[t,2]], color='red', fill=True, fill_color='red').add_to(M) #3.保存地图,html文件,可以在浏览器打开,比如360极速浏览器 M.save('f.html')二、确定任务价格的因素 任务定价和那些因素有关呢?比如一定范围内,如果会员越多,价格可以更低。比如6点半接单的兴趣没有8点接单的兴趣高。等等。我们从中选出12个与定价有关的因素,如下图: 写代码,算出12个因素的值 # -*- coding: utf-8 -*- import pandas as pd #导入pandas库 import numpy as np #导入nmypy库 import math #导入数学函数模 import fun #导入定义的函数 A=pd.read_excel('附件一:已结束项目任务数据.xls') B=pd.read_excel('附件二:会员信息数据.xlsx') Z=np.zeros((len(A),13)) for t in range(len(A)): A_Wt=A.iloc[t,1] #第t个任务的维度 A_Jt=A.iloc[t,2] #第t个任务的经度 D1=np.zeros(len(A)) D2=np.zeros(len(B)) for i in range(len(A)): A_Wi=A.iloc[i,1] #第i个任务的维度 A_Ji=A.iloc[i,2] #第i个任务的经度 d1=111.19*math.sqrt((A_Wt-A_Wi)**2+(A_Jt-A_Ji)**2* math.cos((A_Wt+A_Wi)*math.pi/180)**2); D1[i]=d1 for k in range(len(B)): B_Wk=B.iloc[k,1] #第k个会员的维度 B_Jk=B.iloc[k,2] #第k个会员的经度 d2=111.19*math.sqrt((A_Wt-B_Wk)**2+(A_Jt-B_Jk)**2* math.cos((A_Wt+B_Wk)*math.pi/180)**2); D2[k]=d2 Z[t,0]=t Z[t,1]=len(D1[D1 |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |