python 老师给的算法分析 求算法代码

数据集包括:个人轨迹数据,确诊患者亮码记录,具体数据样本如下:

(1)个人轨迹数据(df_travel.csv):

2)确诊患者亮码记录(只有一名确诊患者):

 

 

计算两点间距离参考函数(单位:m):

from math import radians, cos, sin, asin, sqrt
def geodistance(lng1, lat1, lng2, lat2):
   lng1, lat1, lng2, lat2 = map(radians, [float(lng1), float(lat1), float(lng2), float(lat2)])
    dlon = lng2-lng1
    dlat = lat2-lat1
    a = sin(dlat/2)**2 + cos(lat1) * cos(lat2) * sin(dlon/2)**2
    distance = 2 * asin(sqrt(a)) * 6371.393 * 1000
    distance = round(distance, 5)
    return distance

  

 

 

评分标准

 

直接密接人员:与确诊患者亮码时间差的绝对值在5分钟内,距离在10米以内。

间接密接人员:与直接密接人员的亮码时间差的绝对值在5分钟内,距离在10米以内。

如果既是直接密接人员又是间接密接人员,统一归类为直接密接人员。

 

比赛采用标准的macro F1,参考代码如下:

from sklearn.metrics import f1_score 
y_true = [1, 0, 1, 0] 
y_pred = [1, 1, 1, 0] 
score = f1_score(y_true, y_pred, average='macro')

 

注:模型中最多可使用的进程数不得大于4。

 

初赛提交:

提交csv格式,编码为UTF-8,第一行为表头,如下例(具体内容可见submit.csv):

id,label

dfd4f1d7eb83e9deed0b7b26a6f454bd,0

2c9ce642979c255efef67daca260b444,1

5df28e5e9b6b5e5662c8e5c40221ff52,2

....

注:label中0-代表无任何接触人员,1-代表直接接触人员,2-代表间接接触人员。 

 

复赛提交:

需要提交以下两个部分:

(一)预测模型

1. 提交说明:

提交需为zip压缩包,目录结构为

-model

  -requirements.txt

  -run.py

  -other_files or folder 

【requirements.txt】需包含所有依赖包,及其版本

【run.py】按照函数内部需求,不能修改固定区域的文件

【other files】需要包含所有程序文件,如模型文件,如功能函数

2. 服务器参数

python版本3.6.12

NVIDIA-SMI 418.165.02  

Driver Version: 418.165.02  

注:不能使用GPU

模型输出文件demo:

注:label中0-代表无任何接触人员,1-代表直接接触人员,2-代表间接接触人员。

标签值是什么,直接,间接根据规则可以直接算出来了