• 大小: 866KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-13
  • 语言: Python
  • 标签: python  

资源简介

可以用,真的可以用。python语言。里面有四个数据包,算法所需要的基础数据。强调真的可以用。

资源截图

代码片段和文件信息

“““
基于内容的推荐算法。

所有评级都包含在“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.xml

     文件        327  2018-10-31 21:47  Movie-recommendation-system-master\.idea\modules.xml

     文件        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.xml

     文件       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\links.csv

     文件     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


评论

共有 条评论