Compare commits
8 Commits
1849438ab0
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
| 6bca69196e | |||
| acb1109781 | |||
| bedfef2605 | |||
| 7e457e0cb1 | |||
| f3bbb7fb9a | |||
| 079481a4b4 | |||
| 041d80f117 | |||
| 610c14a562 |
3
README.md
Normal file
3
README.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# Recommender System
|
||||
|
||||
Build with [MovieLens Dataset](https://grouplens.org/datasets/movielens/) and Kaggle [Kernel from Indra Lin](https://www.kaggle.com/indralin/movielens-project-1-2-collaborative-filtering)
|
||||
242
export.py
Normal file
242
export.py
Normal file
@@ -0,0 +1,242 @@
|
||||
# This Notebook was exported from VS Code Jupyter
|
||||
# %%
|
||||
from IPython import get_ipython
|
||||
|
||||
# %%
|
||||
# This Notebook is created with VS Code on Windows
|
||||
# Create python virtual environment
|
||||
get_ipython().system('python -m venv .venv')
|
||||
# If you want to use it on macOS/Linux
|
||||
# You may need to run sudo apt-get install python3-venv first
|
||||
#python3 -m venv .venv
|
||||
|
||||
# Install Python Packages
|
||||
get_ipython().system('pip install --user --upgrade pip')
|
||||
get_ipython().system('pip install --upgrade setuptools')
|
||||
get_ipython().system('pip install --user seaborn')
|
||||
get_ipython().system('pip install --user numpy')
|
||||
get_ipython().system('pip install --user pandas')
|
||||
get_ipython().system('pip install --user matplotlib')
|
||||
get_ipython().system('pip install --user plotly')
|
||||
get_ipython().system('pip install --user nbformat')
|
||||
get_ipython().system('pip install --user surprise')
|
||||
|
||||
|
||||
# %%
|
||||
import numpy as np # maths
|
||||
import pandas as pd # data processing
|
||||
import matplotlib.pyplot as plt
|
||||
import seaborn as sns
|
||||
import os
|
||||
import re
|
||||
|
||||
from plotly.offline import init_notebook_mode, iplot
|
||||
import plotly.graph_objs as go
|
||||
import plotly.offline as py
|
||||
py.init_notebook_mode(connected=True)
|
||||
|
||||
import warnings
|
||||
warnings.filterwarnings('ignore')
|
||||
|
||||
plt.style.use('fivethirtyeight')
|
||||
plt.rcParams['figure.figsize'] = [18, 8]
|
||||
|
||||
|
||||
# %%
|
||||
# Import Tables
|
||||
reviews = pd.read_csv('./ml-1m/ratings.dat', names=['userId', 'movieId', 'rating', 'timestamp'], delimiter='::', engine='python')
|
||||
movies = pd.read_csv('./ml-1m/movies.dat', names=['movieId', 'title', 'genres'], delimiter='::', engine='python')
|
||||
users = pd.read_csv('./ml-1m/users.dat', names=['userId', 'gender', 'age', 'occupation', 'zip'], delimiter='::', engine='python')
|
||||
|
||||
# Print Table shape
|
||||
print('Reviews shape:', reviews.shape)
|
||||
print('Users shape:', users.shape)
|
||||
print('Movies shape:', movies.shape)
|
||||
|
||||
|
||||
# %%
|
||||
# Drop unused Attributes
|
||||
reviews.drop(['timestamp'], axis=1, inplace=True) # Time
|
||||
users.drop(['zip'], axis=1, inplace=True) # Zip-Code
|
||||
|
||||
# Extract the movie year from title to extra attrbute
|
||||
movies['release_year'] = movies['title'].str.extract(r'(?:\((\d{4})\))?\s*$', expand=False)
|
||||
|
||||
|
||||
# %%
|
||||
# Print movie table
|
||||
movies.head()
|
||||
|
||||
|
||||
# %%
|
||||
# Changed feature values based on README_users.txt
|
||||
ages_map = {1: 'Under 18',
|
||||
18: '18 - 24',
|
||||
25: '25 - 34',
|
||||
35: '35 - 44',
|
||||
45: '45 - 49',
|
||||
50: '50 - 55',
|
||||
56: '56+'}
|
||||
|
||||
occupations_map = {0: 'Not specified',
|
||||
1: 'Academic / Educator',
|
||||
2: 'Artist',
|
||||
3: 'Clerical / Admin',
|
||||
4: 'College / Grad Student',
|
||||
5: 'Customer Service',
|
||||
6: 'Doctor / Health Care',
|
||||
7: 'Executive / Managerial',
|
||||
8: 'Farmer',
|
||||
9: 'Homemaker',
|
||||
10: 'K-12 student',
|
||||
11: 'Lawyer',
|
||||
12: 'Programmer',
|
||||
13: 'Retired',
|
||||
14: 'Sales / Marketing',
|
||||
15: 'Scientist',
|
||||
16: 'Self-Employed',
|
||||
17: 'Technician / Engineer',
|
||||
18: 'Tradesman / Craftsman',
|
||||
19: 'Unemployed',
|
||||
20: 'Writer'}
|
||||
|
||||
gender_map = {'M': 'Male', 'F': 'Female'}
|
||||
|
||||
users['age'] = users['age'].map(ages_map)
|
||||
users['occupation'] = users['occupation'].map(occupations_map)
|
||||
users['gender'] = users['gender'].map(gender_map)
|
||||
|
||||
|
||||
# %%
|
||||
# Plot age kategories
|
||||
|
||||
age_reindex = ['Under 18', '18 - 24', '25 - 34', '35 - 44', '45 - 49', '50 - 55', '56+']
|
||||
age_counts = users['age'].value_counts().reindex(age_reindex)
|
||||
sns.barplot(x=age_counts.values,
|
||||
y=age_counts.index,
|
||||
palette='magma').set_title(
|
||||
'Users age', fontsize=12)
|
||||
|
||||
plt.show()
|
||||
|
||||
|
||||
# %%
|
||||
# Plot gender of users
|
||||
gender_counts = users['gender'].value_counts()
|
||||
colors1 = ['lightblue', 'pink']
|
||||
pie = go.Pie(labels=gender_counts.index,
|
||||
values=gender_counts.values,
|
||||
marker=dict(colors=colors1),
|
||||
hole=0.5)
|
||||
layout = go.Layout(title='Gender Users', font=dict(size=12), legend=dict(orientation='h'))
|
||||
|
||||
fig = go.Figure(data=[pie], layout=layout)
|
||||
py.iplot(fig)
|
||||
|
||||
|
||||
# %%
|
||||
# Merge reviews, movie and user dataset
|
||||
final_df = reviews.merge(movies, on='movieId', how='left').merge(users, on='userId', how='left')
|
||||
print('final_df shape:', final_df.shape)
|
||||
final_df.head()
|
||||
|
||||
|
||||
# %%
|
||||
final_df[final_df['age'] == '18 - 24']['title'].value_counts()[:10].to_frame()
|
||||
|
||||
|
||||
# %%
|
||||
# Print movie / user sum
|
||||
n_movies = final_df['movieId'].nunique()
|
||||
n_users = final_df['userId'].nunique()
|
||||
|
||||
print('Number of movies:', n_movies)
|
||||
print('Number of users:', n_users)
|
||||
|
||||
|
||||
# %%
|
||||
# implement SVD with Python SurPRISE, a Python Recommendation Framework
|
||||
|
||||
from surprise import Reader, Dataset, SVD, SVDpp
|
||||
from surprise import accuracy
|
||||
|
||||
reader = Reader(rating_scale=(1, 5))
|
||||
dataset = Dataset.load_from_df(final_df[['userId', 'movieId', 'rating']], reader=reader)
|
||||
|
||||
svd = SVD(n_factors=50)
|
||||
svd_plusplus = SVDpp(n_factors=50)
|
||||
|
||||
# train with SVD
|
||||
trainset = dataset.build_full_trainset()
|
||||
svd.fit(trainset)
|
||||
# train with SVD++, ATTENTION this take a LONG TIME
|
||||
# svd_plusplus.fit(trainset)
|
||||
|
||||
|
||||
# %%
|
||||
# Show titels instead of ids
|
||||
id_2_names = dict()
|
||||
for idx, names in zip(movies['movieId'], movies['title']):
|
||||
id_2_names[idx] = names
|
||||
|
||||
|
||||
# %%
|
||||
# function for test set
|
||||
def Build_Anti_Testset4User(user_id):
|
||||
|
||||
fill = trainset.global_mean
|
||||
anti_testset = list()
|
||||
u = trainset.to_inner_uid(user_id)
|
||||
|
||||
# ur == users ratings
|
||||
user_items = set([item_inner_id for (item_inner_id, rating) in trainset.ur[u]])
|
||||
|
||||
anti_testset += [(trainset.to_raw_uid(u), trainset.to_raw_iid(i), fill) for
|
||||
i in trainset.all_items() if i not in user_items]
|
||||
|
||||
return anti_testset
|
||||
|
||||
|
||||
# %%
|
||||
# Implement Top-X Chart recommender
|
||||
def TopXRec_SVD(user_id, num_recommender=10, latest=False):
|
||||
|
||||
testSet = Build_Anti_Testset4User(user_id)
|
||||
predict = svd.test(testSet) # here you can change to SVD++
|
||||
|
||||
recommendation = list()
|
||||
|
||||
for userID, movieID, actualRating, estimatedRating, _ in predict:
|
||||
intMovieID = int(movieID)
|
||||
recommendation.append((intMovieID, estimatedRating))
|
||||
|
||||
recommendation.sort(key=lambda x: x[1], reverse=True)
|
||||
|
||||
movie_names = []
|
||||
movie_ratings = []
|
||||
|
||||
for name, ratings in recommendation[:20]:
|
||||
movie_names.append(id_2_names[name])
|
||||
movie_ratings.append(ratings)
|
||||
|
||||
movie_dataframe = pd.DataFrame({'title': movie_names,
|
||||
'rating': movie_ratings}).merge(movies[['title', 'release_year']],
|
||||
on='title', how='left')
|
||||
|
||||
if latest == True:
|
||||
return movie_dataframe.sort_values('release_year', ascending=False)[['title', 'rating']].head(num_recommender)
|
||||
|
||||
else:
|
||||
return movie_dataframe.drop('release_year', axis=1).head(num_recommender)
|
||||
|
||||
|
||||
# %%
|
||||
# Run Recommender
|
||||
TopXRec_SVD(363, num_recommender=10)
|
||||
TopXRec_SVD(363, num_recommender=10, latest=True)
|
||||
|
||||
# Evaluation
|
||||
testset = trainset.build_anti_testset()
|
||||
predictions_svd = svd.test(testset)
|
||||
print('SVD - RMSE:', accuracy.rmse(predictions_svd, verbose=False))
|
||||
print('SVD - MAE:', accuracy.mae(predictions_svd, verbose=False))
|
||||
170
ml-1m/README
Normal file
170
ml-1m/README
Normal file
@@ -0,0 +1,170 @@
|
||||
SUMMARY
|
||||
================================================================================
|
||||
|
||||
These files contain 1,000,209 anonymous ratings of approximately 3,900 movies
|
||||
made by 6,040 MovieLens users who joined MovieLens in 2000.
|
||||
|
||||
USAGE LICENSE
|
||||
================================================================================
|
||||
|
||||
Neither the University of Minnesota nor any of the researchers
|
||||
involved can guarantee the correctness of the data, its suitability
|
||||
for any particular purpose, or the validity of results based on the
|
||||
use of the data set. The data set may be used for any research
|
||||
purposes under the following conditions:
|
||||
|
||||
* The user may not state or imply any endorsement from the
|
||||
University of Minnesota or the GroupLens Research Group.
|
||||
|
||||
* The user must acknowledge the use of the data set in
|
||||
publications resulting from the use of the data set
|
||||
(see below for citation information).
|
||||
|
||||
* The user may not redistribute the data without separate
|
||||
permission.
|
||||
|
||||
* The user may not use this information for any commercial or
|
||||
revenue-bearing purposes without first obtaining permission
|
||||
from a faculty member of the GroupLens Research Project at the
|
||||
University of Minnesota.
|
||||
|
||||
If you have any further questions or comments, please contact GroupLens
|
||||
<grouplens-info@cs.umn.edu>.
|
||||
|
||||
CITATION
|
||||
================================================================================
|
||||
|
||||
To acknowledge use of the dataset in publications, please cite the following
|
||||
paper:
|
||||
|
||||
F. Maxwell Harper and Joseph A. Konstan. 2015. The MovieLens Datasets: History
|
||||
and Context. ACM Transactions on Interactive Intelligent Systems (TiiS) 5, 4,
|
||||
Article 19 (December 2015), 19 pages. DOI=http://dx.doi.org/10.1145/2827872
|
||||
|
||||
|
||||
ACKNOWLEDGEMENTS
|
||||
================================================================================
|
||||
|
||||
Thanks to Shyong Lam and Jon Herlocker for cleaning up and generating the data
|
||||
set.
|
||||
|
||||
FURTHER INFORMATION ABOUT THE GROUPLENS RESEARCH PROJECT
|
||||
================================================================================
|
||||
|
||||
The GroupLens Research Project is a research group in the Department of
|
||||
Computer Science and Engineering at the University of Minnesota. Members of
|
||||
the GroupLens Research Project are involved in many research projects related
|
||||
to the fields of information filtering, collaborative filtering, and
|
||||
recommender systems. The project is lead by professors John Riedl and Joseph
|
||||
Konstan. The project began to explore automated collaborative filtering in
|
||||
1992, but is most well known for its world wide trial of an automated
|
||||
collaborative filtering system for Usenet news in 1996. Since then the project
|
||||
has expanded its scope to research overall information filtering solutions,
|
||||
integrating in content-based methods as well as improving current collaborative
|
||||
filtering technology.
|
||||
|
||||
Further information on the GroupLens Research project, including research
|
||||
publications, can be found at the following web site:
|
||||
|
||||
http://www.grouplens.org/
|
||||
|
||||
GroupLens Research currently operates a movie recommender based on
|
||||
collaborative filtering:
|
||||
|
||||
http://www.movielens.org/
|
||||
|
||||
RATINGS FILE DESCRIPTION
|
||||
================================================================================
|
||||
|
||||
All ratings are contained in the file "ratings.dat" and are in the
|
||||
following format:
|
||||
|
||||
UserID::MovieID::Rating::Timestamp
|
||||
|
||||
- UserIDs range between 1 and 6040
|
||||
- MovieIDs range between 1 and 3952
|
||||
- Ratings are made on a 5-star scale (whole-star ratings only)
|
||||
- Timestamp is represented in seconds since the epoch as returned by time(2)
|
||||
- Each user has at least 20 ratings
|
||||
|
||||
USERS FILE DESCRIPTION
|
||||
================================================================================
|
||||
|
||||
User information is in the file "users.dat" and is in the following
|
||||
format:
|
||||
|
||||
UserID::Gender::Age::Occupation::Zip-code
|
||||
|
||||
All demographic information is provided voluntarily by the users and is
|
||||
not checked for accuracy. Only users who have provided some demographic
|
||||
information are included in this data set.
|
||||
|
||||
- Gender is denoted by a "M" for male and "F" for female
|
||||
- Age is chosen from the following ranges:
|
||||
|
||||
* 1: "Under 18"
|
||||
* 18: "18-24"
|
||||
* 25: "25-34"
|
||||
* 35: "35-44"
|
||||
* 45: "45-49"
|
||||
* 50: "50-55"
|
||||
* 56: "56+"
|
||||
|
||||
- Occupation is chosen from the following choices:
|
||||
|
||||
* 0: "other" or not specified
|
||||
* 1: "academic/educator"
|
||||
* 2: "artist"
|
||||
* 3: "clerical/admin"
|
||||
* 4: "college/grad student"
|
||||
* 5: "customer service"
|
||||
* 6: "doctor/health care"
|
||||
* 7: "executive/managerial"
|
||||
* 8: "farmer"
|
||||
* 9: "homemaker"
|
||||
* 10: "K-12 student"
|
||||
* 11: "lawyer"
|
||||
* 12: "programmer"
|
||||
* 13: "retired"
|
||||
* 14: "sales/marketing"
|
||||
* 15: "scientist"
|
||||
* 16: "self-employed"
|
||||
* 17: "technician/engineer"
|
||||
* 18: "tradesman/craftsman"
|
||||
* 19: "unemployed"
|
||||
* 20: "writer"
|
||||
|
||||
MOVIES FILE DESCRIPTION
|
||||
================================================================================
|
||||
|
||||
Movie information is in the file "movies.dat" and is in the following
|
||||
format:
|
||||
|
||||
MovieID::Title::Genres
|
||||
|
||||
- Titles are identical to titles provided by the IMDB (including
|
||||
year of release)
|
||||
- Genres are pipe-separated and are selected from the following genres:
|
||||
|
||||
* Action
|
||||
* Adventure
|
||||
* Animation
|
||||
* Children's
|
||||
* Comedy
|
||||
* Crime
|
||||
* Documentary
|
||||
* Drama
|
||||
* Fantasy
|
||||
* Film-Noir
|
||||
* Horror
|
||||
* Musical
|
||||
* Mystery
|
||||
* Romance
|
||||
* Sci-Fi
|
||||
* Thriller
|
||||
* War
|
||||
* Western
|
||||
|
||||
- Some MovieIDs do not correspond to a movie due to accidental duplicate
|
||||
entries and/or test entries
|
||||
- Movies are mostly entered by hand, so errors and inconsistencies may exist
|
||||
3883
ml-1m/movies.dat
Normal file
3883
ml-1m/movies.dat
Normal file
File diff suppressed because it is too large
Load Diff
1000209
ml-1m/ratings.dat
Normal file
1000209
ml-1m/ratings.dat
Normal file
File diff suppressed because it is too large
Load Diff
6040
ml-1m/users.dat
Normal file
6040
ml-1m/users.dat
Normal file
File diff suppressed because it is too large
Load Diff
@@ -1,153 +0,0 @@
|
||||
Summary
|
||||
=======
|
||||
|
||||
This dataset (ml-latest-small) describes 5-star rating and free-text tagging activity from [MovieLens](http://movielens.org), a movie recommendation service. It contains 100836 ratings and 3683 tag applications across 9742 movies. These data were created by 610 users between March 29, 1996 and September 24, 2018. This dataset was generated on September 26, 2018.
|
||||
|
||||
Users were selected at random for inclusion. All selected users had rated at least 20 movies. No demographic information is included. Each user is represented by an id, and no other information is provided.
|
||||
|
||||
The data are contained in the files `links.csv`, `movies.csv`, `ratings.csv` and `tags.csv`. More details about the contents and use of all these files follows.
|
||||
|
||||
This is a *development* dataset. As such, it may change over time and is not an appropriate dataset for shared research results. See available *benchmark* datasets if that is your intent.
|
||||
|
||||
This and other GroupLens data sets are publicly available for download at <http://grouplens.org/datasets/>.
|
||||
|
||||
|
||||
Usage License
|
||||
=============
|
||||
|
||||
Neither the University of Minnesota nor any of the researchers involved can guarantee the correctness of the data, its suitability for any particular purpose, or the validity of results based on the use of the data set. The data set may be used for any research purposes under the following conditions:
|
||||
|
||||
* The user may not state or imply any endorsement from the University of Minnesota or the GroupLens Research Group.
|
||||
* The user must acknowledge the use of the data set in publications resulting from the use of the data set (see below for citation information).
|
||||
* The user may redistribute the data set, including transformations, so long as it is distributed under these same license conditions.
|
||||
* The user may not use this information for any commercial or revenue-bearing purposes without first obtaining permission from a faculty member of the GroupLens Research Project at the University of Minnesota.
|
||||
* The executable software scripts are provided "as is" without warranty of any kind, either expressed or implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. The entire risk as to the quality and performance of them is with you. Should the program prove defective, you assume the cost of all necessary servicing, repair or correction.
|
||||
|
||||
In no event shall the University of Minnesota, its affiliates or employees be liable to you for any damages arising out of the use or inability to use these programs (including but not limited to loss of data or data being rendered inaccurate).
|
||||
|
||||
If you have any further questions or comments, please email <grouplens-info@umn.edu>
|
||||
|
||||
|
||||
Citation
|
||||
========
|
||||
|
||||
To acknowledge use of the dataset in publications, please cite the following paper:
|
||||
|
||||
> F. Maxwell Harper and Joseph A. Konstan. 2015. The MovieLens Datasets: History and Context. ACM Transactions on Interactive Intelligent Systems (TiiS) 5, 4: 19:1–19:19. <https://doi.org/10.1145/2827872>
|
||||
|
||||
|
||||
Further Information About GroupLens
|
||||
===================================
|
||||
|
||||
GroupLens is a research group in the Department of Computer Science and Engineering at the University of Minnesota. Since its inception in 1992, GroupLens's research projects have explored a variety of fields including:
|
||||
|
||||
* recommender systems
|
||||
* online communities
|
||||
* mobile and ubiquitious technologies
|
||||
* digital libraries
|
||||
* local geographic information systems
|
||||
|
||||
GroupLens Research operates a movie recommender based on collaborative filtering, MovieLens, which is the source of these data. We encourage you to visit <http://movielens.org> to try it out! If you have exciting ideas for experimental work to conduct on MovieLens, send us an email at <grouplens-info@cs.umn.edu> - we are always interested in working with external collaborators.
|
||||
|
||||
|
||||
Content and Use of Files
|
||||
========================
|
||||
|
||||
Formatting and Encoding
|
||||
-----------------------
|
||||
|
||||
The dataset files are written as [comma-separated values](http://en.wikipedia.org/wiki/Comma-separated_values) files with a single header row. Columns that contain commas (`,`) are escaped using double-quotes (`"`). These files are encoded as UTF-8. If accented characters in movie titles or tag values (e.g. Misérables, Les (1995)) display incorrectly, make sure that any program reading the data, such as a text editor, terminal, or script, is configured for UTF-8.
|
||||
|
||||
|
||||
User Ids
|
||||
--------
|
||||
|
||||
MovieLens users were selected at random for inclusion. Their ids have been anonymized. User ids are consistent between `ratings.csv` and `tags.csv` (i.e., the same id refers to the same user across the two files).
|
||||
|
||||
|
||||
Movie Ids
|
||||
---------
|
||||
|
||||
Only movies with at least one rating or tag are included in the dataset. These movie ids are consistent with those used on the MovieLens web site (e.g., id `1` corresponds to the URL <https://movielens.org/movies/1>). Movie ids are consistent between `ratings.csv`, `tags.csv`, `movies.csv`, and `links.csv` (i.e., the same id refers to the same movie across these four data files).
|
||||
|
||||
|
||||
Ratings Data File Structure (ratings.csv)
|
||||
-----------------------------------------
|
||||
|
||||
All ratings are contained in the file `ratings.csv`. Each line of this file after the header row represents one rating of one movie by one user, and has the following format:
|
||||
|
||||
userId,movieId,rating,timestamp
|
||||
|
||||
The lines within this file are ordered first by userId, then, within user, by movieId.
|
||||
|
||||
Ratings are made on a 5-star scale, with half-star increments (0.5 stars - 5.0 stars).
|
||||
|
||||
Timestamps represent seconds since midnight Coordinated Universal Time (UTC) of January 1, 1970.
|
||||
|
||||
|
||||
Tags Data File Structure (tags.csv)
|
||||
-----------------------------------
|
||||
|
||||
All tags are contained in the file `tags.csv`. Each line of this file after the header row represents one tag applied to one movie by one user, and has the following format:
|
||||
|
||||
userId,movieId,tag,timestamp
|
||||
|
||||
The lines within this file are ordered first by userId, then, within user, by movieId.
|
||||
|
||||
Tags are user-generated metadata about movies. Each tag is typically a single word or short phrase. The meaning, value, and purpose of a particular tag is determined by each user.
|
||||
|
||||
Timestamps represent seconds since midnight Coordinated Universal Time (UTC) of January 1, 1970.
|
||||
|
||||
|
||||
Movies Data File Structure (movies.csv)
|
||||
---------------------------------------
|
||||
|
||||
Movie information is contained in the file `movies.csv`. Each line of this file after the header row represents one movie, and has the following format:
|
||||
|
||||
movieId,title,genres
|
||||
|
||||
Movie titles are entered manually or imported from <https://www.themoviedb.org/>, and include the year of release in parentheses. Errors and inconsistencies may exist in these titles.
|
||||
|
||||
Genres are a pipe-separated list, and are selected from the following:
|
||||
|
||||
* Action
|
||||
* Adventure
|
||||
* Animation
|
||||
* Children's
|
||||
* Comedy
|
||||
* Crime
|
||||
* Documentary
|
||||
* Drama
|
||||
* Fantasy
|
||||
* Film-Noir
|
||||
* Horror
|
||||
* Musical
|
||||
* Mystery
|
||||
* Romance
|
||||
* Sci-Fi
|
||||
* Thriller
|
||||
* War
|
||||
* Western
|
||||
* (no genres listed)
|
||||
|
||||
|
||||
Links Data File Structure (links.csv)
|
||||
---------------------------------------
|
||||
|
||||
Identifiers that can be used to link to other sources of movie data are contained in the file `links.csv`. Each line of this file after the header row represents one movie, and has the following format:
|
||||
|
||||
movieId,imdbId,tmdbId
|
||||
|
||||
movieId is an identifier for movies used by <https://movielens.org>. E.g., the movie Toy Story has the link <https://movielens.org/movies/1>.
|
||||
|
||||
imdbId is an identifier for movies used by <http://www.imdb.com>. E.g., the movie Toy Story has the link <http://www.imdb.com/title/tt0114709/>.
|
||||
|
||||
tmdbId is an identifier for movies used by <https://www.themoviedb.org>. E.g., the movie Toy Story has the link <https://www.themoviedb.org/movie/862>.
|
||||
|
||||
Use of the resources listed above is subject to the terms of each provider.
|
||||
|
||||
|
||||
Cross-Validation
|
||||
----------------
|
||||
|
||||
Prior versions of the MovieLens dataset included either pre-computed cross-folds or scripts to perform this computation. We no longer bundle either of these features with the dataset, since most modern toolkits provide this as a built-in feature. If you wish to learn about standard approaches to cross-fold computation in the context of recommender systems evaluation, see [LensKit](http://lenskit.org) for tools, documentation, and open-source code examples.
|
||||
@@ -1,46 +0,0 @@
|
||||
USERS FILE DESCRIPTION
|
||||
================================================================================
|
||||
|
||||
User information is in the file "users.dat" and is in the following
|
||||
format:
|
||||
|
||||
UserID::Gender::Age::Occupation::Zip-code
|
||||
|
||||
All demographic information is provided voluntarily by the users and is
|
||||
not checked for accuracy. Only users who have provided some demographic
|
||||
information are included in this data set.
|
||||
|
||||
- Gender is denoted by a "M" for male and "F" for female
|
||||
- Age is chosen from the following ranges:
|
||||
|
||||
* 1: "Under 18"
|
||||
* 18: "18-24"
|
||||
* 25: "25-34"
|
||||
* 35: "35-44"
|
||||
* 45: "45-49"
|
||||
* 50: "50-55"
|
||||
* 56: "56+"
|
||||
|
||||
- Occupation is chosen from the following choices:
|
||||
|
||||
* 0: "other" or not specified
|
||||
* 1: "academic/educator"
|
||||
* 2: "artist"
|
||||
* 3: "clerical/admin"
|
||||
* 4: "college/grad student"
|
||||
* 5: "customer service"
|
||||
* 6: "doctor/health care"
|
||||
* 7: "executive/managerial"
|
||||
* 8: "farmer"
|
||||
* 9: "homemaker"
|
||||
* 10: "K-12 student"
|
||||
* 11: "lawyer"
|
||||
* 12: "programmer"
|
||||
* 13: "retired"
|
||||
* 14: "sales/marketing"
|
||||
* 15: "scientist"
|
||||
* 16: "self-employed"
|
||||
* 17: "technician/engineer"
|
||||
* 18: "tradesman/craftsman"
|
||||
* 19: "unemployed"
|
||||
* 20: "writer"
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
100836
ml-latest-small/ratings.csv
100836
ml-latest-small/ratings.csv
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,610 +0,0 @@
|
||||
1::F::1::10::48067
|
||||
2::M::56::16::70072
|
||||
3::M::25::15::55117
|
||||
4::M::45::7::02460
|
||||
5::M::25::20::55455
|
||||
6::F::50::9::55117
|
||||
7::M::35::1::06810
|
||||
8::M::25::12::11413
|
||||
9::M::25::17::61614
|
||||
10::F::35::1::95370
|
||||
11::F::25::1::04093
|
||||
12::M::25::12::32793
|
||||
13::M::45::1::93304
|
||||
14::M::35::0::60126
|
||||
15::M::25::7::22903
|
||||
16::F::35::0::20670
|
||||
17::M::50::1::95350
|
||||
18::F::18::3::95825
|
||||
19::M::1::10::48073
|
||||
20::M::25::14::55113
|
||||
21::M::18::16::99353
|
||||
22::M::18::15::53706
|
||||
23::M::35::0::90049
|
||||
24::F::25::7::10023
|
||||
25::M::18::4::01609
|
||||
26::M::25::7::23112
|
||||
27::M::25::11::19130
|
||||
28::F::25::1::14607
|
||||
29::M::35::7::33407
|
||||
30::F::35::7::19143
|
||||
31::M::56::7::06840
|
||||
32::F::25::0::19355
|
||||
33::M::45::3::55421
|
||||
34::F::18::0::02135
|
||||
35::M::45::1::02482
|
||||
36::M::25::3::94123
|
||||
37::F::25::9::66212
|
||||
38::F::18::4::02215
|
||||
39::M::18::4::61820
|
||||
40::M::45::0::10543
|
||||
41::F::18::4::15116
|
||||
42::M::25::8::24502
|
||||
43::M::25::12::60614
|
||||
44::M::45::17::98052
|
||||
45::F::45::16::94110
|
||||
46::M::18::19::75602
|
||||
47::M::18::4::94305
|
||||
48::M::25::4::92107
|
||||
49::M::18::12::77084
|
||||
50::F::25::2::98133
|
||||
51::F::1::10::10562
|
||||
52::M::18::4::72212
|
||||
53::M::25::0::96931
|
||||
54::M::50::1::56723
|
||||
55::F::35::12::55303
|
||||
56::M::35::20::60440
|
||||
57::M::18::19::30350
|
||||
58::M::25::2::30303
|
||||
59::F::50::1::55413
|
||||
60::M::50::1::72118
|
||||
61::M::25::17::95122
|
||||
62::F::35::3::98105
|
||||
63::M::18::4::54902
|
||||
64::M::18::1::53706
|
||||
65::M::35::12::55803
|
||||
66::M::25::18::57706
|
||||
67::F::50::5::60181
|
||||
68::M::18::4::53706
|
||||
69::F::25::1::02143
|
||||
70::M::18::4::53703
|
||||
71::M::25::14::95008
|
||||
72::F::45::0::55122
|
||||
73::M::18::4::53706
|
||||
74::M::35::14::94530
|
||||
75::F::1::10::01748
|
||||
76::M::35::7::55413
|
||||
77::M::18::4::15321
|
||||
78::F::45::1::98029
|
||||
79::F::45::0::98103
|
||||
80::M::56::1::49327
|
||||
81::F::25::0::60640
|
||||
82::M::25::17::48380
|
||||
83::F::25::2::94609
|
||||
84::M::18::4::53140
|
||||
85::M::18::4::94945
|
||||
86::F::1::10::54467
|
||||
87::M::25::14::48360
|
||||
88::F::45::1::02476
|
||||
89::F::56::9::85749
|
||||
90::M::56::13::85749
|
||||
91::M::35::7::07650
|
||||
92::F::18::4::44243
|
||||
93::M::25::17::95825
|
||||
94::M::25::17::28601
|
||||
95::M::45::0::98201
|
||||
96::F::25::16::78028
|
||||
97::F::35::3::66210
|
||||
98::F::35::7::33547
|
||||
99::F::1::10::19390
|
||||
100::M::35::17::95401
|
||||
101::F::18::3::33314
|
||||
102::M::35::19::20871
|
||||
103::M::45::7::92104
|
||||
104::M::25::12::00926
|
||||
105::M::45::12::90277
|
||||
106::F::35::11::79101
|
||||
107::M::45::18::63129
|
||||
108::M::25::12::30316
|
||||
109::M::45::15::92028
|
||||
110::M::25::2::90803
|
||||
111::M::35::15::55416
|
||||
112::M::25::16::97209
|
||||
113::M::18::12::37032
|
||||
114::F::25::2::83712
|
||||
115::M::25::17::28083
|
||||
116::M::25::17::55744
|
||||
117::M::25::17::33314
|
||||
118::M::35::17::22315
|
||||
119::F::1::10::77515
|
||||
120::M::25::11::27106
|
||||
121::M::35::7::75229
|
||||
122::F::18::4::94305
|
||||
123::M::35::9::67208
|
||||
124::M::56::7::91356
|
||||
125::M::45::14::01701
|
||||
126::M::18::9::98117
|
||||
127::F::45::3::01770
|
||||
128::M::56::6::37922
|
||||
129::M::25::11::20164
|
||||
130::M::35::17::50021
|
||||
131::M::18::4::06520
|
||||
132::M::25::17::99709
|
||||
133::F::25::0::55071
|
||||
134::M::25::0::66212
|
||||
135::M::18::4::20006
|
||||
136::M::18::2::21202
|
||||
137::F::45::6::78758
|
||||
138::M::18::20::22203
|
||||
139::F::25::20::45409
|
||||
140::F::35::1::55107
|
||||
141::M::35::13::62035
|
||||
142::M::25::7::10011
|
||||
143::M::18::3::64043
|
||||
144::M::25::17::29401
|
||||
145::M::18::4::19081
|
||||
146::F::35::20::10954
|
||||
147::M::18::4::91360
|
||||
148::M::50::17::57747
|
||||
149::M::25::1::29205
|
||||
150::M::35::7::98144
|
||||
151::F::25::20::85013
|
||||
152::M::18::4::48104
|
||||
153::M::1::10::51537
|
||||
154::M::50::20::94530
|
||||
155::M::35::12::07470
|
||||
156::F::45::7::14519
|
||||
157::M::35::16::12866
|
||||
158::M::56::7::28754
|
||||
159::F::45::0::37922
|
||||
160::M::35::7::13021
|
||||
161::M::45::16::98107-2117
|
||||
162::F::18::4::93117
|
||||
163::M::18::4::85013
|
||||
164::F::56::13::94566
|
||||
165::M::18::16::98502
|
||||
166::M::18::4::92802
|
||||
167::F::25::11::10022
|
||||
168::F::50::0::46970
|
||||
169::M::25::7::55439
|
||||
170::M::25::11::07002
|
||||
171::F::50::17::55441
|
||||
172::M::25::3::07661
|
||||
173::M::25::0::45237
|
||||
174::M::25::16::21203
|
||||
175::F::25::2::95123
|
||||
176::F::18::3::55016
|
||||
177::M::50::1::54016
|
||||
178::M::56::17::53705
|
||||
179::M::25::0::02135
|
||||
180::M::45::12::01603
|
||||
181::M::18::17::33186
|
||||
182::M::18::4::03052
|
||||
183::F::45::1::55407
|
||||
184::F::25::0::19001
|
||||
185::M::45::0::14468
|
||||
186::M::18::5::91767
|
||||
187::F::45::1::94061
|
||||
188::M::56::16::79930
|
||||
189::M::18::0::60076
|
||||
190::M::25::17::55125
|
||||
191::M::18::4::04915
|
||||
192::M::18::1::10977
|
||||
193::F::45::15::44106
|
||||
194::F::1::10::29146
|
||||
195::M::25::12::10458
|
||||
196::F::35::9::94587
|
||||
197::M::18::14::10023
|
||||
198::M::25::12::55108
|
||||
199::M::18::4::83706
|
||||
200::F::18::4::84321
|
||||
201::F::35::2::55117
|
||||
202::M::18::4::53706
|
||||
203::F::18::4::53715
|
||||
204::M::25::7::92123
|
||||
205::M::35::12::97333
|
||||
206::M::25::17::20194
|
||||
207::M::25::12::94115
|
||||
208::M::35::17::55432
|
||||
209::M::35::1::90048
|
||||
210::F::1::10::25801
|
||||
211::M::45::17::90620
|
||||
212::M::25::16::53714
|
||||
213::F::18::4::01609
|
||||
214::M::18::20::80218
|
||||
215::M::35::14::92075
|
||||
216::M::45::13::52761
|
||||
217::M::18::4::22903
|
||||
218::M::35::14::95822
|
||||
219::F::25::4::55113
|
||||
220::M::25::12::22903
|
||||
221::F::25::0::94063
|
||||
222::M::25::1::55116
|
||||
223::M::25::17::28262
|
||||
224::F::18::4::14850
|
||||
225::M::25::7::11215
|
||||
226::M::35::1::94518
|
||||
227::M::35::20::90291
|
||||
228::M::25::15::55455
|
||||
229::M::18::10::04576
|
||||
230::M::45::1::43210
|
||||
231::M::25::3::55455
|
||||
232::M::25::20::55408
|
||||
233::F::45::20::37919-4204
|
||||
234::M::35::7::39652
|
||||
235::M::25::0::98153
|
||||
236::M::25::5::55126
|
||||
237::M::25::6::46835
|
||||
238::F::50::7::90291
|
||||
239::M::18::19::94618
|
||||
240::M::50::17::55113
|
||||
241::M::35::20::55121
|
||||
242::F::18::4::53706
|
||||
243::M::25::16::11576
|
||||
244::M::50::7::19072
|
||||
245::M::35::16::66046
|
||||
246::F::18::4::60625
|
||||
247::M::25::17::94404
|
||||
248::M::18::17::72703
|
||||
249::F::18::14::48126
|
||||
250::M::35::16::11229
|
||||
251::M::56::17::55105
|
||||
252::M::25::12::94112
|
||||
253::F::25::11::97370
|
||||
254::M::35::17::49015
|
||||
255::M::35::0::85310
|
||||
256::M::45::16::55076
|
||||
257::M::18::18::55113
|
||||
258::M::25::7::55436
|
||||
259::M::25::1::60615
|
||||
260::M::18::19::98126
|
||||
261::M::25::20::75801
|
||||
262::F::25::1::68503
|
||||
263::F::25::7::22304
|
||||
264::M::35::0::20755
|
||||
265::F::35::7::55116
|
||||
266::M::35::11::75229
|
||||
267::M::45::12::55001
|
||||
268::F::18::12::29708
|
||||
269::M::25::2::55408
|
||||
270::M::50::14::55414
|
||||
271::M::18::4::48202
|
||||
272::M::18::0::80302
|
||||
273::M::18::4::55427
|
||||
274::M::18::4::55455
|
||||
275::M::25::0::48162
|
||||
276::M::45::16::01982
|
||||
277::F::35::1::98126
|
||||
278::M::45::18::60482
|
||||
279::M::25::14::91214
|
||||
280::M::50::7::19118
|
||||
281::F::35::0::94117
|
||||
282::M::25::17::94401
|
||||
283::M::25::0::10003
|
||||
284::M::25::12::91910
|
||||
285::F::35::0::94109
|
||||
286::M::25::1::54601
|
||||
287::M::50::13::94706
|
||||
288::F::25::12::97119
|
||||
289::F::25::0::11801
|
||||
290::F::25::20::94591
|
||||
291::M::35::12::55110
|
||||
292::M::35::7::19406
|
||||
293::M::56::1::55337-4056
|
||||
294::F::45::9::43147
|
||||
295::M::18::0::80203
|
||||
296::M::50::5::89432
|
||||
297::M::18::2::97211
|
||||
298::F::18::4::19010
|
||||
299::M::25::12::97370
|
||||
300::M::25::7::78664
|
||||
301::M::18::4::61820
|
||||
302::M::18::4::04901
|
||||
303::M::25::7::20006
|
||||
304::M::25::0::55414
|
||||
305::F::18::0::55414
|
||||
306::M::18::0::53051
|
||||
307::M::50::16::90027
|
||||
308::M::25::2::10025
|
||||
309::M::25::4::16801
|
||||
310::F::18::4::31207
|
||||
311::M::18::4::31201
|
||||
312::F::50::2::22207
|
||||
313::F::18::4::02138
|
||||
314::F::56::9::46911
|
||||
315::F::56::1::55105
|
||||
316::M::56::13::90740
|
||||
317::M::35::7::38555
|
||||
318::F::56::13::55104
|
||||
319::F::50::6::33436
|
||||
320::M::35::6::99516
|
||||
321::M::18::4::55128
|
||||
322::M::56::17::55117
|
||||
323::M::45::12::53716
|
||||
324::M::35::17::55106
|
||||
325::F::50::3::55112
|
||||
326::M::50::11::25302
|
||||
327::M::35::18::55448
|
||||
328::M::35::12::80401
|
||||
329::M::35::7::02115
|
||||
330::M::56::7::92065
|
||||
331::M::25::7::55902
|
||||
332::M::50::1::55109
|
||||
333::M::35::2::55410
|
||||
334::F::56::2::55113
|
||||
335::M::35::18::55434
|
||||
336::M::18::0::98765
|
||||
337::M::18::19::80205
|
||||
338::M::35::7::55116
|
||||
339::M::50::7::80207
|
||||
340::F::25::3::28001
|
||||
341::F::56::13::92119
|
||||
342::M::18::12::55076
|
||||
343::F::35::3::55127
|
||||
344::M::35::14::75034
|
||||
345::M::25::12::94114
|
||||
346::F::25::0::55110
|
||||
347::F::56::1::55305
|
||||
348::M::50::7::55110
|
||||
349::M::1::10::08035
|
||||
350::M::45::20::08035
|
||||
351::M::18::4::55105
|
||||
352::M::18::4::60115
|
||||
353::F::35::7::92625
|
||||
354::M::35::1::55117
|
||||
355::M::18::3::55107
|
||||
356::M::56::20::55101
|
||||
357::M::18::0::98103
|
||||
358::F::56::1::20815
|
||||
359::M::25::17::55128
|
||||
360::M::35::17::28208
|
||||
361::F::25::14::94115
|
||||
362::M::35::20::55407
|
||||
363::M::18::10::55419
|
||||
364::F::35::1::46815
|
||||
365::F::18::4::02138
|
||||
366::M::50::15::55126
|
||||
367::M::50::12::55421
|
||||
368::M::25::0::90293
|
||||
369::M::35::1::55110
|
||||
370::M::18::17::22304
|
||||
371::M::18::4::02141
|
||||
372::F::18::4::72227
|
||||
373::F::25::2::55347
|
||||
374::F::35::14::55346
|
||||
375::M::25::2::55106
|
||||
376::M::35::1::80026
|
||||
377::M::25::17::55418
|
||||
378::F::18::0::55105
|
||||
379::F::35::1::54822
|
||||
380::M::25::2::92024
|
||||
381::M::35::17::89015
|
||||
382::F::35::20::66205
|
||||
383::F::25::7::78757
|
||||
384::M::25::11::55075
|
||||
385::M::25::6::68131
|
||||
386::M::25::0::55408
|
||||
387::F::35::7::55111
|
||||
388::F::25::0::10021
|
||||
389::M::25::6::68128
|
||||
390::M::25::4::55405
|
||||
391::M::45::11::22122
|
||||
392::M::18::7::20037
|
||||
393::M::35::17::55402
|
||||
394::M::18::0::55013
|
||||
395::M::18::5::55104
|
||||
396::M::25::1::56187
|
||||
397::M::35::17::22124
|
||||
398::M::25::17::55454
|
||||
399::F::35::6::55128
|
||||
400::F::18::3::55422
|
||||
401::M::18::0::55129
|
||||
402::M::25::11::55427
|
||||
403::M::18::4::02138
|
||||
404::M::18::4::10128
|
||||
405::M::56::1::13077
|
||||
406::M::25::20::55105
|
||||
407::M::18::17::89503
|
||||
408::M::25::11::02143
|
||||
409::M::18::12::55122
|
||||
410::F::25::1::55417
|
||||
411::F::45::1::43214
|
||||
412::M::35::15::55117
|
||||
413::M::25::11::55409
|
||||
414::M::25::0::55317
|
||||
415::F::35::0::55406
|
||||
416::M::45::14::55076
|
||||
417::F::25::0::50613
|
||||
418::F::25::3::54016
|
||||
419::M::18::3::55422
|
||||
420::M::35::1::55406
|
||||
421::F::45::3::55125
|
||||
422::M::56::17::55104
|
||||
423::M::18::4::55455
|
||||
424::M::25::17::55112
|
||||
425::M::25::12::55303
|
||||
426::M::18::4::55455
|
||||
427::M::35::12::55104
|
||||
428::F::18::4::55455
|
||||
429::M::18::0::54901
|
||||
430::F::18::10::55306
|
||||
431::M::18::10::55303
|
||||
432::M::45::16::55306
|
||||
433::M::50::6::55115
|
||||
434::F::45::3::98155
|
||||
435::M::25::7::55125
|
||||
436::M::18::4::43023
|
||||
437::M::35::17::55030
|
||||
438::M::18::11::53705
|
||||
439::M::35::14::55129
|
||||
440::M::56::1::32940
|
||||
441::M::35::1::55127
|
||||
442::M::25::1::55105
|
||||
443::M::25::3::55421
|
||||
444::M::56::0::55108
|
||||
445::M::45::12::55117
|
||||
446::F::50::0::55042
|
||||
447::F::45::11::55105
|
||||
448::M::25::17::80123
|
||||
449::M::25::7::85037
|
||||
450::M::45::1::24523
|
||||
451::M::56::13::54720
|
||||
452::M::50::17::55117
|
||||
453::M::18::4::55102
|
||||
454::M::25::20::55092
|
||||
455::F::35::2::55113
|
||||
456::M::35::0::55105
|
||||
457::M::18::4::54703
|
||||
458::M::50::16::55405-2546
|
||||
459::F::18::4::55105
|
||||
460::M::45::18::55313
|
||||
461::M::50::7::55075
|
||||
462::M::18::16::55416
|
||||
463::M::25::7::55105
|
||||
464::F::18::4::55455
|
||||
465::M::18::19::94523
|
||||
466::M::25::5::55405
|
||||
467::F::35::3::55075
|
||||
468::F::1::10::55082
|
||||
469::M::35::6::55122
|
||||
470::F::1::10::55068
|
||||
471::M::35::7::08904
|
||||
472::M::35::0::55418
|
||||
473::F::18::4::55112
|
||||
474::M::25::17::92126
|
||||
475::F::25::2::55421
|
||||
476::M::35::0::55127
|
||||
477::M::35::14::55410
|
||||
478::M::50::16::55113
|
||||
479::M::25::12::55042
|
||||
480::F::18::4::55422
|
||||
481::M::45::7::55115
|
||||
482::M::25::14::55305
|
||||
483::M::18::12::55105
|
||||
484::F::1::10::55104
|
||||
485::M::56::7::55042
|
||||
486::M::56::0::91367
|
||||
487::F::35::17::55082
|
||||
488::M::25::12::55107
|
||||
489::M::18::4::55455
|
||||
490::M::1::10::55345
|
||||
491::M::18::4::56043
|
||||
492::M::25::12::55112
|
||||
493::M::50::7::55016
|
||||
494::F::35::0::17870
|
||||
495::M::18::10::55421
|
||||
496::M::18::4::55455
|
||||
497::F::25::17::55412
|
||||
498::M::35::17::55113
|
||||
499::F::25::1::55108
|
||||
500::F::18::2::55105
|
||||
501::M::25::2::55372
|
||||
502::M::35::6::55126
|
||||
503::M::35::11::73120
|
||||
504::M::25::2::17003
|
||||
505::M::35::17::37815
|
||||
506::M::25::16::55103-1006
|
||||
507::F::25::0::55405
|
||||
508::M::25::12::55418
|
||||
509::M::25::2::55125
|
||||
510::M::18::12::55109
|
||||
511::F::45::4::15232
|
||||
512::M::35::0::55379
|
||||
513::M::25::0::55119
|
||||
514::M::25::2::55113
|
||||
515::M::25::1::55406
|
||||
516::F::56::14::55033
|
||||
517::F::25::14::55408
|
||||
518::F::35::12::75240
|
||||
519::F::35::14::55038
|
||||
520::F::35::20::55104
|
||||
521::M::56::7::55105
|
||||
522::M::25::12::55124
|
||||
523::M::50::7::55105
|
||||
524::M::18::0::91320
|
||||
525::M::35::6::19027
|
||||
526::M::45::17::94806
|
||||
527::F::25::2::11201
|
||||
528::F::18::17::83843
|
||||
529::M::35::12::92009
|
||||
530::M::25::2::10019
|
||||
531::F::18::14::22206
|
||||
532::M::25::7::94301
|
||||
533::M::25::12::27514
|
||||
534::M::25::15::55902
|
||||
535::M::35::6::95370
|
||||
536::M::25::20::01267
|
||||
537::M::45::14::07704
|
||||
538::M::56::16::95407
|
||||
539::M::25::2::55103
|
||||
540::M::18::1::15213
|
||||
541::F::18::4::5849574
|
||||
542::M::18::4::78705
|
||||
543::M::25::5::55057
|
||||
544::M::35::12::94538
|
||||
545::M::35::17::01890
|
||||
546::F::25::0::37211
|
||||
547::M::35::12::76109
|
||||
548::F::35::16::96860
|
||||
549::M::25::6::53217
|
||||
550::M::45::8::21559
|
||||
551::M::35::20::55116
|
||||
552::M::50::18::23456
|
||||
553::M::25::2::94131
|
||||
554::M::25::12::94086
|
||||
555::M::18::4::53213
|
||||
556::F::25::9::37221
|
||||
557::M::56::1::30030
|
||||
558::M::35::20::55108
|
||||
559::F::25::7::60422
|
||||
560::M::45::15::81335
|
||||
561::F::18::14::64060
|
||||
562::M::35::20::48083
|
||||
563::M::25::4::53703
|
||||
564::M::45::1::49419
|
||||
565::M::25::16::45242
|
||||
566::M::25::17::92122
|
||||
567::M::35::20::52570-9634
|
||||
568::F::50::17::19716
|
||||
569::F::18::4::97339
|
||||
570::M::25::4::33314
|
||||
571::M::50::5::95401
|
||||
572::M::18::4::61801
|
||||
573::F::35::2::98119
|
||||
574::M::25::19::90214
|
||||
575::M::25::12::92130
|
||||
576::F::45::15::20910
|
||||
577::M::35::0::02115
|
||||
578::M::18::17::90064
|
||||
579::M::25::5::32839
|
||||
580::M::1::10::08534
|
||||
581::M::50::14::73543
|
||||
582::M::18::4::67042
|
||||
583::F::25::0::48067
|
||||
584::F::25::0::94403
|
||||
585::M::18::1::53703
|
||||
586::M::35::14::53092
|
||||
587::M::25::20::92649
|
||||
588::F::25::11::23220
|
||||
589::M::18::2::90210
|
||||
590::F::35::6::98032
|
||||
591::M::25::0::76201
|
||||
592::M::18::0::92103
|
||||
593::F::50::1::91711
|
||||
594::F::56::13::60076
|
||||
595::M::25::7::10019
|
||||
596::F::25::1::01950
|
||||
597::M::35::12::80206
|
||||
598::M::35::7::95476
|
||||
599::M::50::6::53711
|
||||
600::M::35::17::66209
|
||||
601::F::18::20::06320
|
||||
602::F::56::6::14612
|
||||
603::F::25::6::32256
|
||||
604::M::45::17::32256
|
||||
605::F::18::4::44425
|
||||
606::F::1::10::49507
|
||||
607::M::25::0::43614
|
||||
608::M::18::4::18011
|
||||
609::M::25::7::10012
|
||||
610::M::25::4::77025
|
||||
|
1899
test.ipynb
Normal file
1899
test.ipynb
Normal file
File diff suppressed because one or more lines are too long
8
workspace.code-workspace
Normal file
8
workspace.code-workspace
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"folders": [
|
||||
{
|
||||
"path": "."
|
||||
}
|
||||
],
|
||||
"settings": {}
|
||||
}
|
||||
Reference in New Issue
Block a user