日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

python surprise库_surprise库文档翻译

發(fā)布時(shí)間:2023/12/8 python 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python surprise库_surprise库文档翻译 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

這里的格式并沒(méi)有做過(guò)多的處理,可參考于OneNote筆記鏈接

由于OneNote取消了單頁(yè)分享,如果需要請(qǐng)留下郵箱,我會(huì)郵件發(fā)送pdf版本,后續(xù)再解決這個(gè)問(wèn)題

推薦算法庫(kù)surprise安裝

pip install surprise

基本用法

? 自動(dòng)交叉驗(yàn)證

# Load the movielens-100k dataset (download it if needed),

data = Dataset.load_builtin('ml-100k')

# We'll use the famous SVD algorithm.

algo = SVD()

# Run 5-fold cross-validation and print results

cross_validate(algo, data, measures=['RMSE', 'MAE'], cv=5, verbose=True)

load_builtin方法會(huì)自動(dòng)下載“movielens-100k”數(shù)據(jù)集,放在.surprise_data目錄下面

? 使用自定義的數(shù)據(jù)集

# path to dataset file

file_path = os.path.expanduser('~/.surprise_data/ml-100k/ml-100k/u.data')

# As we're loading a custom dataset, we need to define a reader. In the

# movielens-100k dataset, each line has the following format:

# 'user item rating timestamp', separated by '\t' characters.

reader = Reader(line_format='user item rating timestamp', sep='\t')

data = Dataset.load_from_file(file_path, reader=reader)

# We can now use this dataset as we please, e.g. calling cross_validate

cross_validate(BaselineOnly(), data, verbose=True)

交叉驗(yàn)證

○ cross_validate(算法,數(shù)據(jù)集,評(píng)估模塊measures=[],交叉驗(yàn)證折數(shù)cv)

○ 通過(guò)test方法和KFold也可以對(duì)數(shù)據(jù)集進(jìn)行更詳細(xì)的操作,也可以使用LeaveOneOut或是ShuffleSplit

from surprise import SVD

from surprise import Dataset

from surprise import accuracy

from surprise.model_selection import Kfold

# Load the movielens-100k dataset

data = Dataset.load_builtin('ml-100k')

# define a cross-validation iterator

kf = KFold(n_splits=3)

algo = SVD()

for trainset, testset in kf.split(data):

# train and test algorithm.

algo.fit(trainset)

predictions = algo.test(testset)

# Compute and print Root Mean Squared Error

accuracy.rmse(predictions, verbose=True)

使用GridSearchCV來(lái)調(diào)節(jié)算法參數(shù)

如果需要對(duì)算法參數(shù)來(lái)進(jìn)行比較測(cè)試,GridSearchCV類(lèi)可以提供解決方案

例如對(duì)SVD的參數(shù)嘗試不同的值

from surprise import SVD

from surprise import Dataset

from surprise.model_selection import GridSearchCV

# Use movielens-100K

data = Dataset.load_builtin('ml-100k')

param_grid = {'n_epochs': [5, 10], 'lr_all': [0.002, 0.005],

'reg_all': [0.4, 0.6]}

gs = GridSearchCV(SVD, param_grid, measures=['rmse', 'mae'], cv=3)

gs.fit(data)

# best RMSE score

print(gs.best_score['rmse'])

# combination of parameters that gave the best RMSE score

print(gs.best_params['rmse'])

# We can now use the algorithm that yields the best rmse:

algo = gs.best_estimator['rmse']

algo.fit(data.build_full_trainset())

使用預(yù)測(cè)算法

○ 基線估算配置

§ 在使用最小二乘法(ALS)時(shí)傳入?yún)?shù):

1) reg_i:項(xiàng)目正則化參數(shù),默認(rèn)值為10

2) reg_u:用戶(hù)正則化參數(shù),默認(rèn)值為15

3) n_epochs:als過(guò)程中的迭代次數(shù),默認(rèn)值為10

print('Using ALS')

bsl_options = {'method': 'als',

'n_epochs': 5,

'reg_u': 12,

'reg_i': 5

}

algo = BaselineOnly(bsl_options=bsl_options)

§ 在使用隨機(jī)梯度下降(SGD)時(shí)傳入?yún)?shù):

1) reg:優(yōu)化成本函數(shù)的正則化參數(shù),默認(rèn)值為0.02

2) learning_rate:SGD的學(xué)習(xí)率,默認(rèn)值為0.005

3) n_epochs:SGD過(guò)程中的迭代次數(shù),默認(rèn)值為20

print('Using SGD')

bsl_options = {'method': 'sgd',

'learning_rate': .00005,

}

algo = BaselineOnly(bsl_options=bsl_options)

§ 在創(chuàng)建KNN算法時(shí)候來(lái)傳遞參數(shù)

bsl_options = {'method': 'als',

'n_epochs': 20,

}

sim_options = {'name': 'pearson_baseline'}

algo = KNNBasic(bsl_options=bsl_options, sim_options=sim_options)

○ 相似度配置

§ name:要使用的相似度名稱(chēng),默認(rèn)是MSD

§ user_based:是否時(shí)基于用戶(hù)計(jì)算相似度,默認(rèn)為T(mén)rue

§ min_support:最小的公共數(shù)目,當(dāng)最小的公共用戶(hù)或者公共項(xiàng)目小于min_support時(shí)候,相似度為0

§ shrinkage:收縮參數(shù),默認(rèn)值為100

i. sim_options = {'name': 'cosine',

'user_based': False # compute similarities between items

}

algo = KNNBasic(sim_options=sim_options)

ii. sim_options = {'name': 'pearson_baseline',

'shrinkage': 0 # no shrinkage

}

algo = KNNBasic(sim_options=sim_options)

? 其他一些問(wèn)題

○ 如何獲取top-N的推薦

from collections import defaultdict

from surprise import SVD

from surprise import Dataset

def get_top_n(predictions, n=10):

'''Return the top-N recommendation for each user from a set of predictions.

Args:

predictions(list of Prediction objects): The list of predictions, as

returned by the test method of an algorithm.

n(int): The number of recommendation to output for each user. Default

is 10.

Returns:

A dict where keys are user (raw) ids and values are lists of tuples:

[(raw item id, rating estimation), ...] of size n.

'''

# First map the predictions to each user.

top_n = defaultdict(list)

for uid, iid, true_r, est, _ in predictions:

top_n[uid].append((iid, est))

# Then sort the predictions for each user and retrieve the k highest ones.

for uid, user_ratings in top_n.items():

user_ratings.sort(key=lambda x: x[1], reverse=True)

top_n[uid] = user_ratings[:n]

return top_n

# First train an SVD algorithm on the movielens dataset.

data = Dataset.load_builtin('ml-100k')

trainset = data.build_full_trainset()

algo = SVD()

algo.fit(trainset)

# Than predict ratings for all pairs (u, i) that are NOT in the training set.

testset = trainset.build_anti_testset()

predictions = algo.test(testset)

top_n = get_top_n(predictions, n=10)

# Print the recommended items for each user

for uid, user_ratings in top_n.items():

print(uid, [iid for (iid, _) in user_ratings])

○ 如何計(jì)算精度

from collections import defaultdict

from surprise import Dataset

from surprise import SVD

from surprise.model_selection import KFold

def precision_recall_at_k(predictions, k=10, threshold=3.5):

'''Return precision and recall at k metrics for each user.'''

# First map the predictions to each user.

user_est_true = defaultdict(list)

for uid, _, true_r, est, _ in predictions:

user_est_true[uid].append((est, true_r))

precisions = dict()

recalls = dict()

for uid, user_ratings in user_est_true.items():

