日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

功能丰富的推荐系统

發布時間:2023/11/28 生活经验 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 功能丰富的推荐系统 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

功能豐富的推薦系統

Feature-Rich Recommender Systems

交互數據是用戶偏好和興趣的最基本指示。在以前引入的模型中起著至關重要的作用。然而,交互數據通常非常稀疏,有時可能會有噪聲。為了解決這個問題,可以在推薦模型中集成一些附加信息,比如條目的特性、用戶的概要信息,甚至是交互發生的上下文。利用這些特性有助于提出建議,因為這些特性可以有效地預測用戶的興趣,特別是在缺少交互數據的情況下。因此,推薦模型也必須具備處理這些特性的能力,并賦予模型一些內容/上下文感知能力。為了演示這種類型的推薦模型,介紹了另一個關于在線廣告推薦的點擊率(CTR)的任務,并給出了一個匿名廣告數據。有針對性的廣告服務引起了廣泛的關注,并經常被當作推薦引擎。推薦符合用戶個人口味和興趣的廣告對于提高點擊率非常重要。

數字營銷人員使用在線廣告向客戶展示廣告。點擊率是衡量廣告客戶在廣告上獲得的點擊次數的一個指標,用公式計算的百分比表示:

點擊率是預測算法有效性的一個重要指標。點擊率預測是一項預測網站上的東西被點擊的可能性的任務。CTR預測模型不僅適用于有針對性的廣告系統,也適用于一般商品(如電影、新聞、產品)推薦系統、電子郵件活動,甚至搜索引擎。還與用戶滿意度、轉化率密切相關,有助于設定廣告活動目標,因為可以幫助廣告商設定現實的期望值。

from collections import defaultdict

from d2l import mxnet as d2l

from mxnet import gluon, np

import os

  1. An Online Advertising Dataset

隨著互聯網和移動技術的飛速發展,網絡廣告已經成為互聯網行業重要的收入來源,并產生了絕大部分的收入。重要的是要展示相關的廣告或激起用戶興趣的廣告,以便將散客轉化為付費客戶。介紹的數據集是一個在線廣告數據集。由34個字段組成,第一列表示目標變量,該變量指示廣告是否被單擊(1)或否(0)。所有其列都是分類特性。這些列可能表示廣告id、站點或應用程序id、設備id、時間、用戶配置文件等。由于匿名化和隱私問題,這些特征的真正語義尚未公開。

以下代碼從服務器下載數據集并將其保存到本地數據文件夾中。

#@save

d2l.DATA_HUB[‘ctr’] = (d2l.DATA_URL + ‘ctr.zip’,

‘e18327c48c8e8e5c23da714dd614e390d369843f’)

data_dir = d2l.download_extract(‘ctr’)

Downloading …/data/ctr.zip from http://d2l-data.s3 accelerate.amazonaws.com/ctr.zip…

有一個訓練集和一個測試集,分別由15000個和3000個樣本/行組成。

  1. Dataset Wrapper

為了方便數據加載,實現了一個CTRDataset,從CSV文件加載廣告數據集,供DataLoader使用。

#@save

class CTRDataset(gluon.data.Dataset):

def __init__(self, data_path, feat_mapper=None, defaults=None,min_threshold=4, num_feat=34):self.NUM_FEATS, self.count, self.data = num_feat, 0, {}feat_cnts = defaultdict(lambda: defaultdict(int))self.feat_mapper, self.defaults = feat_mapper, defaultsself.field_dims = np.zeros(self.NUM_FEATS, dtype=np.int64)with open(data_path) as f:for line in f:instance = {}values = line.rstrip('\n').split('\t')if len(values) != self.NUM_FEATS + 1:continuelabel = np.float32([0, 0])label[int(values[0])] = 1instance['y'] = [np.float32(values[0])]for i in range(1, self.NUM_FEATS + 1):feat_cnts[i][values[i]] += 1instance.setdefault('x', []).append(values[i])self.data[self.count] = instanceself.count = self.count + 1if self.feat_mapper is None and self.defaults is None:feat_mapper = {i: {feat for feat, c in cnt.items() if c >=min_threshold} for i, cnt in feat_cnts.items()}self.feat_mapper = {i: {feat: idx for idx, feat in enumerate(cnt)}for i, cnt in feat_mapper.items()}self.defaults = {i: len(cnt) for i, cnt in feat_mapper.items()}for i, fm in self.feat_mapper.items():self.field_dims[i - 1] = len(fm) + 1self.offsets = np.array((0, *np.cumsum(self.field_dims).asnumpy() [:-1]))def __len__(self):return self.countdef __getitem__(self, idx):feat = np.array([self.feat_mapper[i + 1].get(v, self.defaults[i + 1])for i, v in enumerate(self.data[idx]['x'])])return feat + self.offsets, self.data[idx]['y']

下面的示例加載訓練數據并打印出第一條記錄。

train_data = CTRDataset(os.path.join(data_dir, ‘train.csv’))

train_data[0]

(array([ 143., 145., 227., 237., 957., 1250., 1471., 1566., 1624.,

    1960., 2008., 2061., 2154., 2304., 2305., 2360., 2745., 2746.,2747., 2748., 2892., 2988., 3165., 3170., 3194., 3195., 3230.,3653., 3687., 3693., 3729., 3752., 3784., 3803.]), [1.0])

可以看出,這34個字段都是范疇特征。每個值表示對應項的一個熱索引。標簽0表示未單擊。這個CTRDataset還可以用于加載其數據集,如Criteo display Advertision challenge數據集和Avazu點擊率預測數據集。

  1. Summary

· Click-through rate is an important metric that is used to measure the effectiveness of advertising systems and recommender systems.

· Click-through rate prediction is usually converted to a binary classification problem. The target is to predict whether an ad/item will be clicked or not based on given features.

總結

以上是生活随笔為你收集整理的功能丰富的推荐系统的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。