代码大纲
数据预处理
第一步
/macinfo/origin2normal_test2.py
功能:数据预处理第一步。将原始数据打散。
/macinfo/macdata/origin_info.csv/macinfo/macdata/normal_origin_info.txt
第二步
/macinfo/nromal_origin_info_deljizhan.py
规定日期范围:
start_time ='2017-09-11 00:00:00'
end_time ='2017-11-13 00:00:00'
功能:获得出现地点大于两个地方的mac对应的info
/macinfo/macdata/normal_origin_info.txt/macdata/normal_origin_info_del_oneplace.txt
第三步
/fp_growth/macycl.py
沿用上述日期范围
实现功能:得到出现天数大于n(这里取静态值10)天的macinfo
/macinfo/macdata/normal_origin_info_del_oneplace.txt /fp_growth/data/normal_origin_info_10days.txt
mac列表
/fp_growth/phonetypelist.py
实现功能:得到mac列表
/fp_growth/data/normal_origin_info_10days.txt/fp_growth/data/type_macs.csv
数据增维
/macinfo/normalinfoAdd.py
实现功能:增加打散后数据的维度
/fp_growth/data/normal_origin_info_10days.txt/macdata/normalinfo_add.txt
数据索引1
/macinfo/normalinfoTransform.py /macinfo/normalinfoTransform_update.py
实现功能:将地点降为地点类型/将时间戳降为时段
时间戳、地点mac
/fp_growth/data/normal_origin_info_10days.txt/macdata/normalinfo_trans.txt
/fp_growth/data/normal_origin_info_10days.txt/macdata/normalinfo_trans_v2.txt
数据索引2
/macinfo/normalinfoTransform2.py
实现功能:日期、macplaceinfo
重新索引后的数据格式:起始时间1,终止时间1,place id1……
/macdata/normalinfo_trans.txt/macdata/path/macid+pathinfo.txt
数据呈现
根据日期统计记录数目
recordsByDay.py recordsByDay_2.py
根据日期统计记录数目 并保存结果输出文件
/fp_growth/data/normal_origin_info_10days.txt/macdata/records/normal_origin_info_ByDays.txt/macdata/records/datecountsByDay.csv
以小时为单位统计记录数目
recordsByDayHours.py
根据小时统计记录数目 并保存结果输出文件
/macdata/normalinfo_add.txt/macdata/records/datecountsByDayHours.csv
根据日期统计mac出现个数
recordsByMac.py recordsByMac2.py
根据日期统计当天出现的mac和date根据日期统计mac出现的个数
/fp_growth/data/normal_origin_info_10days.txt/macdata/records/normal_origin_info_date_mac.txt/macdata/records/datecountsByMac.csv
以小时为单位统计mac出现个数
recordsByMacHours.py recordsByMacHours2.py
根据日期小时统计当天出现的mac和date根据日期小时统计mac出现的个数
/fp_growth/data/normal_origin_info_10days.txt/macdata/records/normal_origin_info_datehour_mac.txt/macdata/records/datecountsByMacDayHours.csv
热力图
heatmap.py
生成baidumapAPI对应格式数据集
/fp_growth/data/normal_origin_info_10days.txt/plot/plotdata/longlatcount.csv
统计节假日/非节假日 平均记录数/分布记录数
holiday.py
代码1:统计节假日和非节假日的平均记录数
代码2:关于节假日和非节假日的记录分布情况
输入数据:/macinfo/macdata/normalinfo_add.txt
结果数据:/plot/plotdata/节假日分布统计.txt 节假日记录数.txt
统计节假日/非节假日 不同的mac数目(总览)
holidaymac.py
输入数据:/macinfo/macdata/normalinfo_trans.txt
结果数据:/plot/plotdata/人员分布.txt
统计mac按照时间和地点分布情况
macCountByDisTime.py
macCountByDisTime4.py
macCountByDisTime6_24.py
输入:/macinfo/macdata/normalinfo_trans.txt
输出:/plot/plotdata/maccountbyday.csv
/plot/plotdata/maccountbyday_4ranges.csv
/plot/plotdata/maccountbyday_24ranges.csv
手机型号统计
phonetype.py phonetype2.py
输入数据:
/fp_growth/data/type_macs.csv /macinfo/macdata/macDevinfo.txt
输出数据:
/plot/plotdata/phonetypecount.csv
数据查询
通过pid起止时间查询
通过pid、星期、规定时段查询
getNormalinfo_to_file.py
算法模块
关联算法
/fp_growth/FP_Growth_sampling.py
- 输入起止时间start_time end_time、时间采样间隔delta_min 输出maclist
- 输入mac地址、最小置信度minsup 输出关联mac
输出:/fp_growth/data/related_maclist.txt
聚类算法
人员特征矩阵生成
统计每个人时间特征矩阵(关于地点出现的次数)
/K_means/Count_Array.py
/K_means/Count_Array_update.py
/K_means/Count_Array_update2.py
/macinfo/macdata/normalinfo_trans_v2.txt
user_count_array_includex.csv
user_count_array_includex_1.csv
user_count_array_includex_1_extra.csv
矩阵合并 K均值聚类
三个矩阵合并
dataframendarray
数据归一化
PCA降维
K均值聚类
图像生成
结果保存到本地
文件生成:
/K_means/data/user_TimeArray.csv
/K_means/data/user_TimeArray_includex.csv
聚类结果数据特征:
/K_means/data/K_means/n_clusters.txt
聚类图像生成
/K_means/K_means_plot.py
输出:/K_means/img/n_clusters.png
网友评论