天池新聞推薦入門賽之【資料分析】Task02
特徵含義
user_id 使用者id
click_article_id 點選文章id
click_timestamp 點選時間戳
click_environment 點選環境
click_deviceGroup 點選裝置組
click_os 點選作業系統
click_country 點選城市
click_region 點選地區
click_referrer_type 點選來源型別
article_id 文章id,與click_article_id相對應
category_id 文章型別id
created_at_ts 文章建立時間戳
words_count 文章字數
emb_1,emb_2,…,emb_249 文章embedding向量表示
提交結果
user_id,article_1,article_2,article_3,article_4,article_5。
其中user_id為使用者id, article_1,article_2,article_3,article_4,article_5為預測使用者點選新聞文章Top5的article_id依概率從高到低排序。
資料分析原始碼
%matplotlib inline
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
plt.rc('font', family='SimHei', size=13)
import os,gc,re,warnings,sys
warnings.filterwarnings("ignore")
path = 'C:/ml_data/news/'
#####train
trn_click = pd.read_csv(path+'train_click_log.csv')
item_df = pd.read_csv(path+'articles.csv')
item_df = item_df.rename(columns={'article_id': 'click_article_id'}) #重新命名,方便後續match
item_emb_df = pd.read_csv(path+'articles_emb.csv')
#####test
tst_click = pd.read_csv(path+'testA_click_log.csv')
# 對每個使用者的點選時間戳進行排序
trn_click['rank'] = trn_click.groupby(['user_id'])['click_timestamp'].rank(ascending=False).astype(int)
tst_click['rank'] = tst_click.groupby(['user_id'])['click_timestamp'].rank(ascending=False).astype(int)
#計算使用者點選文章的次數,並新增新的一列count
trn_click['click_cnts'] = trn_click.groupby(['user_id'])['click_timestamp'].transform('count')
tst_click['click_cnts'] = tst_click.groupby(['user_id'])['click_timestamp'].transform('count')
trn_click = trn_click.merge(item_df, how='left', on=['click_article_id'])
trn_click.user_id.nunique()
trn_click.groupby('user_id')['click_article_id'].count().min()
相關文章
- 新聞推薦競賽-task01
- Flutter入門資料推薦Flutter
- 零基礎入門新聞推薦系統(多路召回)
- 資料分析師之SQL入門SQL
- 資料分析師之視覺化工具推薦指南視覺化
- 如何入門java(附帶新手推薦學習資料)Java
- 推薦系統入門之使用協同過濾實現商品推薦
- 一文看懂虛假新聞檢測(附資料集 & 論文推薦)
- 【推薦系統篇】--推薦系統之測試資料
- 分析快、易操作的資料分析工具推薦
- 前端入門路線推薦前端
- Python新書上市,強烈推薦!《Python網路資料爬取及分析從入門到精通(爬取篇)》導讀Python新書
- 第一屆天池 PolarDB 資料庫效能大賽資料庫
- Python資料分析入門Python
- 資料分析 | 零基礎入門資料分析(一):從入門到摔門?
- NLP入門競賽,搜狗新聞文字分類!拿幾十萬獎金!文字分類
- 賽爾推薦
- Laravel 入門到進階-推薦Laravel
- 搜狐:新聞推薦系統的CTR預估模型模型
- 大資料應用——資料探勘之推薦系統大資料
- Python資料分析入門(五)Python
- Python資料分析入門(四)Python
- Python資料分析入門(一)Python
- Spark資料分析概念入門Spark
- Python資料分析入門(三)Python
- Python資料分析入門(二)Python
- 網易新聞推薦業務測試質效提升
- Python資料分析入門(十四):資料分析中常用圖Python
- 做資料分析,推薦7款好用的Python工具!Python
- 推薦 7 個 Python 入門視訊教程Python
- 推薦系統入門(Top-N recommendation)
- 天池python學習-task02打卡第五天Python
- 「演算法與資料結構」從入門到進階整理推薦書單演算法資料結構
- 用Python分析雙十一電商新聞傳播資料Python
- [大資料之Spark]——快速入門大資料Spark
- Python資料分析方向第三方庫推薦!Python
- R語言入門與資料分析R語言
- python入門總結(資料分析方向)Python