# Sort user ratings by estimated value

user_ratings.sort(key=lambda x: x[0], reverse=True)

# Number of relevant items

n_rel = sum((true_r >= threshold) for (_, true_r) in user_ratings)

# Number of recommended items in top k

n_rec_k = sum((est >= threshold) for (est, _) in user_ratings[:k])

# Number of relevant and recommended items in top k

n_rel_and_rec_k = sum(((true_r >= threshold) and (est >= threshold))

for (est, true_r) in user_ratings[:k])

# Precision@K: Proportion of recommended items that are relevant

precisions[uid] = n_rel_and_rec_k / n_rec_k if n_rec_k != 0 else 1

# Recall@K: Proportion of relevant items that are recommended

recalls[uid] = n_rel_and_rec_k / n_rel if n_rel != 0 else 1

return precisions, recalls

data = Dataset.load_builtin('ml-100k')

kf = KFold(n_splits=5)

algo = SVD()

for trainset, testset in kf.split(data):

algo.fit(trainset)

predictions = algo.test(testset)

precisions, recalls = precision_recall_at_k(predictions, k=5, threshold=4)

# Precision and recall can then be averaged over all users

print(sum(prec for prec in precisions.values()) / len(precisions))

print(sum(rec for rec in recalls.values()) / len(recalls))

○ 如何獲得用戶(hù)(或項(xiàng)目)的k個(gè)最近鄰居

import io # needed because of weird encoding of u.item file

from surprise import KNNBaseline

from surprise import Dataset

from surprise import get_dataset_dir

def read_item_names():

"""Read the u.item file from MovieLens 100-k dataset and return two

mappings to convert raw ids into movie names and movie names into raw ids.

"""

file_name = get_dataset_dir() + '/ml-100k/ml-100k/u.item'

rid_to_name = {}

name_to_rid = {}

with io.open(file_name, 'r', encoding='ISO-8859-1') as f:

for line in f:

line = line.split('|')

rid_to_name[line[0]] = line[1]

name_to_rid[line[1]] = line[0]

return rid_to_name, name_to_rid

# First, train the algortihm to compute the similarities between items

data = Dataset.load_builtin('ml-100k')

trainset = data.build_full_trainset()

sim_options = {'name': 'pearson_baseline', 'user_based': False}

algo = KNNBaseline(sim_options=sim_options)

algo.fit(trainset)

# Read the mappings raw id <-> movie name

rid_to_name, name_to_rid = read_item_names()

# Retrieve inner id of the movie Toy Story

toy_story_raw_id = name_to_rid['Toy Story (1995)']

toy_story_inner_id = algo.trainset.to_inner_iid(toy_story_raw_id)

# Retrieve inner ids of the nearest neighbors of Toy Story.

toy_story_neighbors = algo.get_neighbors(toy_story_inner_id, k=10)

# Convert inner ids of the neighbors into names.

toy_story_neighbors = (algo.trainset.to_raw_iid(inner_id)

for inner_id in toy_story_neighbors)

toy_story_neighbors = (rid_to_name[rid]

for rid in toy_story_neighbors)

print()

print('The 10 nearest neighbors of Toy Story are:')

for movie in toy_story_neighbors:

print(movie)

○ 解釋一下什么是raw_id和inner_id?

i. 用戶(hù)和項(xiàng)目有自己的raw_id和inner_id,原生id是評(píng)分文件或者pandas數(shù)據(jù)集中定義的id,重點(diǎn)在于要知道你使用predict()或者其他方法時(shí)候接收原生的id

ii. 在訓(xùn)練集創(chuàng)建時(shí),每一個(gè)原生的id映射到inner id(這是一個(gè)唯一的整數(shù),方便surprise操作),原生id和內(nèi)部id之間的轉(zhuǎn)換可以用訓(xùn)練集中的to_inner_uid(), to_inner_iid(), to_raw_uid(), 以及to_raw_iid()方法

○ 默認(rèn)數(shù)據(jù)集下載到了哪里?怎么修改這個(gè)位置

i. 默認(rèn)數(shù)據(jù)集下載到了——“~/.surprise_data”中

ii. 如果需要修改,可以通過(guò)設(shè)置“SURPRISE_DATA_FOLDER”環(huán)境變量來(lái)修改位置

? API合集

○ 推薦算法包

random_pred.NormalPredictor Algorithm predicting a random rating based on the distribution of the training set, which is assumed to be normal.

baseline_only. BaselineOnly Algorithm predicting the baseline estimate for given user and item.

knns.KNNBasic A basic collaborative filtering algorithm.

knns.KNNWithMeans A basic collaborative filtering algorithm, taking into account the mean ratings of each user.

knns.KNNWithZScore A basic collaborative filtering algorithm, taking into account the z-score normalization of each user.

knns.KNNBaseline A basic collaborative filtering algorithm taking into account a baseline rating.

matrix_factorization.SVD The famous SVD algorithm, as popularized by Simon Funk during the Netflix Prize.

matrix_factorization.SVDpp The SVD++ algorithm, an extension of SVD taking into account implicit ratings.

matrix_factorization.NMF A collaborative filtering algorithm based on Non-negative Matrix Factorization.

slope_one.SlopeOne A simple yet accurate collaborative filtering algorithm.

co_clustering.CoClustering A collaborative filtering algorithm based on co-clustering.

○ 推薦算法基類(lèi)

§ class surprise.prediction_algorithms.algo_base.AlgoBase(**kwargs)

§ 如果算法需要計(jì)算相似度,那么baseline_options參數(shù)可以用來(lái)配置

§ 方法介紹:

1) compute_baselines() 計(jì)算用戶(hù)和項(xiàng)目的基線,這個(gè)方法只能適用于Pearson相似度或者BaselineOnly算法,返回一個(gè)包含用戶(hù)相似度和用戶(hù)相似度的元組

2) compute_similarities() 相似度矩陣,計(jì)算相似度矩陣的方式取決于sim_options算法創(chuàng)建時(shí)候所傳遞的參數(shù),返回相似度矩陣

3) default_preditction() 默認(rèn)的預(yù)測(cè)值,如果計(jì)算期間發(fā)生了異常,那么預(yù)測(cè)值則使用這個(gè)值。默認(rèn)情況下時(shí)所有評(píng)分的均值(可以在子類(lèi)中重寫(xiě),以改變這個(gè)值),返回一個(gè)浮點(diǎn)類(lèi)型

4) fit(trainset) 在給定的訓(xùn)練集上訓(xùn)練算法,每個(gè)派生類(lèi)都會(huì)調(diào)用這個(gè)方法作為訓(xùn)練算法的第一個(gè)基本步驟,它負(fù)責(zé)初始化一些內(nèi)部結(jié)構(gòu)和設(shè)置self.trainset屬性,返回self指針

5) get_neighbors(iid, k) 返回inner id所對(duì)應(yīng)的k個(gè)最近鄰居的,取決于這個(gè)iid所對(duì)應(yīng)的是用戶(hù)還是項(xiàng)目(由sim_options里面的user_based是True還是False決定),返回K個(gè)最近鄰居的內(nèi)部id列表

6) predict(uid, iid, r_ui=None, clip=True, verbose=False) 計(jì)算給定的用戶(hù)和項(xiàng)目的評(píng)分預(yù)測(cè),該方法將原生id轉(zhuǎn)換為內(nèi)部id,然后調(diào)用estimate每個(gè)派生類(lèi)中定義的方法。如果結(jié)果是一個(gè)不可能的預(yù)測(cè)結(jié)果,那么會(huì)根據(jù)default_prediction()來(lái)計(jì)算預(yù)測(cè)值

