精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Python中用XGBoost和scikit-learn進行隨機梯度增強

開發 后端
在本文中,您將發現隨機梯度增強以及如何使用XGBoost和Python中的scikit-learn來調整采樣參數。

[[399020]]

 集成決策樹的一種簡單技術涉及在訓練數據集的子樣本上訓練樹。可以采用訓練數據中行的子集來訓練稱為袋裝的單個樹。在計算每個分割點時,如果還使用了訓練數據的行的子集,則這稱為隨機森林。這些技術也可以在稱為隨機梯度增強的技術中用于梯度樹增強模型。

在本文中,您將發現隨機梯度增強以及如何使用XGBoost和Python中的scikit-learn來調整采樣參數。閱讀這篇文章后,您將知道:

  •  在數據子樣本上訓練樹的原理以及如何將其用于梯度增強。
  •  如何使用scikit-learn調整XGBoost中基于行的子采樣。
  •  如何在XGBoost中按樹和拆分點調整基于列的子采樣。

隨機梯度提升

梯度增強是一個貪婪的過程。將新的決策樹添加到模型中,以更正現有模型的殘差。使用貪婪搜索過程創建每個決策樹,以選擇最能最小化目標函數的分割點。這可能會導致樹一次又一次使用相同的屬性,甚至使用相同的分割點。

套袋是一種創建決策樹集合的技術,每個決策樹都來自訓練數據中不同的隨機行子集。效果是,由于樣本的隨機性允許創建略有不同的樹木,因此從樹的集合中獲得了更好的性能,從而為集合的預測增加了方差。隨機森林通過在選擇分割點時對要素(列)進行二次采樣,從而進一步擴大了這一步驟,從而進一步增加了樹木的整體差異。這些相同的技術可以用于梯度提升中決策樹的構建中,這種變化稱為隨機梯度提升。通常使用訓練數據的激進子樣本,例如40%到80%。

教程概述

在本教程中,我們將研究不同的二次采樣技術在梯度增強中的作用。我們將調整Python的XGBoost庫所支持的三種不同的隨機梯度增強方式,特別是:

  •  創建每棵樹時,對數據集中的行進行二次采樣。
  •  創建每棵樹時對數據集中的列進行二次采樣。
  •  創建每個樹時,數據集中每個拆分的列的子采樣。

問題描述:Otto數據集

在本教程中,我們將使用“奧托集團產品分類挑戰”數據集。該數據集可從Kaggle免費獲得(您需要注冊到Kaggle才能下載此數據集)。您可以從“數據”頁面下載訓練數據集train.csv.zip并將解壓縮后的train.csv文件放入您的工作目錄中。該數據集描述了61,000多種產品的93個混淆細節,這些產品分為10個產品類別(例如,時尚,電子產品等)。輸入屬性是某種不同事件的計數。目標是對新產品做出預測,將其作為10個類別中每一個類別的概率數組,并使用多類對數損失(也稱為交叉熵)對模型進行評估。該競賽已于2015年5月完成,并且由于示例數量不多,問題難度大,幾乎不需要數據準備(除了將字符串類變量編碼為整數)的事實,該數據集對于XGBoost還是一個很大的挑戰。

在XGBoost中調整行二次采樣

行二次抽樣涉及選擇訓練數據集的隨機樣本而不進行替換。可以在subsample參數的XGBoost類的scikit-learn包裝器中指定行子采樣。默認值為1.0,該值不進行二次采樣。我們可以使用scikit-learn中內置的網格搜索功能來評估從0.1到1.0的不同子樣本值對Otto數據集的影響。 

  1. [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 1.0] 

子樣本有9個變體,每個模型將使用10倍交叉驗證進行評估,這意味著需要訓練和測試9×10或90個模型。

