当前位置: 首页 > news >正文

公司做网站找谁公司做网站找谁微信网站与响应式网站

公司做网站找谁公司做网站找谁,微信网站与响应式网站,网站账号注册程序,网站建设合同封面模板下载根据训练集中的时间规则,对测试集中的数据推断用户标签(新用户或老用户)。 时间规则如下: 针对训练集和测试集中都存在的did: 找到在训练集中标记为新用户最晚的时间点,则测试集中对应did的数据在此时间点前全部为新用…

根据训练集中的时间规则,对测试集中的数据推断用户标签(新用户或老用户)。

时间规则如下:
针对训练集和测试集中都存在的did:
找到在训练集中标记为新用户最晚的时间点,则测试集中对应did的数据在此时间点前全部为新用户;
找到在训练集中标记为老用户最早的时间点,则测试集中对应did的数据在此时间点后全部为老用户;

具体实现代码如下:

1.1参数说明

  • train_df: 训练集DataFrame,包含已知的用户标签(is_new_did
  • test_df: 测试集DataFrame,需要推断用户标签

1.2寻找共同DID

train_dids = set(train_df['did'].unique())
test_dids = set(test_df['did'].unique())
common_dids = train_dids.intersection(test_dids)

功能说明

  • 提取训练集和测试集中的唯一设备ID(DID)
  • 找出两个集合的交集,即同时出现在训练集和测试集中的DID
  • 只有共同的DID才能应用时间规则

2.2 计算时间规则

# 新用户:找每个DID作为新用户时的最大时间戳
new_user_times = train_common[train_common['is_new_did'] == 1].groupby('did')['common_ts'].max()# 老用户:找每个DID作为老用户时的最小时间戳
old_user_times = train_common[train_common['is_new_did'] == 0].groupby('did')['common_ts'].min()

时间规则逻辑

  1. 新用户规则

    • 对于每个DID,找出它在训练集中被标记为新用户(is_new_did=1)的最晚时间戳
    • 推断:如果测试集中该DID的时间戳 < 这个最晚时间戳,则为新用户
  2. 老用户规则

    • 对于每个DID,找出它在训练集中被标记为老用户(is_new_did=0)的最小时间戳
    • 推断:如果测试集中该DID的时间戳 > 这个最小时间戳,则为老用户

1.3 应用规则

应用新用户规则:
mask_new = (test_with_new_rules['max_new_time'].notna()) & \(test_with_new_rules['common_ts'] < test_with_new_rules['max_new_time'])
test_df.loc[mask_new, 'is_new_did'] = 1

判断条件

  • 该DID存在新用户规则(max_new_time不为空)
  • 测试集中的时间戳小于新用户的最大时间戳
应用老用户规则:
mask_old = (test_with_old_rules['min_old_time'].notna()) & \(test_with_old_rules['common_ts'] > test_with_old_rules['min_old_time']) & \(test_with_old_rules['is_new_did'] == -1)

判断条件

  • 该DID存在老用户规则(min_old_time不为空)
  • 测试集中的时间戳大于老用户的最小时间戳
  • 该记录尚未被标记(is_new_did == -1

1.4 性能优化

使用DataFrame的merge操作批量应用规则,而不是逐行遍历,提高了处理效率:

test_with_new_rules = test_df.merge(new_user_rules_df, on='did', how='left'
)

4. 时间线示例

假设某个DID在训练集中的记录:

时间轴: |---新用户期---[T1]---老用户期---|↑               ↑                ↑最早记录          转换点          最新记录
  • T1之前:标记为新用户(is_new_did=1)
  • T1之后:标记为老用户(is_new_did=0)

对于测试集中的该DID:

  • 如果时间 < T1:根据新用户规则,标记为新用户
  • 如果时间 > T1:根据老用户规则,标记为老用户

计算结果如下:

DID统计:
训练集唯一DID: 270,837
测试集唯一DID: 206,342
共同DID: 192,393

计算时间规则…
新用户规则数: 57,787
老用户规则数: 162,173

批量应用规则…

规则应用结果:
通过规则1确定(新用户): 150,714
通过规则2确定(老用户): 882,188
总确定数量: 1,032,902 (90.34%)
未确定数量: 110,407 (9.66%)

将测试集中未确定是新老用户的数据全部计为老用户,F1Score可达0.92以上

关于检查训练集中是否存在对于同一个did,新用户数据出现在老用户之后的情况,请在评论区获取相关解答!

http://www.dtcms.com/a/439368.html

相关文章:

  • ubuntu系统引导重置
  • 2017做电商做什么网站金华市建设局网站职称
  • 模糊视频图像如何处理?
  • 做外汇网站卖判刑多少年做图表的网站
  • 家具网站开发目的wordpress 父页面跳转
  • 江门免费模板建站o2o网站设计方案
  • 快速开发项目软件:一套可以企业级部署的激光切割系统上位机软件
  • 文案交流网站儿童网站 源码
  • 【Docker】基于Ubuntu的Docker的日常使用方法
  • 网站建设考核网站制作策划建设大纲
  • 建网站软件下载西部中大建设集团网站
  • 外贸网站外链网上哪里有卖嗅探器
  • 携程网的网站推广方式提升排名
  • Day02_刷题niuke20251003
  • 简化多智能体系统:基于双Agent的通用工具操作框架
  • DAY 39 图像数据与显存-2025.10.3
  • 如何开网站详细步骤深圳旅游公司网站
  • 自助建站免费自助建站网站icp备案号怎么查询
  • HTB Mailing 靶机渗透记录:利用 CVE-2024-21413 捕获 NTLM Hash
  • 网站开发需要多少钱新闻布吉附近网站建设
  • 网站手机模板的特点网站开发怎么才能接到私活
  • 方圆网 网站建设网页制作一般多少钱
  • Linux 权限的概念及shell命令运行原理
  • 58网站开发要多少钱怎么在百度上发布信息
  • 网站联系方式模板企业网站做seo
  • Day89 基本情报技术者 单词表25 システム監視と運用
  • 建行的一些记录2
  • 好的网站设计培训班阿里巴巴网站的建设内容
  • 潍坊 公司 网站网站推广无锡
  • 美发店收银系统多店铺管理