资源简介
本资源是有关电视节目的推荐的,数据样本虽然少了一些,但是代码完整,希望有用

代码片段和文件信息
# -*- 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点阵显示汉字
- 下一篇:京东 推荐系统 教程
相关资源
- 协同过滤算法源码
- 代码之美高清中文版,强烈推荐!
- 推荐给大家一个非常好用的串口工具
- 用户网络行为画像 大数据中的用户网
- 购物网站商品推荐算法论文
- pb 推荐学习资料全集
- 论文研究 - 基于协同过滤和人工神经
- 11个程序员必备神器软件推荐附地址
- 推荐系统 [奥詹尼士,奥赞克,奥弗里
- 人工智能和遗传算法的结合推荐必读
- AppCode,新书推荐,Beginning iOS 11 Prog
- 赛题A:教育平台的线上课程智能推荐
- MapReduce基于物品的协同过滤算法实现
- 新手怎样学习单片机,推荐一套很好
- IntelliJ IDEA 2020 安装和常用配置(推荐
- SAP BPC学习资料强力推荐与传播
- SpringBoot实战.pdf推荐必读
- 基于深度神经网络的用户会话推荐算
- 电影推荐系统数据集地址
- 基于内容的推荐系统,毕业论文
- 基于Spark大数据电商推荐系统源码
- PMAC 中文手册推荐详细+标签.pdf
- 互联网+药店推荐系统的设计与实现
- 手游资源提取工具强烈推荐
- 国密算法SM2 SM3 SM4相关算法及推荐参数
- 美团推荐算法实践
- 推荐系统手册(英文版)
- BCompare-zh-3.3.4.14431中文版文件、代码、
- 图数据库的电影推荐系统的设计与实
- 阿里移动推荐算法大赛冠军答辩PPT
评论
共有 条评论