POI推荐实战1:将NYC及CDRs处理后在GETNext运行

2024-03-13 10:40

本文主要是介绍POI推荐实战1:将NYC及CDRs处理后在GETNext运行,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

NYCTKYCDRsInGETNext

将数据经过deepmove方式处理后导入GETNext

目录

  • NYCTKYCDRsInGETNext
  • 1 NYC&TKY
    • 数据经DeepMove方式处理
    • 处理后pk文件经PG2Net导出并处理格式
    • 数据导入GETNext模型并在服务器训练
  • 2 CDRs
    • 数据经DeepMove方式处理
    • 处理后pk文件经PG2Net导出并处理格式
    • 数据导入GETNext模型并训练

1 NYC&TKY

数据经DeepMove方式处理

1、数据直接从Google下载原始txt文件
在这里插入图片描述
2、GETNext所给示例数据显示特征有如下这些:user_id,POI_id,POI_catid,POI_catid_code,POI_catname,latitude,longitude,timezone,UTC_time,local_time,day_of_week,norm_in_day_time,trajectory_id,norm_day_shift,norm_relative_time,但观察数据导入过程发现只需要norm_in_day_time,latitude,longitude,POI_catname,POI_catid_code,POI_catid,POI_id,user_id七项特征输入。于是确定经过数据处理后需要保留的特征
3、txt转csv并将时间调整为deepmove示例文件格式
在这里插入图片描述
4、deepmove数据处理函数调整
此函数用来生成sessions,与原来的session_tran对比,新建session_tran_new用来读取不同的所需要的特征如经纬度和用户id
在这里插入图片描述
5、在时间部分,与deepmove相比,GETNext不区分周六日并将一天按每半个小时划分。调整后的时间部分处理函数如下:
在这里插入图片描述

处理后pk文件经PG2Net导出并处理格式

1、改写PG2Net读取pk文件部分
在这里插入图片描述

2、对train数据和test数据读出后暂存在列表,经过函数处理后添加表头以及调整格式分别保存到csv
在这里插入图片描述

3、设置采样率为100%以打乱数据顺序

数据导入GETNext模型并在服务器训练

1、将数据放入GETNext构图函数,构图后得到训练所需文件
在这里插入图片描述
2、训练在服务器上进行,epoch设置为40,训练结果与PG2Net对比如下
在这里插入图片描述

2 CDRs

数据经DeepMove方式处理

1、CDR数据集没有POI种类并且对POI没有编号,首先对POI进行编号,处理方式为构建编号字典,如果经纬度完全相同则认为是同一个地点编号相同;同时对时间格式进行处理,处理后的数据如下
在这里插入图片描述
2、与NYC类似将符合deepmove格式的数据导入并进行处理,处理后得到pk文件

处理后pk文件经PG2Net导出并处理格式

1、将pk文件导入PG2Next,然后做法与NYC相同,改写了原PG2Net读取pk文件的函数,结果暂存列表调整格式增加表头后转为csv保存,得到train和test对应的csv文件
在这里插入图片描述
在这里插入图片描述

数据导入GETNext模型并训练

1、将处理好的train.csv导入GETNext进行构图,得到25g大的csv…。。。
2、采取采样的方式,采样5%,进行构图后得到11g左右大的csv
在这里插入图片描述
3、项目在服务器进行训练,epoch设为40,训练完后结果如下

在这里插入图片描述

这篇关于POI推荐实战1:将NYC及CDRs处理后在GETNext运行的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/804596

相关文章

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA

Python FastAPI+Celery+RabbitMQ实现分布式图片水印处理系统

《PythonFastAPI+Celery+RabbitMQ实现分布式图片水印处理系统》这篇文章主要为大家详细介绍了PythonFastAPI如何结合Celery以及RabbitMQ实现简单的分布式... 实现思路FastAPI 服务器Celery 任务队列RabbitMQ 作为消息代理定时任务处理完整

C#使用SQLite进行大数据量高效处理的代码示例

《C#使用SQLite进行大数据量高效处理的代码示例》在软件开发中,高效处理大数据量是一个常见且具有挑战性的任务,SQLite因其零配置、嵌入式、跨平台的特性,成为许多开发者的首选数据库,本文将深入探... 目录前言准备工作数据实体核心技术批量插入:从乌龟到猎豹的蜕变分页查询:加载百万数据异步处理:拒绝界面

Spring Boot + MyBatis Plus 高效开发实战从入门到进阶优化(推荐)

《SpringBoot+MyBatisPlus高效开发实战从入门到进阶优化(推荐)》本文将详细介绍SpringBoot+MyBatisPlus的完整开发流程,并深入剖析分页查询、批量操作、动... 目录Spring Boot + MyBATis Plus 高效开发实战:从入门到进阶优化1. MyBatis

MyBatis 动态 SQL 优化之标签的实战与技巧(常见用法)

《MyBatis动态SQL优化之标签的实战与技巧(常见用法)》本文通过详细的示例和实际应用场景,介绍了如何有效利用这些标签来优化MyBatis配置,提升开发效率,确保SQL的高效执行和安全性,感... 目录动态SQL详解一、动态SQL的核心概念1.1 什么是动态SQL?1.2 动态SQL的优点1.3 动态S

Pandas使用SQLite3实战

《Pandas使用SQLite3实战》本文主要介绍了Pandas使用SQLite3实战,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录1 环境准备2 从 SQLite3VlfrWQzgt 读取数据到 DataFrame基础用法:读

Springboot处理跨域的实现方式(附Demo)

《Springboot处理跨域的实现方式(附Demo)》:本文主要介绍Springboot处理跨域的实现方式(附Demo),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不... 目录Springboot处理跨域的方式1. 基本知识2. @CrossOrigin3. 全局跨域设置4.

java中使用POI生成Excel并导出过程

《java中使用POI生成Excel并导出过程》:本文主要介绍java中使用POI生成Excel并导出过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录需求说明及实现方式需求完成通用代码版本1版本2结果展示type参数为atype参数为b总结注:本文章中代码均为

python+opencv处理颜色之将目标颜色转换实例代码

《python+opencv处理颜色之将目标颜色转换实例代码》OpenCV是一个的跨平台计算机视觉库,可以运行在Linux、Windows和MacOS操作系统上,:本文主要介绍python+ope... 目录下面是代码+ 效果 + 解释转HSV: 关于颜色总是要转HSV的掩膜再标注总结 目标:将红色的部分滤

Python实现自动化接收与处理手机验证码

《Python实现自动化接收与处理手机验证码》在移动互联网时代,短信验证码已成为身份验证、账号注册等环节的重要安全手段,本文将介绍如何利用Python实现验证码的自动接收,识别与转发,需要的可以参考下... 目录引言一、准备工作1.1 硬件与软件需求1.2 环境配置二、核心功能实现2.1 短信监听与获取2.