資源簡介
可以用,真的可以用。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.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
評論
共有 條評論