2018-02-28 代码大纲

2018-02-28  本文已影响0人  Chelsea_Dagger

代码大纲


数据预处理

第一步

/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
实现功能:日期、macplaceinfo
重新索引后的数据格式:起始时间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

  1. 输入起止时间start_time end_time、时间采样间隔delta_min 输出maclist
  2. 输入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均值聚类
三个矩阵合并
dataframendarray
数据归一化
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

上一篇下一篇

猜你喜欢

热点阅读