精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

免费看日产一区二区三区| www.涩涩涩| 成人免费一级视频| 亚洲乱码视频| 中文字幕亚洲欧美日韩在线不卡| 黄色片视频在线播放| 日韩专区在线| 高清国产一区二区三区| 91国语精品自产拍在线观看性色 | 国产原创精品| 精品成人av一区二区在线播放| 欧美日韩激情在线一区二区三区| 精品视频999| 亚洲天堂第一区| 青青草视频免费在线观看| 亚洲国产专区| 久久精品国产一区| 18禁裸乳无遮挡啪啪无码免费| 久久天天久久| 一区二区三区不卡在线观看| 日本一区视频在线| 欧美成人高清电影在线| 中文字幕在线中文字幕日亚韩一区| 性一交一乱一透一a级| 久久亚洲综合| 午夜精品一区二区三区在线| 懂色av粉嫩av蜜臀av一区二区三区| 亚洲一区二区免费在线观看| 欧美日韩三级一区| 亚洲素人一区二区| 成人黄色小视频在线观看| 欧美中文字幕一区| 亚洲欧美丝袜| 免费在线黄色影片| 不卡视频在线观看| 99久久综合狠狠综合久久止| 91麻豆一区二区| 日韩va欧美va亚洲va久久| 97视频免费在线看| 国产精品夜夜夜爽阿娇| 亚洲人成精品久久久| 亚洲激情视频在线观看| 91亚洲一区二区| 亚洲成a人片| 午夜欧美一区二区三区在线播放| 亚洲欧美日韩另类精品一区二区三区 | 91精品91久久久久久| 国产中文字幕免费| 日韩情爱电影在线观看| 在线午夜精品自拍| avhd101老司机| 精品在线91| 国产丝袜一区二区三区免费视频| 91精产国品一二三| 在线视频成人| 9191久久久久久久久久久| 色www免费视频| 青青在线精品| 欧美男男青年gay1069videost | 久久影院资源站| 亚洲成avwww人| 婷婷五月精品中文字幕| 欧美绝顶高潮抽搐喷水合集| 日韩国产高清视频在线| 亚洲乱码国产乱码精品精大量| 久久久久97| 亚洲精品一区久久久久久| 色噜噜日韩精品欧美一区二区| 在线日韩一区| 亚洲热线99精品视频| 天天躁日日躁aaaa视频| 亚洲香蕉视频| 这里只有精品在线播放| 欧美丰满美乳xxⅹ高潮www| 国产欧美一区| 亚洲精品自拍偷拍| 亚洲熟妇无码av| 精品无人区麻豆乱码久久久| www.欧美精品| 午夜成人亚洲理伦片在线观看| 婷婷伊人综合| 久久综合电影一区| 精品人妻伦九区久久aaa片| 亚洲小说欧美另类婷婷| 日本高清久久天堂| 国产免费一区二区三区最新不卡 | 中文字幕精品亚洲| 日韩精品一区二区久久| 欧美成人黄色小视频| 九九热最新地址| 亚洲深夜福利| 91精品久久久久久久久不口人| 精品毛片在线观看| 久久久久免费观看| 亚洲女人毛片| 牛牛精品一区二区| 欧美肥妇毛茸茸| 99久久人妻无码中文字幕系列| 欧美久久精品一级c片| 欧美成人剧情片在线观看| 国产一区二区99| 国产真实乱子伦精品视频| 精品国产免费一区二区三区 | 人体精品一二三区| av av片在线看| 26uuu亚洲| 天天综合中文字幕| 538在线精品| 婷婷六月综合亚洲| 依人在线免费视频| 秋霞蜜臀av久久电影网免费| 欧美成人三级视频网站| 在线永久看片免费的视频| 国产成人综合自拍| 中国成人亚色综合网站| 成人影院入口| 精品免费一区二区三区| 国产一区第一页| 久久久天天操| 国产中文一区二区| 亚洲色图美国十次| 欧美日韩国产另类不卡| 97人妻天天摸天天爽天天| 欧美精品九九| 91精品久久久久久久久久久久久 | 国产精品视频一二三| 欧美激情 国产精品| 成人日韩视频| 自拍偷拍亚洲区| 亚洲大片免费观看| 99久久精品国产精品久久| 一级黄色免费在线观看| 99只有精品| 亚洲欧洲视频在线| 波多野结衣视频网站| 日韩电影在线免费| 日韩欧美精品在线不卡| 天堂av在线网| 日韩电影中文字幕在线观看| 国产在线观看你懂的| 精品一区二区三区免费播放 | 午夜久久一区| 91传媒视频在线观看| 国产区在线观看| 777xxx欧美| 国产传媒在线看| 蜜桃91丨九色丨蝌蚪91桃色| 亚洲国产精品一区在线观看不卡| 黄网av在线| 亚洲电影免费观看高清完整版在线 | 日产精品久久久一区二区福利 | 波霸ol色综合久久| 中文字幕第31页| 国产精品色婷婷| 性生活免费在线观看| 精品一区二区三区的国产在线观看| 日韩美女福利视频| 日本人妖在线| 欧美综合一区二区三区| 五月天综合视频| 日本中文字幕一区| 日日夜夜精品网站| 中文字幕乱码中文乱码51精品| 亚洲男子天堂网| 青娱乐在线免费视频| 国产日韩欧美一区二区三区综合| 国产视频在线视频| 日本一区二区高清不卡| 91在线视频精品| 免费在线毛片网站| 欧美一区日韩一区| 欧美高清在线一区二区| 一区二区三区不卡在线| 欧美13videosex性极品| 亚洲精品资源美女情侣酒店| 中文字幕第一页在线播放| 91美女片黄在线观看| 国产精品97在线| blacked蜜桃精品一区| 国语自产在线不卡| 狠狠色伊人亚洲综合网站l| 日本高清免费不卡视频| 激情无码人妻又粗又大| 国产精品一区二区久久不卡| 日韩一级特黄毛片| 成年人网站国产| 末成年女av片一区二区下载| 亚洲欧美999| 天天干天天色综合| 欧美高清一级片在线观看| 18禁男女爽爽爽午夜网站免费 | 亚洲精品一卡二卡三卡四卡| 成人小电影网站| 久久成人人人人精品欧| 免费av网站观看| 欧美色精品天天在线观看视频| 欧美日韩国产精品一区二区三区 | 亚洲第一男人天堂| 一区二区日韩在线观看| 亚洲成人自拍网| 黄色av片三级三级三级免费看| 国产一区二区三区四区在线观看 | 涩涩涩视频在线观看| 国产一区二区三区在线看| 国产一区二区女内射| 一区二区不卡在线播放 | 欧美91大片| 欧美一区二区三区四区在线观看地址| 欧美日本三级| 国产精品热视频| 亚洲最新无码中文字幕久久| 欧美成人国产va精品日本一级| 国产精品99999| 欧美α欧美αv大片| 一区二区三区免费在线| 色哟哟一区二区三区| 国内偷拍精品视频| 久久伊人亚洲| 久久久亚洲综合网站| 伊人久久影院| 欧美重口另类videos人妖| 1区2区在线观看| 亚洲美女视频网| 亚洲成a人片77777精品| 在线国产亚洲欧美| 国产在线观看成人| 一区二区三区成人在线视频| 少妇愉情理伦三级| 91啪亚洲精品| 69久久精品无码一区二区| 久久99深爱久久99精品| 免费日韩视频在线观看| 亚洲大胆视频| 在线观看精品视频| 欧美亚洲激情| 麻豆精品传媒视频| 一区二区网站| 成人区精品一区二区| 91成人小视频| 国产精品色悠悠| 精品亚洲美女网站| 欧美在线播放视频| 嗯~啊~轻一点视频日本在线观看| 日韩在线www| eeuss影院在线播放| 亚洲国产成人久久| 免费观看毛片网站| 亚洲电影在线观看| 天堂成人在线视频| 精品成人一区二区| 欧美一级淫片aaaaaa| 精品欧美乱码久久久久久| 国产夫妻自拍av| 538prom精品视频线放| 国产一区二区三区中文字幕| 欧美揉bbbbb揉bbbbb| 亚洲av综合一区| 欧美日韩一区二区三区在线| 中文字幕在线网站| 一本久久a久久免费精品不卡| 日韩女同一区二区三区| 国产日韩v精品一区二区| 国产精品jizz| 337p粉嫩大胆色噜噜噜噜亚洲| 欧美人妻一区二区三区| 欧美激情综合五月色丁香小说| 国产高清一区二区三区四区| 久久综合九色综合欧美98| 日韩精品无码一区二区三区久久久| 91啪亚洲精品| 免费看91的网站| 怡红院av一区二区三区| 国产在线观看免费av| 精品动漫一区二区| 国产精华7777777| 欧美日韩电影在线播放| 国产又黄又粗又长| 欧美伦理视频网站| 99久久精品无免国产免费| 欧美日韩精品一区二区三区四区| 亚洲欧美一二三区| 9191成人精品久久| 黄色一级a毛片| 亚洲色图在线观看| 91se在线| 国模极品一区二区三区| 天堂在线中文网官网| 国产欧美一区二区| 日韩福利在线观看| 国产精品国色综合久久| 欧美精品羞羞答答| 国产高清不卡无码视频| 亚洲一区二区毛片| 欧美高清精品一区二区| 91免费在线播放| 亚洲女人毛茸茸高潮| 亚洲伦在线观看| 国产精品久久久久久久久久久久久久久久久| 精品久久久久久久久久久久| 四虎永久在线精品| 51精品秘密在线观看| 天天摸夜夜添狠狠添婷婷| 亚洲性日韩精品一区二区| 欧洲精品二区| 国产精品网站大全| 久久av日韩| 日本福利一区二区三区| 99久久久久| 东京热加勒比无码少妇| 国产福利精品导航| 欧洲美熟女乱又伦| 亚洲国产另类精品专区| 97精品久久人人爽人人爽| 亚洲老头同性xxxxx| √天堂8在线网| 国产一区红桃视频| 香蕉精品久久| 青草全福视在线| 久久97超碰色| 亚洲精品成人无码| 丰满岳妇乱一区二区三区| 国产日韩欧美中文字幕| 中文国产成人精品久久一| av高清不卡| 91系列在线观看| 波多野结衣在线播放一区| 黄色片一级视频| av电影一区二区| 欧美激情国产精品免费| 777午夜精品免费视频| av电影在线观看| 欧美一区在线直播| 亚洲开心激情| 成人在线观看www| 久久先锋影音| 亚洲精品国产成人av在线| 亚洲精品成a人| 国产夫妻在线观看| 欧美精品生活片| 国产精品白丝久久av网站| 人人妻人人澡人人爽精品欧美一区| 日韩福利视频导航| 影音先锋制服丝袜| 欧美日韩国产天堂| 色开心亚洲综合| 国产欧美日韩最新| 91国语精品自产拍| 一级网站在线观看| 夜夜嗨av一区二区三区四季av| 91丨porny丨在线中文| 中文字幕自拍vr一区二区三区| 成人午夜亚洲| 亚洲欧洲免费无码| 免费xxxx性欧美18vr| 国产呦小j女精品视频| 欧美性xxxx极品hd满灌| 日韩性xxxx| 国产精品成人一区二区| 精品国产乱码久久久久久果冻传媒| 91在线视频观看免费| av网站免费线看精品| 九九热精品视频在线| 日韩精品极品视频免费观看| 中文字幕人成乱码在线观看| 日本欧洲国产一区二区| 蜜臀av性久久久久蜜臀aⅴ四虎| 精品伦精品一区二区三区视频密桃| 五月婷婷综合在线| 韩日视频在线| 国产成人精品免费视频| 国产精品一国产精品| 三级一区二区三区| 亚洲精品成人少妇| 日本v片在线免费观看| 日韩av电影国产| 日韩欧美伦理| 在线视频观看91| 一区二区三区久久| 风流老熟女一区二区三区| 555www成人网| 日韩av不卡一区| 激情在线观看视频| 午夜久久久久久| 黄色av网址在线免费观看| 国产一区二区在线播放| 韩国亚洲精品| 久久午夜精品视频| 欧美大片在线观看| av免费在线免费| 久久久久资源| 极品少妇xxxx精品少妇| 国产精品99精品| 亚洲丝袜在线视频| eeuss国产一区二区三区四区| av免费在线播放网站| 欧美国产一区二区| 手机看片国产1024| 国产精品人成电影| 性8sex亚洲区入口| 一区二区三区四区五区|