科大訊飛2025AI開發者大賽-用戶新增賽道時間規則解析

根據訓練集中的時間規則,對測試集中的數據推斷用戶標簽(新用戶或老用戶)。

時間規則如下:
針對訓練集和測試集中都存在的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.pswp.cn/pingmian/86560.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/86560.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/86560.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

.NET C# async/定時任務的異步線程池調度方案最大線程數? = 處理器核心數 × 250

關于.NET中Threading.Timer的線程機制&#xff0c;結合線程池特性和異步協作原理分析如下&#xff1a; 一、線程復用機制 ?共享進程級線程池? Threading.Timer的回調任務?不會每次新建線程?&#xff0c;而是提交到.NET進程全局線程池統一調度&#xff0c;該線程池與async/…

Redis 高可用分片集群:主從模式與哨兵機制詳解

一、為何需要分片集群&#xff1f; 在討論具體方案之前&#xff0c;我們先明確分片集群要解決的問題&#xff1a; 單節點瓶頸&#xff1a;無論是內存容量還是處理能力&#xff08;QPS&#xff09;&#xff0c;單個 Redis 實例都有物理上限。高可用性需求&#xff1a;單點故障…

Qt readyRead信號避坑:不產生readyRead信號的解決方法

Qt readyRead信號避坑&#xff1a;不產生readyRead信號的解決方法 引言一、QSerialport的readyRead1.1 版本問題1.2 緩存問題1.3 阻塞問題 二、Q(Tcp)Socket的readyRead2.1 阻塞問題2.2 運行一段時間&#xff0c;突然不發信號2.3 和具體數據有關&#xff1f; 引言 目前沒遇到相…

大事件項目記錄10-文章分類接口開發-更新文章分類

四、更新文章分類。 CategoryController.java&#xff1a; PutMappingpublic Result update(RequestBody Validated Category category){categoryService.update(category);return Result.success();} CategoryService&#xff1a; //更新分類void update(Category category); …

AI接口使用–阿里云百煉

原文地址&#xff1a;AI接口使用–阿里云百煉 – 無敵牛 歡迎參觀我的個人博客&#xff1a;無敵牛 – 技術/著作/典籍/分享等 最近開發了一個抖音AI起名小程序&#xff0c;已經在抖音上線了&#xff0c;歡迎大家來使用。其中用到了 AI文本生成 功能&#xff0c;我用的是 阿里云…

大模型之提示詞工程入門——解鎖與AI高效溝通的“鑰匙”

一、什么是提示詞工程&#xff1f; 提示詞工程&#xff08;Prompt Engineering&#xff09; 是一門通過設計、優化輸入文本&#xff08;Prompt&#xff09;來引導大語言模型&#xff08;LLM&#xff09;生成高質量輸出的技術。它不僅是AI應用的核心環節&#xff0c;也是連接人…

智慧城市云計算大數據中心項目設計方案

第1章 總體方案設計 1.1 概述 1.2 建設目標 1.3 建設內容 1.3.1 標準規范體系編制 1.3.2 基礎設施平臺建設 1.3.3 數據資源平臺建設 1.3.4 應用支撐平臺建設 1.3.5 云管平臺運維建設 1.3.6 應用上云遷移實施 1.3.7 信息安全保障建設 1.3.8 容災備份系統建設 1.4 設…

OpenMP并行加速學習筆記2025.6.27

在OpenMP并行加速中&#xff0c;線程數&#xff08;如32、16、8&#xff09;的選擇需結合硬件核心數、任務類型&#xff08;計算密集型或I/O密集型&#xff09;、負載均衡策略及線程開銷綜合判斷。以下為具體差異分析與性能提升對比&#xff1a; 一、核心影響因素分析 1. 硬件…

對象回調和函數回調

1.對象回調&#xff1a; 對象回調原始寫法&#xff0c;A調B B又回頭調A package com.ldj.demo.controller;/*** User: ldj* Date: 2025/6/28* Time: 12:22* Description: 回調函數的理解 對象回調*/ public class Tr {public static void main(String[] args) {A a new A();…

Python實例題:Web 爬蟲與數據可視化

目錄 Python實例題 題目 要求&#xff1a; 解題思路&#xff1a; 代碼實現&#xff1a; Python實例題 題目 Web 爬蟲與數據可視化 要求&#xff1a; 編寫一個爬蟲&#xff0c;從豆瓣電影 Top250 頁面&#xff08;豆瓣電影 Top 250&#xff09;抓取電影名稱、評分、導演…