另外解釋一下clip,這個(gè)參數(shù)決定是否對(duì)預(yù)測(cè)結(jié)果進(jìn)行近似。舉個(gè)例子來(lái)說(shuō),如果預(yù)測(cè)結(jié)果是5.5,而評(píng)分的區(qū)間是[1,5],那么將預(yù)測(cè)結(jié)果修改為5;如果預(yù)測(cè)結(jié)果小于1,那么修改為1。默認(rèn)為T(mén)rue

verbose參數(shù)決定了是否打印每個(gè)預(yù)測(cè)的詳細(xì)信息。默認(rèn)值為False

返回值,一個(gè)rediction對(duì)象,包含了:

a) 原生用戶(hù)id

b) 原生項(xiàng)目id

c) 真實(shí)評(píng)分

d) 預(yù)測(cè)評(píng)分

e) 可能對(duì)后面預(yù)測(cè)有用的一些其他的詳細(xì)信息

7) test(testset, verbose=False) 在給定的測(cè)試集上測(cè)試算法,即估計(jì)給定測(cè)試集中的所有評(píng)分。返回值是prediction對(duì)象的列表

8)

○ 預(yù)測(cè)模塊

§ surprise.prediction_algorithms.predictions模塊定義了Prediction命名元組和PredictionImpossible異常

§ Prediction

□ 用于儲(chǔ)存預(yù)測(cè)結(jié)果的命名元組

□ 僅用于文檔和打印等目的

□ 參數(shù):

uid 原生用戶(hù)id

iid 原生項(xiàng)目id

r_ui 浮點(diǎn)型的真實(shí)評(píng)分

est 浮點(diǎn)型的預(yù)測(cè)評(píng)分

details 預(yù)測(cè)相關(guān)的其他詳細(xì)信息

§ surprise.prediction_algorithms.predictions.PredictionImpossible

□ 當(dāng)預(yù)測(cè)不可能時(shí)候,出現(xiàn)這個(gè)異常

□ 這個(gè)異常會(huì)設(shè)置當(dāng)前的預(yù)測(cè)評(píng)分變?yōu)槟J(rèn)值(全局平均值)

○ model_selection包

§ 交叉驗(yàn)證迭代器

□ 該模塊中包含各種交叉驗(yàn)證迭代器:

KFold 基礎(chǔ)交叉驗(yàn)證迭代器

RepeatedKFold 重復(fù)KFold交叉驗(yàn)證迭代器

ShuffleSplit 具有隨機(jī)訓(xùn)練集和測(cè)試集的基本交叉驗(yàn)證迭代器

LeaveOneOut 交叉驗(yàn)證迭代器,其中每個(gè)用戶(hù)再測(cè)試集中只有一個(gè)評(píng)級(jí)

PredefinedKFold 使用load_from_folds方法加載數(shù)據(jù)集時(shí)的交叉驗(yàn)證迭代器

□ 該模塊中還包含了將數(shù)據(jù)集分為訓(xùn)練集和測(cè)試集的功能

train_test_split(data, test_size=0,2, train_size=None, random_state=None, shuffle=True)

data,要拆分的數(shù)據(jù)集

test_size,如果是浮點(diǎn)數(shù),表示要包含在測(cè)試集中的評(píng)分比例;如果是整數(shù),則表示測(cè)試集中固定的評(píng)分?jǐn)?shù);如果是None,則設(shè)置為訓(xùn)練集大小的補(bǔ)碼;默認(rèn)為0.2

train_size,如果是浮點(diǎn)數(shù),表示要包含在訓(xùn)練集中的評(píng)分比例;如果是整數(shù),則表示訓(xùn)練集中固定的評(píng)分?jǐn)?shù);如果是None,則設(shè)置為訓(xùn)練集大小的補(bǔ)碼;默認(rèn)為None

random_state,整形,一個(gè)隨機(jī)種子,如果多次拆分后獲得的訓(xùn)練集和測(cè)試集沒(méi)有多大分別,可以用這個(gè)參數(shù)來(lái)定義隨機(jī)種子

shuffle,布爾值,是否在數(shù)據(jù)集中改變?cè)u(píng)分,默認(rèn)為T(mén)rue

§ 交叉驗(yàn)證

surprise.model_selection.validation.cross_validate(algo, data, measures=[u'rmse',u'mae'], cv=None, return_train_measures=False, n_jobs=1, pre_dispatch=u'2 * n_jobs', verbose=False)

? algo,算法

? data,數(shù)據(jù)集

? measures,字符串列表,指定評(píng)估方案

? cv,交叉迭代器或者整形或者None,如果是迭代器那么按照指定的參數(shù);如果是int,則使用KFold交叉驗(yàn)證迭代器,以參數(shù)為折疊次數(shù);如果是None,那么使用默認(rèn)的KFold,默認(rèn)折疊次數(shù)5

? return_train_measures,是否計(jì)算訓(xùn)練集的性能指標(biāo),默認(rèn)為False

? n_jobs,整形,并行進(jìn)行評(píng)估的最大折疊數(shù)。如果為-1,那么使用所有的CPU;如果為1,那么沒(méi)有并行計(jì)算(有利于調(diào)試);如果小于-1,那么使用(CPU數(shù)目 + n_jobs + 1)個(gè)CPU計(jì)算;默認(rèn)值為1

? pre_dispatch,整形或者字符串,控制在并行執(zhí)行期間調(diào)度的作業(yè)數(shù)。(減少這個(gè)數(shù)量可有助于避免在分配過(guò)多的作業(yè)多于CPU可處理內(nèi)容時(shí)候的內(nèi)存消耗)這個(gè)參數(shù)可以是:

None,所有作業(yè)會(huì)立即創(chuàng)建并生成

int,給出生成的總作業(yè)數(shù)確切數(shù)量

string,給出一個(gè)表達(dá)式作為函數(shù)n_jobs,例如“2*n_jobs”

默認(rèn)為2*n_jobs

返回值是一個(gè)字典:

? test_*,*對(duì)應(yīng)評(píng)估方案,例如“test_rmse”

? train_*,*對(duì)應(yīng)評(píng)估方案,例如“train_rmse”。當(dāng)return_train_measures為T(mén)rue時(shí)候生效

? fit_time,數(shù)組,每個(gè)分割出來(lái)的訓(xùn)練數(shù)據(jù)評(píng)估時(shí)間,以秒為單位

? test_time,數(shù)組,每個(gè)分割出來(lái)的測(cè)試數(shù)據(jù)評(píng)估時(shí)間,以秒為單位

§ 參數(shù)搜索

□ class surprise.model_selection.search.GridSearchCV(algo_class, param_grid, measures=[u'rmse', u'mae'], cv=None, refit=False, return_train_measures=False, n_jobs=1, pre_dispatch=u'2 * n_jobs', joblib_verbose=0)

? 參數(shù)類(lèi)似于上文中交叉驗(yàn)證

? refit,布爾或者整形。如果為T(mén)rue,使用第一個(gè)評(píng)估方案中最佳平均性能的參數(shù),在整個(gè)數(shù)據(jù)集上重新構(gòu)造算法measures;通過(guò)傳遞字符串可以指定其他的評(píng)估方案;默認(rèn)為False

? joblib_verbose,控制joblib的詳細(xì)程度,整形數(shù)字越高,消息越多

□ 內(nèi)部方法:

a) best_estimator,字典,使用measures方案的最佳評(píng)估值,對(duì)所有的分片計(jì)算平均

b) best_score,浮點(diǎn)數(shù),計(jì)算平均得分

c) best_params,字典,獲得measure中最佳的參數(shù)組合

