交 通 隧 道 事 故 率 估 计 模 型 交通隧道事故率估计模型 交通隧道事故率估计模型
data_loader,py
import pandas as pd
import torch
import math
import random
# ============================ step 1/5 数据 ================================
data = pd.read_csv("./data/traffic_28_classifier1.csv")
# data.dropna(axis=0,how='any') #drop all rows that have any NaN values
serises_num=3
serises_len=15
label_tag=13
def arrsToTensor(randomSample):
tensor = torch.zeros(serises_num, 1, serises_len) # serises_num是一个样本的序列长度 serises_len是每一个序列的长度 1是pytorch的格式需要
for i in range(len(randomSample)):
tensor[i][0] = torch.tensor(randomSample.iloc[i].values)
return tensor
def randomTrainingExample():
sampleCounts = data.shape[0]-2
randomSampleNum = random.randint(1,sampleCounts-2) # 最后一个样本不取,因为没有标签
# print(randomSampleNum)
randomSample=data.iloc[randomSampleNum * serises_num - serises_num:randomSampleNum * serises_num]
arrs_tensor = arrsToTensor(randomSample) # arrs_data
randomSampleLabel=data.iloc[randomSampleNum * serises_num][label_tag] # label
# print(randomSampleLabel)
category_tensor = torch.tensor([randomSampleLabel], dtype=torch.long)
return category_tensor, arrs_tensor
if __name__ == "__main__":
category_tensor, arrs_tensor=randomTrainingExample()
print(category_tensor, arrs_tensor)