下面提供了完整的代碼清單。 

  1. # XGBoost on Otto dataset, tune subsample  
  2. from pandas import read_csv  
  3. from xgboost import XGBClassifier  
  4. from sklearn.model_selection import GridSearchCV  
  5. from sklearn.model_selection import StratifiedKFold  
  6. from sklearn.preprocessing import LabelEncoder  
  7. import matplotlib  
  8. matplotlib.use('Agg')  
  9. from matplotlib import pyplot  
  10. # load data  
  11. data = read_csv('train.csv')  
  12. datadataset = data.values  
  13. # split data into X and y  
  14. X = dataset[:,0:94]  
  15. y = dataset[:,94]  
  16. # encode string class values as integers  
  17. label_encoded_y = LabelEncoder().fit_transform(y)  
  18. # grid search  
  19. model = XGBClassifier()  
  20. subsample = [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 1.0]  
  21. param_grid = dict(subsamplesubsample=subsample)  
  22. kfold = StratifiedKFold(n_splits=10shuffle=Truerandom_state=7 
  23. grid_search = GridSearchCV(model, param_grid, scoring="neg_log_loss"n_jobs=-1, cv=kfold 
  24. grid_result = grid_search.fit(X, label_encoded_y)  
  25. # summarize results  
  26. print("Best: %f using %s" % (grid_result.best_score_, grid_result.best_params_))  
  27. means = grid_result.cv_results_['mean_test_score']  
  28. stds = grid_result.cv_results_['std_test_score']  
  29. params = grid_result.cv_results_['params']  
  30. for mean, stdev, param in zip(means, stds, params):  
  31.  print("%f (%f) with: %r" % (mean, stdev, param))  
  32. # plot  
  33. pyplot.errorbar(subsample, means, yerr=stds 
  34. pyplot.title("XGBoost subsample vs Log Loss")  
  35. pyplot.xlabel('subsample')  
  36. pyplot.ylabel('Log Loss')  
  37. pyplot.savefig('subsample.png') 

運行此示例將打印最佳配置以及每個測試配置的日志丟失。

注意:由于算法或評估程序的隨機性,或者數值精度的差異,您的結果可能會有所不同。考慮運行該示例幾次并比較平均結果。

我們可以看到,獲得的最佳結果是0.3,或者使用30%的訓練數據集樣本訓練樹。 

  1. Best: -0.000647 using {'subsample': 0.3}  
  2. -0.001156 (0.000286) with: {'subsample': 0.1}  
  3. -0.000765 (0.000430) with: {'subsample': 0.2}  
  4. -0.000647 (0.000471) with: {'subsample': 0.3}  
  5. -0.000659 (0.000635) with: {'subsample': 0.4}  
  6. -0.000717 (0.000849) with: {'subsample': 0.5}  
  7. -0.000773 (0.000998) with: {'subsample': 0.6}  
  8. -0.000877 (0.001179) with: {'subsample': 0.7}  
  9. -0.001007 (0.001371) with: {'subsample': 0.8}  
  10. -0.001239 (0.001730) with: {'subsample': 1.0} 

我們可以繪制這些均值和標準偏差對數損失值,以更好地了解性能如何隨子樣本值變化。

我們可以看到確實有30%的人具有最佳的平均表現,但是我們也可以看到,隨著比率的增加,表現的差異會明顯增加。有趣的是,所有子樣本值的平均性能都優于不進行子抽樣的平均性能(子樣本= 1.0)。

在XGBoost中按樹調整列二次采樣

我們還可以在增強模型中創建每個決策樹之前,創建要使用的特征(或列)的隨機樣本。在scikit-learn的XGBoost包裝器中,這由colsample_bytree參數控制。默認值為1.0,表示在每個決策樹中使用所有列。我們可以在0.1到1.0之間評估colsample_bytree的值,以0.1為增量。 

  1. [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 1.0] 

完整實例如下: 

  1. # XGBoost on Otto dataset, tune colsample_bytree  
  2. from pandas import read_csv  
  3. from xgboost import XGBClassifier  
  4. from sklearn.model_selection import GridSearchCV  
  5. from sklearn.model_selection import StratifiedKFold  
  6. from sklearn.preprocessing import LabelEncoder  
  7. import matplotlib  
  8. matplotlib.use('Agg')  
  9. from matplotlib import pyplot  
  10. # load data  
  11. data = read_csv('train.csv')  
  12. datadataset = data.values  
  13. # split data into X and y  
  14. X = dataset[:,0:94]  
  15. y = dataset[:,94]  
  16. # encode string class values as integers  
  17. label_encoded_y = LabelEncoder().fit_transform(y)  
  18. # grid search  
  19. model = XGBClassifier()  
  20. colsample_bytree = [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 1.0]  
  21. param_grid = dict(colsample_bytreecolsample_bytree=colsample_bytree)  
  22. kfold = StratifiedKFold(n_splits=10shuffle=Truerandom_state=7 
  23. grid_search = GridSearchCV(model, param_grid, scoring="neg_log_loss"n_jobs=-1, cv=kfold 
  24. grid_result = grid_search.fit(X, label_encoded_y)  
  25. # summarize results  
  26. print("Best: %f using %s" % (grid_result.best_score_, grid_result.best_params_))  
  27. means = grid_result.cv_results_['mean_test_score']  
  28. stds = grid_result.cv_results_['std_test_score']  
  29. params = grid_result.cv_results_['params']  
  30. for mean, stdev, param in zip(means, stds, params):  
  31.  print("%f (%f) with: %r" % (mean, stdev, param))  
  32. # plot  
  33. pyplot.errorbar(colsample_bytree, means, yerr=stds 
  34. pyplot.title("XGBoost colsample_bytree vs Log Loss")  
  35. pyplot.xlabel('colsample_bytree')  
  36. pyplot.ylabel('Log Loss')  
  37. pyplot.savefig('colsample_bytree.png') 

運行此示例將打印最佳配置以及每個測試配置的日志丟失。

注意:由于算法或評估程序的隨機性,或數值精度的差異,您的結果可能會有所不同。

我們可以看到,模型的最佳性能是colsample_bytree = 1.0。這表明該問題進行二次采樣不會增加價值。 

  1. Best: -0.001239 using {'colsample_bytree': 1.0}  
  2. -0.298955 (0.002177) with: {'colsample_bytree': 0.1}  
  3. -0.092441 (0.000798) with: {'colsample_bytree': 0.2}  
  4. -0.029993 (0.000459) with: {'colsample_bytree': 0.3}  
  5. -0.010435 (0.000669) with: {'colsample_bytree': 0.4}  
  6. -0.004176 (0.000916) with: {'colsample_bytree': 0.5}  
  7. -0.002614 (0.001062) with: {'colsample_bytree': 0.6}  
  8. -0.001694 (0.001221) with: {'colsample_bytree': 0.7}  
  9. -0.001306 (0.001435) with: {'colsample_bytree': 0.8}  
  10. -0.001239 (0.001730) with: {'colsample_bytree': 1.0} 

繪制結果,我們可以看到模型平穩段的性能(至少在此比例下),值為0.5到1.0。

通過拆分在XGBoost中調整列二次采樣

不必為每個樹對列進行一次子采樣,我們可以在決策樹的每個拆分中對它們進行子采樣。原則上,這是隨機森林中使用的方法。我們可以在scikit-learn的XGBoost包裝器類的colsample_bylevel參數中設置每個拆分所使用的列樣本的大小。和以前一樣,我們將比率從10%更改為默認值100%。

下面提供了完整的代碼清單。 

  1. # XGBoost on Otto dataset, tune colsample_bylevel  
  2. from pandas import read_csv  
  3. from xgboost import XGBClassifier  
  4. from sklearn.model_selection import GridSearchCV  
  5. from sklearn.model_selection import StratifiedKFold  
  6. from sklearn.preprocessing import LabelEncoder  
  7. import matplotlib  
  8. matplotlib.use('Agg')  
  9. from matplotlib import pyplot  
  10. # load data  
  11. data = read_csv('train.csv')  
  12. datadataset = data.values  
  13. # split data into X and y  
  14. X = dataset[:,0:94]  
  15. y = dataset[:,94]  
  16. # encode string class values as integers  
  17. label_encoded_y = LabelEncoder().fit_transform(y)  
  18. # grid search  
  19. model = XGBClassifier()  
  20. colsample_bylevel = [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 1.0]  
  21. param_grid = dict(colsample_bylevelcolsample_bylevel=colsample_bylevel)  
  22. kfold = StratifiedKFold(n_splits=10shuffle=Truerandom_state=7 
  23. grid_search = GridSearchCV(model, param_grid, scoring="neg_log_loss"n_jobs=-1, cv=kfold 
  24. grid_result = grid_search.fit(X, label_encoded_y)  
  25. # summarize results  
  26. print("Best: %f using %s" % (grid_result.best_score_, grid_result.best_params_))  
  27. means = grid_result.cv_results_['mean_test_score']  
  28. stds = grid_result.cv_results_['std_test_score']  
  29. params = grid_result.cv_results_['params']  
  30. for mean, stdev, param in zip(means, stds, params):  
  31.  print("%f (%f) with: %r" % (mean, stdev, param))  
  32. # plot  
  33. pyplot.errorbar(colsample_bylevel, means, yerr=stds 
  34. pyplot.title("XGBoost colsample_bylevel vs Log Loss")  
  35. pyplot.xlabel('colsample_bylevel')  
  36. pyplot.ylabel('Log Loss')  
  37. pyplot.savefig('colsample_bylevel.png') 

運行此示例將打印最佳配置以及每個測試配置的日志丟失。

注意:由于算法或評估程序的隨機性,或者數值精度的差異,您的結果可能會有所不同。考慮運行該示例幾次并比較平均結果。

我們可以看到,通過將colsample_bylevel設置為70%可獲得最佳結果,導致(倒置)對數損失為-0.001062,這比將每棵樹的列采樣設置為100%時看到的-0.001239好。

如果每棵樹的結果建議使用100%的列,則建議不要放棄列二次采樣,而應嘗試按拆分的列二次采樣。 

  1. Best: -0.001062 using {'colsample_bylevel': 0.7}  
  2. -0.159455 (0.007028) with: {'colsample_bylevel': 0.1}  
  3. -0.034391 (0.003533) with: {'colsample_bylevel': 0.2}  
  4. -0.007619 (0.000451) with: {'colsample_bylevel': 0.3}  
  5. -0.002982 (0.000726) with: {'colsample_bylevel': 0.4}  
  6. -0.001410 (0.000946) with: {'colsample_bylevel': 0.5}  
  7. -0.001182 (0.001144) with: {'colsample_bylevel': 0.6}  
  8. -0.001062 (0.001221) with: {'colsample_bylevel': 0.7}  
  9. -0.001071 (0.001427) with: {'colsample_bylevel': 0.8}  
  10. -0.001239 (0.001730) with: {'colsample_bylevel': 1.0} 

我們可以繪制每個colsample_bylevel變化的性能。結果表明,在此比例下的值為0.3后,方差相對較低,并且性能似乎處于平穩狀態。 

 

責任編輯:龐桂玉 來源: Python中文社區 (ID:python-china)
相關推薦

2015-07-22 16:16:47

PythonScikit-Lear機器學習

2018-09-06 08:00:00

深度學習TensorFlowPython

2023-02-13 15:00:13

機器學習scikit-leaPyTorch

2023-05-26 12:45:22

predict?方法數據

2018-10-15 09:10:09

Python編程語言數據科學

2017-07-20 10:23:20

pythonscikit-lear垃圾郵件過濾

2018-04-06 05:10:04

K-NN數據集算法

2023-11-13 18:05:53

處理數據搭建模型

2024-02-01 09:43:32

模型人工智能

2017-01-05 10:07:33

大數據TheanoCaffe

2018-05-15 08:27:20

Scikit-lear機器學習Python

2017-11-03 12:57:06

機器學習文本數據Python

2022-04-15 10:11:03

機器學習scikit-lea

2017-04-21 09:59:11

開源機器學習框架

2016-12-20 16:07:13

Python數據預處理

2016-12-18 15:03:57

Python Scikit Lea數據

2023-03-27 07:34:28

XGBoostInluxDB時間序列

2021-04-16 20:46:21

PythonXGBoost 特征

2021-04-07 10:02:00

XGBoostPython代碼

2023-08-11 10:58:04

深度學習自然語言檢索增強
點贊
收藏

51CTO技術棧公眾號

99精彩视频| 欧美激情高清视频| 一二三级黄色片| 超免费在线视频| 国产肉丝袜一区二区| 成人有码视频在线播放| 日韩三级视频在线| 99久久.com| 日韩电影免费在线观看中文字幕| 国产小视频精品| 成人三级小说| 亚洲欧美自拍偷拍色图| 久久精品美女| 国产成人毛毛毛片| 奇米精品一区二区三区在线观看一| 欧美日韩成人在线观看| 1024手机在线观看你懂的| 韩国精品福利一区二区三区 | 亚洲一区三区在线观看| 欧美一级一区二区三区| 精久久久久久久久久久| 国产精品美女av| 国产成人精品一区二三区| 亚洲国产日韩欧美在线| 在线精品播放av| 亚洲国产欧美视频| 国产精品毛片久久久| 欧美一区二区在线视频| 中文字幕av专区| 日韩美女在线看免费观看| 亚洲综合色视频| 手机成人av在线| 自拍视频在线网| 国产性天天综合网| 欧美精品七区| 色在线免费视频| 99精品国产99久久久久久白柏| 91久久国产自产拍夜夜嗨| 911美女片黄在线观看游戏| 日日摸夜夜添夜夜添国产精品 | 亚洲综合一二三| 欧美日韩一视频区二区| 欧美成人高清视频| 免费毛片在线播放免费| 欧美在线黄色| 久久av红桃一区二区小说| 99热这里只有精品4| 色综合天天爱| 久久精品国产一区| 一级片一级片一级片| 亚洲成人国产| 欧美精品一区三区| 久久无码精品丰满人妻| 亚洲精品影院| 大地资源网3页在线观看| 亚洲人一二三区| 日韩精品免费一区| 福利网站在线观看| 午夜电影网亚洲视频| 日本免费不卡一区二区| 在线精品亚洲欧美日韩国产| 日本高清不卡一区| 另类小说色综合| 伊人亚洲精品| 精品少妇一区二区三区日产乱码| 色哟哟视频在线| 偷窥自拍亚洲色图精选| 日韩欧美视频一区| 香港三级日本三级| 国内成人精品| 久久精品在线视频| 精品午夜福利视频| 久久精品123| 国产一区二区在线播放| 性一交一乱一精一晶| 97久久精品人人做人人爽| 日韩精品不卡| caoporm免费视频在线| 亚洲成av人片一区二区| 无码少妇一区二区三区芒果| 四虎精品一区二区免费| 亚洲成人黄色在线| 一级特黄曰皮片视频| 午夜精品视频| 国产成人精品亚洲精品| a级片在线播放| 91麻豆免费观看| 一区二区三区精品国产| www视频在线观看| 欧美日韩午夜在线视频| 精品国产免费久久久久久婷婷| 一区二区三区日本久久久| 久久亚洲精品小早川怜子66| 波多野结衣国产| 精品午夜一区二区三区在线观看| 精品999在线观看| 欧美成人hd| 色美美综合视频| 操人视频免费看| 国产亚洲第一伦理第一区| 欧美成人h版在线观看| www.五月婷婷.com| 成人成人成人在线视频| 青少年xxxxx性开放hg| 性欧美18xxxhd| 日韩三级中文字幕| 日本猛少妇色xxxxx免费网站| 亚洲性感美女99在线| 国产一区二区在线免费视频| 飘雪影院手机免费高清版在线观看| 亚洲乱码日产精品bd| 亚洲视频在线a| 欧美成人基地| 欧美激情国产日韩精品一区18| 国产精品国产精品国产| 99精品视频一区| 日韩在线视频在线| 色8久久久久| 在线观看成人黄色| 伦av综合一区| eeuss影院一区二区三区| 欧美少妇一区二区三区| 青娱乐极品盛宴一区二区| 精品亚洲一区二区三区四区五区| 久久精品www人人爽人人| 久久99精品久久久久久国产越南| 日韩精彩视频| 成人日韩在线| 亚洲日本中文字幕| www亚洲视频| 91免费看`日韩一区二区| 成年人网站国产| 伊人精品综合| 欧美丰满片xxx777| 精品国产av一区二区| 亚洲色图欧美激情| 日韩 国产 一区| 久久久久久久久99精品大| 国产精品日韩欧美大师| 91在线看黄| 欧美日韩一区精品| 中文字幕求饶的少妇| 久久草av在线| 免费在线精品视频| 亚洲码欧美码一区二区三区| 欧美xxxx做受欧美.88| 精品人妻一区二区三区麻豆91| 亚洲欧美另类小说| 国产精品欧美性爱| 亚洲国产裸拍裸体视频在线观看乱了中文| av一区二区三区在线观看| 中文在线观看免费| 亚洲精品一区二区三区精华液 | 欧美最新大片在线看| 最近中文字幕在线mv视频在线 | 国产youjizz在线| 欧美视频三区在线播放| 三级黄色录像视频| 国产一区二区三区四区五区入口 | 欧美精品一区在线发布| 亚洲成人看片| 久久久av网站| 深夜福利视频网站| 色综合久久综合网欧美综合网| 亚洲黄色小说视频| 狠狠色综合日日| 日韩黄色片在线| 婷婷综合福利| 国产精品视频精品视频| h片在线观看网站| 亚洲加勒比久久88色综合 | 欧美一级日韩免费不卡| 精品在线视频免费| 久久日一线二线三线suv| 九九九在线观看视频| 亚洲色图网站| 久久久久se| 日本成人一区二区| 久久久天堂国产精品女人| 你懂的在线观看视频网站| 欧美日精品一区视频| 国产一级片免费看| 亚洲国产精品成人综合| 欧美人与性动交α欧美精品| 亚洲一区二区伦理| 亚洲欧美一二三| 香蕉久久精品| 亚洲综合中文字幕68页| 亚洲天堂av影院| 欧美成人免费小视频| 男男激情在线| 欧美刺激脚交jootjob| 国产黄色免费视频| 亚洲一区二区三区在线| 俄罗斯毛片基地| 高清在线观看日韩| 性欧美极品xxxx欧美一区二区| 午夜精品999| 亚洲va韩国va欧美va精四季| 国产66精品| 国产综合在线观看视频| 欧美艳星kaydenkross| 久国内精品在线| 在线日本视频| 亚洲精品在线视频| 东京干手机福利视频| 欧美电影影音先锋| 自拍偷拍18p| 香蕉成人伊视频在线观看| 国产精品成人69xxx免费视频| 成人av片在线观看| 欧美体内she精高潮| 蜜臀91精品一区二区三区| 国产午夜大地久久| 欧美日一区二区在线观看 | 麻豆蜜桃在线| 久久久精品999| 午夜国产福利在线| 国产亚洲综合久久| 美国一级片在线免费观看视频| 亚洲成人av片| 亚洲AV无码精品自拍| 欧美电影一区二区| 中文字幕在线日亚洲9| 一本大道av一区二区在线播放| 国产午夜视频在线播放| 亚洲最快最全在线视频| 国产67194| 日韩美女啊v在线免费观看| 国产极品视频在线观看| 国产日产欧美一区二区三区| 久久精品国产亚洲av久| 91蜜桃在线观看| 久久精品国产亚洲av麻豆| 99精品欧美一区二区三区小说 | 黑人巨大精品欧美一区二区| 久久久久99精品| 一区二区久久久久| 久久免费黄色网址| 亚洲在线视频免费观看| 久久国产免费观看| 五月天一区二区三区| 日本在线小视频| 精品久久在线播放| 综合网在线观看| 在线观看三级视频欧美| 午夜一区二区三区四区| 欧美日本精品一区二区三区| 97caocao| 日韩欧美不卡在线观看视频| 懂色av成人一区二区三区| 日韩成人在线网站| 日本高清中文字幕二区在线| 亚洲女人被黑人巨大进入| 成a人片在线观看www视频| 色婷婷av一区二区三区久久| 黄色网址视频在线观看| 欧美疯狂做受xxxx高潮| 国产三级电影在线播放| 日本久久亚洲电影| 国产成人福利夜色影视| 91九色极品视频| 久久久久观看| 日韩欧美在线一区二区| 91精品国产福利在线观看麻豆| 99中文字幕在线观看| 亚洲日韩视频| 午夜免费福利在线| 国产69精品久久久久777| 国产毛片久久久久久久| 综合久久久久久久| 天天操天天干视频| 欧美视频在线观看一区二区| www.香蕉视频| 亚洲欧美日韩在线高清直播| 精品国产白色丝袜高跟鞋| 久久久久亚洲精品| 日韩中文视频| 电影午夜精品一区二区三区| 国产精品片aa在线观看| 天天干天天操天天干天天操| 亚洲免费大片| 午夜xxxxx| 久久青草欧美一区二区三区| 亚洲女人毛茸茸高潮| 亚洲成人精品影院| 中文字幕人妻丝袜乱一区三区| 精品剧情在线观看| 香蕉视频在线看| 欧美激情一区二区三区高清视频| 日韩电影免费观| http;//www.99re视频| heyzo久久| 国产日韩av网站| 精品一区二区三区香蕉蜜桃| 国产精品无码网站| 一区二区在线观看视频| 久久精品五月天| 亚洲激情在线观看视频免费| 成人区精品一区二区不卡| 日韩免费av一区二区| 亚洲专区**| 中文字幕一区二区三区四区五区六区 | 日日摸日日碰夜夜爽无码| 久久国产精品第一页| 瑟瑟视频在线观看| 亚洲一区二区欧美| 国产伦精品一区二区三区四区| 欧美电影免费提供在线观看| 日本在线视频站| 国产精品扒开腿做爽爽爽男男| 98视频精品全部国产| 国产手机视频在线观看| 七七婷婷婷婷精品国产| 日韩av在线看免费观看| 亚洲不卡在线观看| 国内精品国产成人国产三级| 日韩在线视频免费观看| 香蕉久久免费电影| 美女黄毛**国产精品啪啪| 亚洲国产黄色| 88av在线播放| 夜夜精品视频一区二区| 国产成人精品一区二三区四区五区 | av电影免费在线看| 99在线视频免费观看| 亚洲激情中文在线| 午夜免费看毛片| 国产精品久久一卡二卡| 中文字幕二区三区| 在线观看久久久久久| 欧美三级网址| 三区精品视频观看| 日本91福利区| 亚洲综合图片一区| 欧美丰满嫩嫩电影| av电影免费在线观看| 91原创国产| 狠狠干综合网| 韩国三级hd两男一女| 午夜精品久久久久久久久久久| 黄片毛片在线看| 国内免费精品永久在线视频| 欧美freesex8一10精品| 少妇性饥渴无码a区免费| 久久婷婷久久一区二区三区| 日本中文字幕在线观看视频| 亚洲最新视频在线| 日韩护士脚交太爽了| 国产精品一区在线免费观看| 国产成人无遮挡在线视频| 黄色小说在线观看视频| 日韩精品在线免费观看| 筱崎爱全乳无删减在线观看 | 日本电影全部在线观看网站视频 | 欧美freesex8一10精品| 久久无码高潮喷水| 欧美激情一区二区三区全黄 | 国产精品主播直播| 欧美日韩激情在线观看| 亚洲黄色av女优在线观看| 一本大道色婷婷在线| 色一情一乱一伦一区二区三区丨 | 久久久久久a亚洲欧洲aⅴ| 久久久久一区| 在线日韩国产网站| 亚洲精品一区二区三区福利| 涩涩视频在线| 尤物一区二区三区| 成人sese在线| 成年人晚上看的视频| 欧美日韩xxxxx| 国产精品欧美在线观看| 永久av免费在线观看| 亚洲综合色丁香婷婷六月图片| 亚洲 美腿 欧美 偷拍| 国产精品无码专区在线观看| 国内揄拍国内精品久久| 美女爆乳18禁www久久久久久| 在线综合视频播放| 免费看男女www网站入口在线| 亚欧洲精品在线视频免费观看| 国产成人av影院| 无码人妻黑人中文字幕| 欧美精品生活片| 蜜桃国内精品久久久久软件9| 午夜av中文字幕| 欧美性猛xxx| 亚洲小说区图片区都市| 欧洲一区二区日韩在线视频观看免费 | 可以免费看污视频的网站在线| 亚洲va久久久噜噜噜| 天堂在线一区二区| 精品在线免费观看视频| 色偷偷噜噜噜亚洲男人的天堂| 视频小说一区二区| 国产精品熟妇一区二区三区四区| 欧美性色黄大片| 国产伦理精品| 国产 国语对白 露脸|