d) best_index,整數(shù),獲取用于該指標(biāo)cv_results的最高精度(平均下來(lái)的)的指數(shù)

e) cv_results,數(shù)組字典,measures中所有的參數(shù)組合的訓(xùn)練和測(cè)試的時(shí)間

f) fit,通過(guò)cv參數(shù)給出不同的分割方案,對(duì)所有的參數(shù)組合計(jì)算

g) predit,當(dāng)refit為False時(shí)候生效,傳入數(shù)組,見(jiàn)上文

h) test,當(dāng)refit為False時(shí)候生效,傳入數(shù)組,見(jiàn)上文

□ class surprise.model_selection.search.RandomizedSearchCV(algo_class,param_distributions,n_iter = 10,measures = [u'rmse',u'mae'],cv = None,refit = False,return_train_measures = False,n_jobs = 1,pre_dispatch = u'2 * n_jobs',random_state =無(wú),joblib_verbose = 0 )

隨機(jī)抽樣進(jìn)行計(jì)算而非像上面的進(jìn)行瓊劇

○ 相似度模塊

§ similarities模塊中包含了用于計(jì)算用戶(hù)或者項(xiàng)目之間相似度的工具:

1) cosine

2) msd

3) pearson

4) pearson_baseline

○ 精度模塊

§ surprise.accuracy模塊提供了用于計(jì)算一組預(yù)測(cè)的精度指標(biāo)的工具:

1) rmse(均方根誤差)

2) mae(平均絕對(duì)誤差)

3) fcp

○ 數(shù)據(jù)集模塊

§ dataset模塊定義了用于管理數(shù)據(jù)集的Dataset類(lèi)和其他子類(lèi)

§ class surprise.dataset.Dataset(reader)

§ 內(nèi)部方法:

1) load_builtin(name=u'ml-100k'),加載內(nèi)置數(shù)據(jù)集,返回一個(gè)Dataset對(duì)象

2) load_from_df(df, reader),df(dataframe),數(shù)據(jù)框架,要求必須具有三列(要求順序),用戶(hù)原生id,項(xiàng)目原生id,評(píng)分;reader,指定字段內(nèi)容

3) load_from_file(file_path, reader),從文件中加載數(shù)據(jù),參數(shù)為路徑和讀取器

4) load_from_folds(folds_files, reader),處理一種特殊情況,movielens-100k數(shù)據(jù)集中已經(jīng)定義好了訓(xùn)練集和測(cè)試集,可以通過(guò)這個(gè)方法導(dǎo)入

○ 訓(xùn)練集類(lèi)

§ class surprise.Trainset(ur, ir, n_users, n_items, n_ratings, rating_scale, offset, raw2inner_id_users, raw2inner_id_items)

§ 屬性分析:

1) ur,用戶(hù)評(píng)分列表(item_inner_id,rating)的字典,鍵是用戶(hù)的inner_id

2) ir,項(xiàng)目評(píng)分列表(user_inner_id,rating)的字典,鍵是項(xiàng)目的inner_id

3) n_users,用戶(hù)數(shù)量

4) n_items,項(xiàng)目數(shù)量

5) n_ratings,總評(píng)分?jǐn)?shù)

6) rating_scale,評(píng)分的最高以及最低的元組

7) global_mean,所有評(píng)級(jí)的平均值

§ 方法分析:

1) all_items(),生成函數(shù),迭代所有項(xiàng)目,返回所有項(xiàng)目的內(nèi)部id

2) all_ratings(),生成函數(shù),迭代所有評(píng)分,返回一個(gè)(uid, iid, rating)的元組

3) all_users(),生成函數(shù),迭代所有的用戶(hù),然會(huì)用戶(hù)的內(nèi)部id

4) build_anti_testset(fill=None),返回可以在test()方法中用作測(cè)試集的評(píng)分列表,參數(shù)決定填充未知評(píng)級(jí)的值,如果使用None則使用global_mean

5) knows_item(iid),標(biāo)志物品是否屬于訓(xùn)練集

6) knows_user(uid),標(biāo)志用戶(hù)是否屬于訓(xùn)練集

7) to_inner_iid(riid),將項(xiàng)目原始id轉(zhuǎn)換為內(nèi)部id

8) to_innser_uid(ruid),將用戶(hù)原始id轉(zhuǎn)換為內(nèi)部id

9) to_raw_iid(iiid),將項(xiàng)目的內(nèi)部id轉(zhuǎn)換為原始id

10) to_raw_uid(iuid),將用戶(hù)的內(nèi)部id轉(zhuǎn)換為原始id

○ 讀取器類(lèi)

§ class surprise.reader.Reader(name=None, line_format=u'user item rating', sep=None, rating_scale=(1, 5), skip_lines=0)

Reader類(lèi)用于解析包含評(píng)分的文件,要求這樣的文件每行只指定一個(gè)評(píng)分,并且需要每行遵守這個(gè)接口:用戶(hù);項(xiàng)目;評(píng)分;[時(shí)間戳],不要求順序,但是需要指定

§ 參數(shù)分析:

1) name,如果指定,則返回一個(gè)內(nèi)置的數(shù)據(jù)集Reader,并忽略其他參數(shù),可接受的值是"ml-100k",“m1l-1m”和“jester”。默認(rèn)為None

2) line_format,string類(lèi)型,字段名稱(chēng),指定時(shí)需要用空格分割,默認(rèn)是“user item rating”

3) sep,char類(lèi)型,指定字段之間的分隔符

4) rating_scale,元組類(lèi)型,評(píng)分區(qū)間,默認(rèn)為(1,5)

5) skip_lines,int類(lèi)型,要在文件開(kāi)頭跳過(guò)的行數(shù),默認(rèn)為0

○ 轉(zhuǎn)儲(chǔ)模塊

§ surprise.dump.dump(file_name, predictions=None, algo=None, verbose=0)

□ 一個(gè)pickle的基本包裝器,用來(lái)序列化預(yù)測(cè)或者算法的列表

□ 參數(shù)分析:

a) file_name,str,指定轉(zhuǎn)儲(chǔ)的位置

b) predictions,Prediction列表,用來(lái)轉(zhuǎn)儲(chǔ)的預(yù)測(cè)

c) algo,Algorithm,用來(lái)轉(zhuǎn)儲(chǔ)的算法

d) verbose,詳細(xì)程度,0或者1

§ surprise.dump.load(file_name)

□ 用于讀取轉(zhuǎn)儲(chǔ)文件

□ 返回一個(gè)元組(predictions, algo),其中可能為None

文章來(lái)源:segmentfault,作者:Wildcard。如果您發(fā)現(xiàn)本社區(qū)中有涉嫌抄襲的內(nèi)容,歡迎發(fā)送郵件至:william.shi#ucloud.cn(郵箱中#請(qǐng)改為@)進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),本社區(qū)將立刻刪除涉嫌侵權(quán)內(nèi)容。

后臺(tái)-系統(tǒng)設(shè)置-擴(kuò)展變量-手機(jī)廣告位-內(nèi)容正文底部

總結(jié)

以上是生活随笔為你收集整理的python surprise库_surprise库文档翻译的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

