资源简介
可以用,真的可以用。python语言。里面有四个数据包,算法所需要的基础数据。强调真的可以用。
![](http://www.nz998.com/pic/62743.jpg)
代码片段和文件信息
“““
基于内容的推荐算法。
所有评级都包含在“ratings.csv”文件中。这个文件在头行之后的每一行表示一个用户对一个电影的评级,格式如下:
userIdmovieId评级时间戳
这个文件中的行首先由userId排序,然后在user中由movieId排序。
评级是在5星的范围内进行的,以半星为单位(0.5星- 5.0星)。
所有标签都包含在“tag .csv”文件中。文件头行之后的每一行表示一个用户应用到一个电影上的一个标签,格式如下:
userIdmovieId标签
这个文件中的行首先由userId排序,然后在user中由movieId排序。
标签是用户生成的关于电影的元数据。每个标签通常是一个单词或短短语。特定标记的含义、
电影信息包含在“movi.csv”文件中。这个文件在头行之后的每一行都代表一个电影,格式如下:
movieId、标题、类型
可以用于链接到其他电影数据来源的标识符包含在“links.csv”文件中。这个文件在头行之后的每一行都代表一个电影,格式如下:
movieId、imdbId tmdbId
“““
from collections import Counter defaultdict
import math
import numpy as np
import os
import pandas as pd
import re
from scipy.sparse import csr_matrix
import urllib.request
import zipfile
#def download_data():
#“““下载和解压数据。
#“““
#url = ‘https://www.dropbox.com/s/h9ubx22ftdkyvd5/ml-latest-small.zip?dl=1‘
#urllib.request.urlretrieve(url ‘ml-latest-small.zip‘)
#zfile = zipfile.ZipFile(‘ml-latest-small.zip‘)
#zfile.extractall()
#zfile.close()
def tokenize_string(my_string):
“““ 您应该在tokenize函数中使用这个函数。
“““
return re.findall(‘[\w\-]+‘ my_string.lower())
def tokenize(movies):
“““在电影Dataframe添加一个新的列,标头是“token”。
这将包含一个字符串列表,每个标记提取一个
从每部电影的“类型”领域。使用上面的tokenize_string方法。
注:可直接修改影片参数;不需要
一个新的副本。
参数:
电影……看电影Dataframe
返回:
电影Dataframe,增加了一个名为“token”的新列。
>>> movies = pd.Dataframe([[123 ‘Horror|Romance‘] [456 ‘Sci-Fi‘]] columns=[‘movieId‘ ‘genres‘])
>>> movies = tokenize(movies)
>>> movies[‘tokens‘].tolist()
[[‘horror‘ ‘romance‘] [‘sci-fi‘]]“““
tokenize = [tokenize_string(movies[‘genres‘][i]) for i in range(len(movies)) ]
movies.insert(len(movies.columns) “tokens“tokenize allow_duplicates=False)
return movies
pass0
def tf(idterm_frequency):
return term_frequency[d][i]
def df(idoc_frequency):
return doc_frequency[i]
def max_ktf(dterm_frequency):
return term_frequency[d].most_common(1)[0][1]
def tfidf(idterm_frequencydoc_frequencyN):
return (1.0*tf(idterm_frequency)) /max_ktf(dterm_frequency) * math.log10(N/df(idoc_frequency))
# In[38]:
def featurize(movies):
“““
添加一个新的列到电影features与标题‘功能‘。
每一行将包含一个形状的csr_matrix (1 num_features)。每一个
这个矩阵中的条目将包含术语的tf-idf值,如
在类中定义:
tfidf(i d):=特遣部队(i d)/ max_k特遣部队(kd)* log10(N / df(i))
地点:
i是一项
d是文档(电影)
tf(i d)是文档d中第i项的频率
max_k tf(k d)是文档d中任何术语的最大频率
N是文档(电影)的数量
df(i)是包含第i项的唯一文件的数量
参数:
电影……看电影features
返回:
一个元组其中包含:
- Dataframe的电影。已被修改为包含一个名为“features”的列。
- vocab,从term到int的一种字典。确保vocab按照a2的字母顺序排列(例如:{‘aardvark‘: 0, ‘boy‘: 1,…})
”“”
“““
###TODO
N = len(movies)
doc_frequency= defaultdict(int)
term_frequency = {}
for i in range(len(movies)):
count = Counter(movies[‘tokens‘][i])
term_frequency[i] = count
for j in count:
doc_frequency[j] += 1
vocab = {}
idx = 0
for i in sorted(doc_frequency):
vocab[i] = idx
idx += 1
csr_list =[]
for doc in sorted(term_frequency):
data = []
column = []
for term i
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 294 2018-10-31 21:47 Movie-recommendation-system-master\.idea\misc.xm
文件 327 2018-10-31 21:47 Movie-recommendation-system-master\.idea\modules.xm
文件 563 2018-10-31 21:50 Movie-recommendation-system-master\.idea\Movie-recommendation-system-master.iml
文件 16779 2018-11-13 21:42 Movie-recommendation-system-master\.idea\workspace.xm
文件 8535 2018-11-02 11:56 Movie-recommendation-system-master\a3.py
文件 174246 2017-09-20 05:05 Movie-recommendation-system-master\ml-latest-small\li
文件 449264 2017-09-20 05:05 Movie-recommendation-system-master\ml-latest-small\movies.csv
文件 2338261 2017-09-20 05:05 Movie-recommendation-system-master\ml-latest-small\ratings.csv
文件 40605 2017-09-20 05:05 Movie-recommendation-system-master\ml-latest-small\tags.csv
目录 0 2018-11-13 15:05 Movie-recommendation-system-master\.idea\inspectionProfiles
目录 0 2018-11-13 21:42 Movie-recommendation-system-master\.idea
目录 0 2018-11-02 10:45 Movie-recommendation-system-master\ml-latest-small
目录 0 2018-11-13 22:02 Movie-recommendation-system-master
----------- --------- ---------- ----- ----
3028874 13
- 上一篇:python2.7sc
ript目录 - 下一篇:中点画圆算法pyqt5实现.zip
相关资源
- pywin32_python3.6_64位
- python+ selenium教程
- PycURL(Windows7/Win32)Python2.7安装包 P
- 英文原版-Scientific Computing with Python
- 7.图像风格迁移 基于深度学习 pyt
- 基于Python的学生管理系统
- A Byte of Python(简明Python教程)(第
- Python实例174946
- Python 人脸识别
- Python 人事管理系统
- 基于python-flask的个人博客系统
- 计算机视觉应用开发流程
- python 调用sftp断点续传文件
- python socket游戏
- 基于Python爬虫爬取天气预报信息
- python函数编程和讲解
- Python开发的个人博客
- 基于python的三层神经网络模型搭建
- python实现自动操作windows应用
- python人脸识别(opencv)
- python 绘图(方形、线条、圆形)
- python疫情卡UN管控
- python 连连看小游戏源码
- 基于PyQt5的视频播放器设计
- 一个简单的python爬虫
- csv文件行列转换python实现代码
- Python操作Mysql教程手册
- Python Machine Learning Case Studies
- python获取硬件信息
- 量化交易(附python常见函数的使用方
评论
共有 条评论