關于ubuntu 20.04系統安裝分區和重復登錄無法加載桌面的問題解決

1. 想要安裝Ubuntu 20.04版本&#xff0c;有兩塊硬盤&#xff0c;所以在分區列表設置的格式為如下&#xff1a; 其中各個/boot 、/home的格式為如下&#xff08;Ubuntu20.04分區方案_ubuntu20.04手動分區-CSDN博客&#xff09; 2.安裝完死活輸完密碼進不去主界面 必須禁用Nou…

26考研|數學分析:隱函數定理及其應用

前言 本章主要圍繞隱函數、隱含數組的計算展開&#xff0c;本章的核心還是在于計算的運用&#xff0c;在理論層面要掌握隱函數&#xff08;隱函數組&#xff09;存在性定理&#xff0c;在計算方面&#xff0c;要掌握隱函數、隱函數組的計算方法&#xff0c;此外&#xff0c;本…

PyQtNode Editor 第三篇創建節點(節點的定義)

在 PyQtNode Editor 的開發之旅中,經過前兩篇博客對基礎環境搭建和核心類結構的探索,我們已經邁出了堅實的步伐。今天,我們將聚焦于node_scene文件,深入解析其中的代碼邏輯。這段代碼構建了Scene類,它如同整個節點編輯器的 “管理中樞”,承擔著組織和協調節點、邊等關鍵元…

通過docker安裝nginx服務

nginx配置文件 https://gitee.com/Cairo-SR8/nginx-configuration.git一、安裝nginx 1.1 拉去ARM鏡像 docker pull registry.cn-hangzhou.aliyuncs.com/qiluo-images/linux_arm64_nginx:latest1.2 拉去x86鏡像 docker pull registry.cn-hangzhou.aliyuncs.com/qiluo-images/…

盲法在臨床試驗中的應用與挑戰

一、盲法分級與科學價值 1.1 開放標簽 1.1.1 受盲對象 無隱藏。 1.1.2 適用場景 外科手術、器械試驗等無法偽裝的操作。 1.1.3 偏倚控制目標 僅客觀終點(生存率、實驗室指標)。 1.2 單盲 1.2.1 受盲對象 患者。 1.2.2 適用場景 患者報告結局(PRO)為主的試驗(如…

VNware啟動虛擬機報錯:虛擬化性能計數器需要版本為 3 或以上的架構性能監控。

Vmware版本&#xff1a;17.5 結論&#xff1a; 【編輯虛擬機設置-硬件-處理器-虛化計數器】沒勾就勾上&#xff0c;勾了就不勾保存&#xff0c;然后重新打勾 備注&#xff1a;不知道是不是顯示問題&#xff0c;之前勾著的時候報錯。取消報錯&#xff0c;再勾上報錯能正常啟動虛…

微機系統 - 第7章 -可編程接口芯片

可編程并行輸入/輸出接口芯片 8255A -1:結構 8255A為40引腳、雙列直插封裝。 內部結構由數據端口、組控制電路、數據總線緩沖器、讀/寫控制邏輯四部分組成。 數據總線緩沖器&#xff1a;三態8位雙向緩沖器&#xff0c;D7-D0同系統數據總線相連。CPU通過執行輸入/輸出指令來實…

解析云計算虛擬化基石:KVM、QEMU與Libvirt的協同

在云計算和容器化大行其道的今天&#xff0c;傳統虛擬化技術仍是企業IT架構的核心支柱。理解KVM、QEMU和Libvirt的關系&#xff0c;是掌握現代虛擬化技術的關鍵一步。 一、虛擬化技術演進&#xff1a;從軟件模擬到硬件加速的進化之路 虛擬化技術通過在單臺物理服務器上創建多個…

Mac mini 跑 DeepSeek R1 及 QwQ-32B模型實測報告

測試對象&#xff1a;2025 款 Mac mini&#xff08;M4 / M4 Pro 芯片&#xff09; 測試模型&#xff1a;DeepSeek-R1&#xff08;14B/32B&#xff09;、QwQ-32B&#xff08;原版/量化版&#xff09; 測試目標&#xff1a;硬件性能適配性、推理速度、內存占用及優化方案 一、Mac…

github常用插件

一&#xff0c;文檔輔助閱讀系列&#xff1a;自動化wiki處理 1&#xff0c;deepwiki https://deepwiki.com/ 將我們看不懂的官方code文檔轉換為wiki&#xff0c;更加便于理解。 其實能夠翻閱的倉庫很有限&#xff0c;比如說&#xff1a; 但是有很多倉庫并沒有index&#xff…