亚洲女欲精品久久久久久久18 | 久久午夜网 | 亚洲午夜久久久久 | 精品国偷自产国产一区 | 欧美一级电影在线观看 | 亚洲精品国产精品乱码不99热 | 美女视频黄免费网站 | .国产精品成人自产拍在线观看6 | 97免费视频在线 | 六月丁香综合网 | 婷婷色网站 | 黄色小说视频网站 | 不卡精品视频 | 韩日av一区二区 | 国产精品理论片在线观看 | 天天操天天操天天操天天操天天操 | 免费观看丰满少妇做爰 | 99久久精品久久久久久清纯 | 狠狠躁天天躁综合网 | 激情久久小说 | 久久九九免费视频 | av片一区二区 | 三上悠亚一区二区在线观看 | 国产香蕉视频在线观看 | 成人午夜av电影 | 又黄又爽的免费高潮视频 | 成人va在线观看 | 日韩午夜一级片 | 国产在线一线 | 深爱激情亚洲 | 亚洲精选视频在线 | 啪啪免费观看网站 | 天天色天天爱天天射综合 | 狠狠干 狠狠操 | 日b视频在线观看网址 | 亚洲一级黄色大片 | 人人澡人人草 | 久久久久久久久久久国产精品 | 综合网久久 | 欧美视频在线观看免费网址 | 久久精品国产免费看久久精品 | 啪啪资源 | 婷婷日日 | 三上悠亚一区二区在线观看 | 欧美9999 | 在线观看精品一区 | 久久久综合色 | 五月婷婷综合在线视频 | 人人爽影院| 日韩三级精品 | 久久久久久在线观看 | 天天看天天干天天操 | 亚洲国产精品成人综合 | 亚洲国产日本 | 国产成人无码AⅤ片在线观 日韩av不卡在线 | 国产成人精品久久久久 | av在线播放不卡 | 欧美乱大交 | 香蕉视频一级 | www.xxxx变态.com| 在线观看av免费观看 | 久久99亚洲网美利坚合众国 | 97超碰人人澡人人爱学生 | 在线观看中文字幕一区 | 久久一本综合 | 国产高清在线观看 | 91麻豆视频网站 | 婷婷av电影 | www.久久精品视频 | 中文字幕在线一二 | 国产精品理论片在线观看 | 午夜精品久久久久久久99无限制 | 亚洲黄色app | 伊人天堂av | 国产精品嫩草影院9 | 91视频91自拍| 色在线中文字幕 | 亚洲视频 一区 | 成人黄色短片 | 奇米网777 | 97电院网手机版 | 在线 国产 亚洲 欧美 | 久久9999久久| 日韩一区二区三区高清免费看看 | 色99中文字幕 | 精品一区二区日韩 | 欧美日韩一区二区三区不卡 | 亚洲爱av| 中文字幕2021 | 特级毛片在线观看 | 日韩av一卡二卡三卡 | 亚洲春色成人 | 久久久国产影视 | 亚洲资源在线 | 日本黄网站 | 成人午夜网 | av电影中文 | 顶级欧美色妇4khd | 国产一区播放 | 国产精品国产三级国产 | 欧美另类一二三四区 | 免费又黄又爽 | 怡红院久久 | 亚洲欧美色婷婷 | 91一区啪爱嗯打偷拍欧美 | 国产午夜精品一区二区三区欧美 | 一级黄色大片在线观看 | 成人午夜片av在线看 | 久久精品中文字幕 | 欧美日韩a视频 | 国产电影一区二区三区四区 | 国产一二区免费视频 | 日日日操 | 亚洲一本视频 | 在线观看av中文字幕 | 亚洲精品资源在线观看 | 成人午夜电影网站 | 大胆欧美gogo免费视频一二区 | 在线免费观看视频一区 | 色天天天 | 国产黄色特级片 | 日韩欧美有码在线 | 国产高清不卡一区二区三区 | 国产日韩精品一区二区三区在线 | 激情综合网五月婷婷 | 日韩高清一二三区 | 久久久精品视频成人 | 天堂av在线免费观看 | 国产精品6 | 免费观看成人网 | 国产精品成人一区二区三区 | 国内精品中文字幕 | 久久一本综合 | 日本精品久久久一区二区三区 | 亚洲日日夜夜 | 美女网站色| 日韩在线播放av | 99激情网| 亚洲欧美激情插 | 波多野结衣久久资源 | 四虎在线视频 | 97电影网站 | 国产美女精品视频 | 精品亚洲二区 | 欧美日韩另类在线观看 | 欧美一区二视频在线免费观看 | 极品嫩模被强到高潮呻吟91 | 久久9999久久免费精品国产 | 欧美极品久久 | 婷婷丁香导航 | 久久久九九 | 国产精品美女999 | 国产一区二区三区在线免费观看 | 欧美一级欧美一级 | 国产免费又爽又刺激在线观看 | 香蕉免费在线 | 国产精品va | 操久 | 69国产精品成人在线播放 | 激情网五月婷婷 | 日韩美一区二区三区 | 很黄很污的视频网站 | 99精品在线视频观看 | 日韩有码在线观看视频 | 亚洲精品66 | 国际精品网| 成人黄色小说网 | 国产亚洲欧美日韩高清 | 久久成年人视频 | 精品国产理论片 | 992tv在线观看 | 久青草影院 | 一区二区精品在线 | 99热超碰| 国产精品9999久久久久仙踪林 | 久久精品123| 天天操天| 天天色婷婷 | 国产成人精品福利 | 精品一区 在线 | 欧美极品在线播放 | 狠狠色狠狠色综合日日92 | 99精品色| 久久精品一二三区 | 91福利视频在线 | 精品 一区 在线 | 久久国产午夜精品理论片最新版本 | 9999精品免费视频 | 人人爽人人爽人人爽人人爽 | 国产精品一区二区62 | 精品国产一区二区三区久久久蜜月 | 综合黄色网 | 93久久精品日日躁夜夜躁欧美 | 狠狠色丁香久久婷婷综 | 国产成人一区二区三区久久精品 | 中文字幕一区二区三区精华液 | 波多野结衣一区二区三区中文字幕 | 五月婷婷网站 | 免费一级片视频 | 狠狠gao | 成人av免费网站 | 日本三级在线观看中文字 | 中文字幕黄色 | 欧美精品在线一区 | 日韩a在线播放 | 国产高清小视频 | 2019免费中文字幕 | 国产婷婷色 | v片在线播放| 少妇bbw撒尿| 欧洲高潮三级做爰 | 日韩a欧美 | 日韩乱色精品一区二区 | 一级黄毛片 | 91av在线电影| 99精品国产免费久久久久久下载 | 天天干天天干天天操 | 欧美午夜精品久久久久久孕妇 | 麻花豆传媒mv在线观看网站 | www.亚洲黄 | 91人人爽久久涩噜噜噜 | 亚洲永久国产精品 | 婷婷综合视频 | 国产精品久久久久久久久久不蜜月 | 久久久久久高潮国产精品视 | 黄色电影网站在线观看 | 国产精品青草综合久久久久99 | 欧美黄网站 | 在线观看视频91 | 狠狠色丁香婷婷综合 | 精品96久久久久久中文字幕无 | 在线激情网 | 91中文字幕在线播放 | 91精品视频导航 | 亚洲精品乱码久久久久久蜜桃91 | 国产精品一区二区久久精品爱涩 | 国产97色 | 国产 日韩 在线 亚洲 字幕 中文 | 国产精品大尺度 | 三级黄色网络 | 精品一区在线 | 在线观看aa| 精品国产一区二区三区免费 | 色偷偷88888欧美精品久久久 | 国产精品成人久久久久久久 | 日本精a在线观看 | 欧美日韩久久久 | 日韩免费小视频 | 四虎国产精品免费观看视频优播 | 欧美一级片在线观看视频 | 亚洲 成人 一区 | 精品国产一区二区三区在线 | 一区二区精品在线 | 国产精品破处视频 | av中文电影 | 中国黄色一级大片 | 久久综合久久综合这里只有精品 | 手机av永久免费 | 九九免费在线观看 | 日韩欧美电影网 | 超碰97免费观看 | 久久香蕉国产精品麻豆粉嫩av | 成年美女黄网站色大片免费看 | 国产原创在线视频 | 欧美做受xxx | 在线中文视频 | 久久麻豆精品 | 九九热在线免费观看 | 中文字幕首页 | 国产99在线播放 | 亚洲最大成人网4388xx | a色视频 | 久久噜噜少妇网站 | 亚洲一区二区三区四区精品 | 成人18视频 | 精品国产电影一区 | 久久久久久久久毛片 | 国产精品久久99综合免费观看尤物 | 91av色| 天天射综合网视频 | 成人国产精品 | 很黄很色很污的网站 | 久久久久久久18 | 一区在线观看 | 日韩欧美一区二区在线观看 | 国产成人一级电影 | 国产日本在线观看 | 婷婷色中文| 中文字幕123区 | 亚洲欧洲一区二区在线观看 | 丁香花中文字幕 | 久久久精品网站 | 免费日韩 精品中文字幕视频在线 | 99久久久久久国产精品 | 中文字幕a∨在线乱码免费看 | www.天天操 | 国产一二区视频 | 欧美极品少妇xxxxⅹ欧美极品少妇xxxx亚洲精品 | 精品久久久久一区二区国产 | 国产午夜在线 | 99精品黄色片免费大全 | 免费网站在线观看人 | 亚洲成色777777在线观看影院 | 国产天天综合 | 成 人 黄 色 视频 免费观看 | 香蕉精品视频在线观看 | 亚洲欧美国产精品 | 96精品在线 | 亚洲一区二区三区在线看 | 亚洲精品视频网址 | 国际精品久久久久 | 午夜视频在线观看一区二区 | 国产一级一片免费播放放 | 国产精品视频地址 | 天天做天天爱夜夜爽 | 日韩欧美一区二区三区在线 | 国产精品av免费观看 | 国产一级免费观看 | 欧美一级片在线播放 | 狠狠成人 | 日韩电影一区二区在线观看 | 国产传媒一区在线 | 91视频传媒| 婷婷久月 | 国产在线播放一区二区三区 | 亚洲一区二区三区91 | 国产精品久久久久国产a级 激情综合中文娱乐网 | 久久在线电影 | 国产亚洲欧美精品久久久久久 | av中文字幕av | 久久夜色精品亚洲噜噜国4 午夜视频在线观看欧美 | 不卡的av| 久久视频在线看 | 91久久精| 日av免费 | 午夜婷婷网 | 三级黄色a | 欧美成人a在线 | 中文字幕成人网 | 一本到在线 | 在线播放 日韩专区 | 九九久久精品视频 | 国产精品久久久久久久妇 | 国产一级特黄毛片在线毛片 | 国产精品美女久久久久久久 | 白丝av在线 | 久久综合在线 | 一级性视频 | 中文伊人| 色婷婷骚婷婷 | 色欧美综合 | 在线播放国产一区二区三区 | 一区二区三区视频在线 | 国产99久久久久久免费看 | 欧美激情第八页 | 九九交易行官网 | 国产手机免费视频 | 国产69精品久久app免费版 | 99视频精品全部免费 在线 | 久久97久久 | 97精品在线观看 | 91精选在线 | 日韩欧美高清不卡 | 日本大尺码专区mv | 国产精品久久久久久久久久免费看 | 久久久久综合精品福利啪啪 | 激情图片久久 | 午夜精品久久久久久久99 | 国产精品中文久久久久久久 | 中文字幕av一区二区三区四区 | 九九九热精品免费视频观看网站 | 欧美亚洲一区二区在线 | 久久久男人的天堂 | 丁香激情五月 | 久久国产亚洲精品 | 97福利在线观看 | 干av在线| 青青久草在线视频 | 中文字幕中文字幕 | 色无五月| 免费黄色在线网站 | 中文日韩在线视频 | 又黄又刺激的网站 | 婷婷色九月 | 久久亚洲二区 | 免费黄在线观看 | 91漂亮少妇露脸在线播放 | 日本黄色免费播放 | 欧美极品少妇xxxxⅹ欧美极品少妇xxxx亚洲精品 | 亚洲精品视频在线观看免费视频 | 亚洲精品视频网址 | 亚洲国产午夜 | 亚洲精品人人 | 久久狠狠亚洲综合 | 欧美一级激情 | 国产一卡二卡在线 | 成人午夜片av在线看 | 国产亚洲综合精品 | 免费观看福利视频 | 亚洲精品视频在线免费播放 | 国产成人av电影在线观看 | 99久久精品久久久久久动态片 | 91一区一区三区 | 国产视频精品免费 | 黄色电影在线免费观看 | 国产精品日韩高清 | 国产中文在线字幕 | 国内精品久久久久久中文字幕 | 午夜成人免费影院 | 久久综合九色欧美综合狠狠 | 欧美视频99| 美女网站视频色 | 欧美极品少妇xxxxⅹ欧美极品少妇xxxx亚洲精品 | 91精品视频在线免费观看 | av福利在线免费观看 | 亚洲国产av精品毛片鲁大师 | 国产视频丨精品|在线观看 国产精品久久久久久久久久久久午夜 | 国产喷水在线 | 日本精品午夜 | 色操插 | 欧美三级高清 | 中文字幕一区二区三区在线视频 | 欧美一区二区在线 | 中文字幕一区二区三区四区 | 国产亚洲精品综合一区91 | 国产欧美精品一区aⅴ影院 99视频国产精品免费观看 | 欧美日韩在线免费观看 | 91大神免费视频 | 美女网站视频免费都是黄 | 91尤物国产尤物福利在线播放 | 久久99热这里只有精品国产 | 欧美视频18 | 国产91勾搭技师精品 | 色资源网免费观看视频 | 伊人小视频 | 91 在线视频播放 | 久久av免费观看 | 欧洲成人免费 | 一区二区激情 | 国内外成人在线 | 成人国产精品av | 成人午夜电影免费在线观看 | 香蕉视频在线免费 | 欧美日韩在线播放一区 | 欧美性春潮| 中文字幕日本在线 | 国产午夜精品一区二区三区 | 91久久偷偷做嫩草影院 | 国产精品成人一区二区 | 在线成人国产 | 超碰在线97免费 | 久日精品 | 国产精品永久在线观看 | 人人玩人人添人人 | 国产午夜精品一区二区三区 | 日韩在线观看视频免费 | 亚洲专区在线播放 | 天天操天天操天天操天天 | 国产精品久久久久久久久久免费 | 欧美日韩免费观看一区二区三区 | 天天操比| 青青河边草观看完整版高清 | 射射射av | 在线视频1卡二卡三卡 | 激情五月网站 | 天天干,天天操,天天射 | 国产 日韩 在线 亚洲 字幕 中文 | 色婷婷五 | 亚洲欧美在线综合 | 婷婷久久久 | 久久艹艹 | 国产99久久久国产精品免费看 | 国产一级视频在线观看 | 成年免费在线视频 | 国内精品中文字幕 | 久久国产精品小视频 | 国内成人精品2018免费看 | 日韩精品1区2区 | 成人av片免费看 | 日日夜夜精品网站 | 国产亚洲精品日韩在线tv黄 | 在线观看视频一区二区三区 | 中文字幕日韩在线播放 | 久久国产麻豆 | 国产午夜在线观看视频 | 91精品在线看 | 天天爱天天射天天干天天 | 色橹橹欧美在线观看视频高清 | 日韩视频免费观看高清完整版在线 | 7777精品伊人久久久大香线蕉 | 一级精品视频在线观看宜春院 | 天天射网站| 99热最新地址 | 亚洲春色综合另类校园电影 | 国产中文字幕av | 亚洲福利精品 | 国产高清不卡一区二区三区 | 日韩精品欧美专区 | 久草在线视频网 | 国产精品久久电影网 | 香蕉视频18 | 激情喷水| 国产拍在线 | 999久久久免费视频 午夜国产在线观看 | 国产一级片网站 | 国产高清不卡一区二区三区 | 91成人免费电影 | 久草视频99 | 国产一线二线三线在线观看 | 久久久久伦理电影 | 国产在线一区二区三区播放 | 中文在线 | a黄色大片 | av综合av| 国产99免费视频 | 欧美午夜性生活 | 色婷婷婷 | 久久精品人人做人人综合老师 | 99久热在线精品视频成人一区 | 国产精品露脸在线 | 亚洲综合欧美激情 | 亚洲精品国产视频 | 国产精品久久久久久久久蜜臀 | 激情五月***国产精品 | 91一区啪爱嗯打偷拍欧美 | 日韩最新理论电影 | 97精品国产91久久久久久久 | 国产黄免费 | 欧美五月婷婷 | 美女黄久久 | 久久国产成人午夜av影院宅 | 中文字幕丰满人伦在线 | 香蕉视频最新网址 | 中文字幕a∨在线乱码免费看 | 日韩中文三级 | 69国产盗摄一区二区三区五区 | 久久久久久久久久伊人 | 又爽又黄又无遮挡网站动态图 | 久久精品99国产国产 | 片黄色毛片黄色毛片 | 蜜臀久久99精品久久久酒店新书 | 中文字幕精品一区二区三区电影 | 久久久久久高潮国产精品视 | 国产高清专区 | 天天操月月操 | 亚洲日本一区二区在线 | 91中文字幕 | www久久99| 欧美日韩国产一区 | 国产精品二区三区 | 成人亚洲精品久久久久 | 成年人天堂com | 亚洲国产成人高清精品 | 国产精品视频资源 | 亚洲电影久久 | 亚洲a免费| 欧美a级一区二区 | 91成人网页版 | 日日夜夜网站 | 欧美色888 | 精品在线观 | 久久免费视频这里只有精品 | 国产精品久久片 | 国产自在线 | 精品久久美女 | 国产精品欧美 | 在线看黄色的网站 | 一区二区三区在线观看免费 | 免费在线观看一区 | 最新高清无码专区 | 免费看的黄色片 | 97精品久久人人爽人人爽 | 亚洲国产免费网站 | 有码中文在线 | 日韩精品视频一二三 | 91爱在线| 手机成人av在线 | 午夜色婷婷 | 最新国产中文字幕 | www.色综合.com | 国产精品粉嫩 | 视频在线观看亚洲 | 国产老太婆免费交性大片 | 亚洲精品男女 | 国产一区高清在线观看 | 最新国产精品久久精品 | 国产精品入口久久 | 99精品国产在热久久 | 久久国内精品 | 欧美最猛性xxx | 高清中文字幕av | 91亚·色| 国产视频日本 | 手机在线中文字幕 | 成人久久久电影 | 91九色精品国产 | 久久香蕉电影网 | 午夜精品福利一区二区 | 天天看天天干天天操 | 综合网伊人 | 色婷婷狠狠五月综合天色拍 | 最近免费观看的电影完整版 | 精品夜夜嗨av一区二区三区 | 91麻豆免费看 | 开心激情久久 | www·22com天天操 | 国产日韩在线一区 | 久久国产精品久久久 | 亚洲日本中文字幕在线观看 | 美女在线免费观看视频 | 黄色免费观看网址 | 精品在线视频一区二区三区 | 国产亚洲欧美一区 | 麻花豆传媒mv在线观看网站 | 久久国产a| 日本h视频在线观看 | 在线观看中文字幕dvd播放 | 2024国产精品视频 | 91亚洲网| 国产成人精品女人久久久 | 国产精品成人国产乱 | 久久躁日日躁aaaaxxxx | 在线影院av | 亚洲综合在线观看视频 | 欧美色图88| 亚洲成人精品在线 | 久久久久综合精品福利啪啪 | 欧美一二区在线 | 精品视频久久久 | 亚州精品视频 | 日韩欧美在线影院 | 日韩欧美专区 | 中文字幕第一页在线播放 | 99精品国产成人一区二区 | 在线观看亚洲成人 | 久久极品 | 在线а√天堂中文官网 | 欧美日产在线观看 | 香蕉影院在线 | 久久久综合精品 | 丰满少妇久久久 | 国产精品18p | 91精品综合| 国产91精品一区二区 | 果冻av在线 | 日韩精品视频免费专区在线播放 | 在线99热 | 在线免费观看视频一区 | 久久99久久99精品免观看粉嫩 | 日本黄色黄网站 | 成人四虎 | 久久精品香蕉视频 | 国产美女在线免费观看 | 亚洲国产色一区 | 色99导航 | 四虎www com | 国产精品高清一区二区三区 | 国产福利91精品一区二区三区 | 一级理论片在线观看 | 爱av在线网| 91免费在线 | 美女视频黄的免费的 | wwwwww国产 | 又色又爽又黄 | 国产一区在线免费观看 | 久久小视频| 精品福利视频在线 | 狠狠网亚洲精品 | av成人资源 | 国产99久久久欧美黑人 | 欧美色图另类 | 亚洲片在线观看 | 成人免费在线观看电影 | 综合网成人 | 成人免费大片黄在线播放 | 精品久久九九 | 91高清免费 | 日本成人免费在线观看 | 天天色天天射综合网 | 五月天婷婷免费视频 | 国产裸体视频网站 | 亚洲一区二区高潮无套美女 | 日日夜夜精品免费 | 日韩亚洲在线 | 在线观看中文字幕一区二区 | 亚洲一级国产 | 欧美视频xxx | 人人爱人人做人人爽 | 狠狠干干 | 91麻豆精品国产91久久久更新时间 | 人人插人人 | 亚洲精品中文字幕在线观看 | 国际av在线| 免费在线观看黄 | 国产h在线播放 | 久久久免费毛片 | 亚洲va男人天堂 | 欧美视频在线观看免费网址 | 免费在线观看日韩欧美 | www.91成人| 黄色aa久久| 中文在线免费观看 | 国产麻豆果冻传媒在线观看 | 久色伊人| 色在线免费 | 欧美亚洲国产精品久久高清浪潮 | www黄色| 在线欧美小视频 | 成人免费视频在线观看 | 在线免费观看视频一区二区三区 | 欧美极度另类性三渗透 | 欧美日韩精品二区第二页 | 欧美精品在线一区 | 韩国精品在线观看 | 四虎永久视频 | 国产成人一区二区在线观看 | 国产va饥渴难耐女保洁员在线观看 | 精品福利av | 在线免费观看欧美日韩 | 久久视| 四虎在线观看网址 | 天天鲁一鲁摸一摸爽一爽 | 深爱激情五月网 | 91精选在线 | 超级av在线| 久久久午夜视频 | 亚洲3级| 亚洲一区 av | 中文字幕在线精品 | 亚洲精品小视频 | 日韩天天操 | 久久这里 | 国产在线黄 | 性色av一区二区三区在线观看 | 精品超碰 | 精品欧美一区二区精品久久 | 国产福利91精品 | 一本色道久久精品 | 午夜在线观看一区 | 九色视频网 | 日日日网| 日批视频国产 | 亚洲综合在线发布 | 日本高清中文字幕有码在线 | 国产精品嫩草在线 | 99精品久久久 | 国产精品国产三级国产aⅴ9色 | 久久这里只有精品23 | 免费亚洲一区二区 | 久一久久 | 嫩草91影院 | 久久久久久久久久久久久国产精品 | 蜜桃视频日本 | 国产精品aⅴ | 欧美精品免费视频 | 天天色天天草天天射 | 日韩不卡高清视频 | 亚在线播放中文视频 | 天天爱天天插 | 91一区在线观看 | 免费一级日韩欧美性大片 | 国产伦理久久精品久久久久_ | 成人黄色影片在线 | 久99久精品 | 日韩一区二区三区高清免费看看 | 西西人体4444www高清视频 | 日韩精品视频在线观看网址 | 在线免费观看黄色 | 天天干夜夜| 中文字幕av在线播放 | 久久久久久久久久国产精品 | 丁香五月网久久综合 | 国产剧在线观看片 | 精品高清美女精品国产区 | 国产午夜精品福利视频 | 伊人国产在线观看 | 99久久精品久久久久久清纯 | 91丨九色丨国产在线 | 一区二区观看 | 婷婷久操| 狠狠干网址 | 国产精品久久久视频 | 国产视频美女 | 丁香六月婷婷综合 | 99在线观看视频网站 | 美女黄频 | 国产精品久久9 | 91精品日韩 | 天天躁日日躁狠狠躁av麻豆 | 丁香久久久 | 成人午夜黄色影院 | 超碰成人网 | 久久夜色电影 | 国产高清网站 | 最近2019中文免费高清视频观看www99 | 免费看的黄色 | 国产精品美女久久久久aⅴ 干干夜夜 | 精品一区二区在线免费观看 | 久艹视频在线观看 | 国产精品mm | 国产一二三四在线视频 | 91成人在线看 | 伊人成人久久 | 国产一级片直播 | 国产精品人人做人人爽人人添 | 婷婷在线看 | 精品国产一区二区三区四 | 天天操夜夜摸 | 成人午夜精品久久久久久久3d | 伊人午夜视频 | 在线观看视频日韩 | 人人干在线观看 | 精品国产伦一区二区三区观看说明 | 亚洲妇女av | 中文字幕在线观看视频一区二区三区 | 免费观看9x视频网站在线观看 | 午夜精品一区二区三区在线观看 | 日韩视频免费观看高清完整版在线 | 免费色视频网址 | 免费国产黄线在线观看视频 | 日韩午夜网站 | 国产精品国产三级国产 | 欧美精品xxx | 99久久99久国产黄毛片 | 久久精品99久久 | 激情黄色一级片 | 激情视频免费观看 | 天天色天天搞 | 亚洲成人精品av | 韩国av一区二区三区 | 999成人网 | 成人午夜剧场在线观看 | 久久九九影院 | 日韩精品在线观看视频 | 亚洲精品在 | 亚洲精品国产综合99久久夜夜嗨 | 91激情视频在线播放 | 成人日韩av | 久久激情精品 | 97人人模人人爽人人喊网 | 美女黄视频免费 | 免费看的黄色网 | av播放在线 | 操操色| 欧美精品久久久久久久亚洲调教 | 500部大龄熟乱视频 欧美日本三级 | 国产99中文字幕 | 五月婷婷,六月丁香 | 黄p在线播放 | 国产黄网站在线观看 | 成人在线视频你懂的 | 欧美日韩在线播放 | 国产在线美女 | 久章草在线 | 国产高清视频免费最新在线 | 国产高清视频免费 | 麻豆传媒视频在线 | 97国产人人| 国产精品久久久久永久免费观看 | 在线观看91网站 | 日本视频精品 | 黄色av成人在线 | 韩国av一区二区三区在线观看 | 日韩欧美一区二区在线观看 | 少妇bbb| 激情欧美xxxx | 91av在线播放视频 | 久久爱影视i | 久久99在线观看 | 91精品视频网站 | 成人午夜网 | 玖玖视频国产 | 国产最新在线 | 国产高清免费视频 | 国产精品区一区 | 精品xxx| 亚洲欧美在线视频免费 | 麻豆影视在线播放 | 久久综合亚洲鲁鲁五月久久 | 日本午夜在线观看 | 天天草天天色 | 亚洲精品理论片 | 天天操天天怕 | 五月天婷婷丁香花 | 久久精品欧美 | 欧美婷婷色 | 久久成人麻豆午夜电影 | 欧美日韩国产综合一区二区 | 91九色视频导航 | 在线观看中文字幕视频 | 国产小视频国产精品 | 国产中文字幕91 | 国产精品久久久一区二区三区网站 | 伊人www22综合色 | 91av亚洲| 国产亚洲精品中文字幕 | a一片一级 | 一区二区精品在线视频 | 国产精品一区二区免费 | 欧美一区二区精美视频 | 午夜手机电影 | 国产高清在线a视频大全 | 成人免费网视频 | 天天射天天干天天 | 国产女v资源在线观看 | 国产资源在线视频 | 免费高清在线视频一区· | 久久成人在线视频 | www.久草.com| 五月婷婷在线视频观看 | 三级视频日韩 | 亚州av一区 | 伊人婷婷激情 | 国产淫片免费看 | 蜜臀久久99精品久久久久久网站 | 麻豆免费在线播放 | 国产精品久久久久久久久毛片 | 成人免费网站在线观看 | 国产91对白在线播 | 波多野结衣精品在线 | 激情 一区二区 | 久草免费电影 | 亚洲最新合集 | 永久免费在线 | 中文字幕日韩电影 | 亚洲国产精品久久久久久 | 色偷偷88欧美精品久久久 | av久久在线 | 免费a网 | 久久一区二区三区四区 | 久久私人影院 | 亚洲清纯国产 | 99精品在线直播 | 成年人看片 | 日韩av一区在线观看 | 五月婷婷av在线 | 久久这里精品视频 | 精品国模一区二区三区 | 玖玖爱免费视频 | 97超碰中文字幕 | 日韩免费在线观看 | 色婷婷色 | 国产精品久久亚洲 | 久久蜜臀av | 99在线国产| 狠狠干干 | 精品久操 | 国产精品乱码高清在线看 | 久久久国产成人 | 啪啪精品 | 日韩久久久| 国产黄色精品在线观看 | 五月婷婷久久丁香 | 亚洲精品午夜久久久久久久久久久 | 日韩精品短视频 | 亚洲涩涩涩涩涩涩 | 美女免费视频一区 | av福利在线导航 | 黄色看片 | 天天天天天干 | 成人免费精品 | 涩涩爱夜夜爱 | 黄色a在线观看 | 五月婷婷黄色 | 麻豆成人在线观看 | 亚洲免费在线视频 | 欧美日韩精品在线 | 99国产视频在线 | 97碰在线 | 国产一级久久 | 狠狠狠狠狠狠干 | www黄色大片 | 一二区电影 | 国产视频亚洲视频 | 日本久久高清视频 | a级片久久| 久久久久久福利 | 欧美少妇的秘密 | 欧美动漫一区二区三区 | 午夜精品久久久久久中宇69 | 成人久久 | 久久国产精品久久国产精品 | 9999毛片 | 网站免费黄 | 亚洲国产精品电影 | 91在线免费播放视频 | 成人在线免费视频观看 | 日韩免费一区二区在线观看 | 久久精品com | www.在线观看视频 | 深夜免费福利视频 | 久久综合免费视频影院 | 成全免费观看视频 | 视频精品一区二区三区 | 久久久精品国产免费观看同学 | 手机在线免费av | 91免费视频网站在线观看 | 亚洲在线免费视频 |