资源简介
本资源是有关电视节目的推荐的,数据样本虽然少了一些,但是代码完整,希望有用
代码片段和文件信息
# -*- coding: utf-8 -*-
“““
Created on Thu Nov 1 09:33:14 2018
@author: AZ
“““
import math
import pandas as pd
import numpy as np
import os
os.chdir(‘E:/广电大数据营销推荐项目案例/数据清洗/电视节目信息数据预处理‘)
# 创建节目画像
# 参数说明:
# items_profiles = {item1:{‘label1‘:1 ‘label2‘: 0 ‘label3‘: 0 ...} item2:{...}...}
def createItemsProfiles(data_array labels_names items_names):
items_profiles = {}
for i in range(len(items_names)):
items_profiles[items_names[i]] = {}
for j in range(len(labels_names)):
items_profiles[items_names[i]][labels_names[j]] = data_array[i][j]
return items_profiles
# 创建用户画像
# 参数说明:
# data_array: 所有用户对于其所看过的节目的评分矩阵 data_array = [[2 0 0 1.1 ...] [0 0 1.1 ...] ...]
# users_profiles = {user1:{‘label1‘:1.1 ‘label2‘: 0.5 ‘label3‘: 0.0 ...} user2:{...}...}
def createUsersProfiles(data_array users_names items_names labels_names items_profiles):
users_profiles = {}
# 计算每个用户对所看过的所有节目的平均隐性评分
# users_average_scores_list = [1.2 2.2 4.3...]
users_average_scores_list = []
# 统计每个用户所看过的节目(不加入隐性评分信息)
# items_users_saw = {user1:[item1 item3 item5] user2:[...]...}
items_users_saw = {}
# 统计每个用户所看过的节目及评分
# items_users_saw_scores = {user1:[[item1 1.1] [item2 4.1]] user2:...}
items_users_saw_scores = {}
for i in range(len(users_names)):
items_users_saw_scores[users_names[i]] = []
items_users_saw[users_names[i]] = []
count = 0
sum = 0.0
for j in range(len(items_names)):
# 用户对该节目隐性评分为正,表示真正看过该节目
if data_array[i][j] > 0:
items_users_saw[users_names[i]].append(items_names[j])
items_users_saw_scores[users_names[i]].append([items_names[j] data_array[i][j]])
count += 1
sum += data_array[i][j]
if count == 0:
users_average_scores_list.append(0)
else:
users_average_scores_list.append(sum / count)
for i in range(len(users_names)):
users_profiles[users_names[i]] = {}
for j in range(len(labels_names)):
count = 0
score = 0.0
for item in items_users_saw_scores[users_names[i]]:
# 参数:
# 用户user1对于类型label1的隐性评分: user1_score_to_label1
# 用户user1对于其看过的含有类型label1的节目item i 的评分: score_to_item i
# 用户user1对其所看过的所有节目的平均评分: user1_average_score
# 用户user1看过的节目总数: items_count
# 公式: user1_score_to_label1 = Sigma(score_to_item i - user1_average_score)/items_count
# 该节目含有特定标签labels_names[j]
if items_profiles[item[0]][labels_names[j]] > 0:
score += (item[1] - users_average_scores_list[i])
count += 1
# 如果求出的值太小,直接置0
if abs(score) < 1e-6:
score = 0.0
if count
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-11-01 11:15 电视节目推荐实例完整代码与数据\
文件 9855 2018-11-01 10:16 电视节目推荐实例完整代码与数据\content_ba
文件 5690 2018-11-01 11:11 电视节目推荐实例完整代码与数据\mix_user_cb.py
文件 5007 2018-11-01 08:49 电视节目推荐实例完整代码与数据\temp_movies_01mat.csv
文件 3259 2018-11-01 08:49 电视节目推荐实例完整代码与数据\temp_users_movies_01mat.csv
文件 717 2018-11-01 09:07 电视节目推荐实例完整代码与数据\temp_users_rating.csv
文件 702 2018-11-01 10:45 电视节目推荐实例完整代码与数据\temp_user_scores_mat.csv
文件 619 2018-11-01 10:46 电视节目推荐实例完整代码与数据\temp_user_scores_mat2.csv
文件 7962 2018-11-01 10:56 电视节目推荐实例完整代码与数据\user_ba
- 上一篇:LED点阵显示汉字
- 下一篇:京东 推荐系统 教程
相关资源
- 京东 推荐系统 教程
- 基于用户的协同过滤和基于内容的混
- 推荐系统输入表格数据
- Halcon18软件链接;内附推荐的Halcon学习
- 皮尔森相关系数 之用户推荐的协同过
- offer来了-原理篇极力推荐
- 电影推荐系统:基于spark、hadoop、ka
- 用户收看电视节目的数据
- 论文外本翻译.docx
- 清华大学计算机学科推荐期刊会议列
- Amazon推荐算法,标题要长,汗
- AutoEncoder用于推荐系统pytorch实现
- 张量分解及其在推荐系统中的应用
-
Item ba
sed collaborative filtering recommen - ADMEMS方法推荐文档模板
- VHDL设计的电子数字钟,参赛作品功能
- 电影推荐的一个微信小程序
- A Singular Value Decomposition Approach For Re
- 基于数据挖掘技术的WWW推荐系统设计
- 入门推荐--2013年最新SAP ECC6 ABAP培训视
- 今日头条推荐系统ppt
- 聚类做预处理,基于关联规则推荐算
- 基于hadoopp平台的推荐系统
- 练数成金的《推荐系统视频教程》完
- ISIS 实验详解,吐血推荐
- 考博专家推荐信范文考博必备
- 豆瓣电影爬虫、豆瓣电影推荐系统
- 推荐一个er图设计工具
- 基于SPARK的大数据实战在线电影推荐
- 基于协同过滤算法的电子商务网站个
评论
共有 条评论