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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

XGBOOST从原理到实战:二分类 、多分类

發布時間:2023/12/20 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 XGBOOST从原理到实战:二分类 、多分类 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

注:轉載請注明出處,https://blog.csdn.net/HHTNAN/

文章目錄

      • XGboost完整系統的原理+實戰:[課程直通車](https://edu.csdn.net/course/detail/10332)
        • 1.XGBoost
        • 2. XGBoost的優點
          • 2.1 正則化
          • 2.2 并行處理
          • 2.3 靈活性
          • 2.4 缺失值處理
          • 2.5 剪枝
          • 2.6 內置交叉驗證
        • 3. XGBoost詳解
          • 3.1 數據格式
          • 3.2 參數設置
          • 3.3xgboost 模型訓練方法和參數
        • 4.模型的訓練、預測、保存
          • 4.1 訓練模型
          • 4.3 保存與加載模型
        • 5. XGBoost參數說明
          • 5.1 General Parameters
          • 5.2 Parameters for Tree Booster
          • 5.3 Parameter for Linear Booster
          • 5.4 Task Parameters
        • 6. XGBoost實戰
            • 特征重要性
          • 多分類
          • 兩大類接口
            • 基于XGBoost原生接口的分類
            • 基于XGBoost原生接口的回歸
            • 基于Scikit-learn接口的分類
            • 基于Scikit-learn接口的回歸

XGboost完整系統的原理+實戰:課程直通車

##### 數據topK a = np.array([1,4,3,5,2]) K=4 #返回索引 print(a[np.argpartition(-a,K)][:3]) #返回排序后的結果 print( a[np.argsort(-a)][:3])

1.XGBoost

xgboost是大規模并行boosted tree的工具,它是目前最快最好的開源boosted tree工具包,比常見的工具包快10倍以上。在數據科學方面,有大量kaggle選手選用它進行數據挖掘比賽,其中包括兩個以上kaggle比賽的奪冠方案。在工業界規模方面,xgboost的分布式版本有廣泛的可移植性,支持在YARN, MPI, Sungrid Engine等各個平臺上面運行,并且保留了單機并行版本的各種優化,使得它可以很好地解決于工業界規模的問題。
下載地址:直通車

2. XGBoost的優點

2.1 正則化

XGBoost在代價函數里加入了正則項,用于控制模型的復雜度。正則項里包含了樹的葉子節點個數、每個葉子節點上輸出的score的L2模的平方和。從Bias-variance tradeoff角度來講,正則項降低了模型的variance,使學習出來的模型更加簡單,防止過擬合,這也是xgboost優于傳統GBDT的一個特性。

2.2 并行處理

XGBoost工具支持并行。Boosting不是一種串行的結構嗎?怎么并行的?注意XGBoost的并行不是tree粒度的并行,XGBoost也是一次迭代完才能進行下一次迭代的(第t次迭代的代價函數里包含了前面t-1次迭代的預測值)。XGBoost的并行是在特征粒度上的。

我們知道,決策樹的學習最耗時的一個步驟就是對特征的值進行排序(因為要確定最佳分割點),XGBoost在訓練之前,預先對數據進行了排序,然后保存為block結構,后面的迭代中重復地使用這個結構,大大減小計算量。這個block結構也使得并行成為了可能,在進行節點的分裂時,需要計算每個特征的增益,最終選增益最大的那個特征去做分裂,那么各個特征的增益計算就可以開多線程進行。

2.3 靈活性

XGBoost支持用戶自定義目標函數和評估函數,只要目標函數二階可導就行。

2.4 缺失值處理

對于特征的值有缺失的樣本,xgboost可以自動學習出它的分裂方向

2.5 剪枝

XGBoost 先從頂到底建立所有可以建立的子樹,再從底到頂反向進行剪枝。比起GBM,這樣不容易陷入局部最優解。

2.6 內置交叉驗證

XGBoost允許在每一輪boosting迭代中使用交叉驗證。因此,可以方便地獲得最優boosting迭代次數。而GBM使用網格搜索,只能檢測有限個值。

3. XGBoost詳解

3.1 數據格式

XGBoost可以加載多種數據格式的訓練數據:

libsvm 格式的文本數據;

Numpy 的二維數組;

XGBoost 的二進制的緩存文件。加載的數據存儲在對象 DMatrix 中

下面一一列舉:

加載libsvm格式的數據

dtrain1 = xgb.DMatrix('train.svm.txt')

加載numpy的數組

data = np.random.rand(5,10) # 5 entities, each contains 10 features label = np.random.randint(2, size=5) # binary target dtrain = xgb.DMatrix( data, label=label)

將scipy.sparse格式的數據轉化為 DMatrix 格式

csr = scipy.sparse.csr_matrix( (dat, (row,col)) ) dtrain = xgb.DMatrix( csr )

將 DMatrix 格式的數據保存成XGBoost的二進制格式,在下次加載時可以提高加載速度,使用方式如下

dtrain = xgb.DMatrix('train.svm.txt') dtrain.save_binary("train.buffer")

可以用如下方式處理 DMatrix中的缺失值:

dtrain = xgb.DMatrix( data, label=label, missing = -999.0)

當需要給樣本設置權重時,可以用如下方式

w = np.random.rand(5,1)dtrain = xgb.DMatrix( data, label=label, missing = -999.0, weight=w)
3.2 參數設置

XGBoost使用key-value字典的方式存儲參數:

params = {'booster': 'gbtree','objective': 'multi:softmax', # 多分類的問題'num_class': 10, # 類別數,與 multisoftmax 并用'gamma': 0.1, # 用于控制是否后剪枝的參數,越大越保守,一般0.1、0.2這樣子。'max_depth': 12, # 構建樹的深度,越大越容易過擬合'lambda': 2, # 控制模型復雜度的權重值的L2正則化項參數,參數越大,模型越不容易過擬合。'subsample': 0.7, # 隨機采樣訓練樣本'colsample_bytree': 0.7, # 生成樹時進行的列采樣'min_child_weight': 3,'silent': 1, # 設置成1則沒有運行信息輸出,最好是設置為0.'eta': 0.007, # 如同學習率'seed': 1000,'nthread': 4, # cpu 線程數 }
3.3xgboost 模型訓練方法和參數

在訓練過程中主要用到兩個方法:xgboost.train()和xgboost.cv().

#xgboost.train()API xgboost.train(params,dtrain,num_boost_round=10,evals=(),obj=None,feval=None,maximize=False,early_stopping_rounds=None, evals_result=None,verbose_eval=True,learning_rates=None,xgb_model=None)
  • params 這是一個字典,里面包含著訓練中的參數關鍵字和對應的值,形式是params =
    {‘booster’:’gbtree’,’eta’:0.1}
  • dtrain 訓練的數據
  • num_boost_round 這是指提升迭代的個數
  • evals 這是一個列表,用于對訓練過程中進行評估列表中的元素。形式是evals =
    [(dtrain,’train’),(dval,’val’)]或者是evals =
    [(dtrain,’train’)],對于第一種情況,它使得我們可以在訓練過程中觀察驗證集的效果。
  • obj,自定義目的函數
  • feval,自定義評估函數
  • maximize ,是否對評估函數進行最大化
  • early_stopping_rounds,早期停止次數,假設為100,驗證集的誤差迭代到一定程度在100次內不能再繼續降低,就停止迭代。這要求evals 里至少有 一個元素,如果有多個,按最后一個去執行。返回的是最后的迭代次數(不是最好的)。如果early_stopping_rounds
    存在,則模型會生成三個屬性,bst.best_score,bst.best_iteration,和bst.best_ntree_limit
    evals_result 字典,存儲在watchlist 中的元素的評估結果。
  • verbose_eval (可以輸入布爾型或數值型),也要求evals 里至少有 一個元素。如果為True ,則對evals中元素的評估結果會輸出在結果中;如果輸入數字,假設為5,則每隔5個迭代輸出一次。
  • learning_rates 每一次提升的學習率的列表,
  • xgb_model ,在訓練之前用于加載的xgb model。

參數初步定之后劃分20%為驗證集,準備一個watchlist 給train和validation set ,設置num_round 足夠大(比如100000),以至于你能發現每一個round 的驗證集預測結果,如果在某一個round后 validation set 的預測誤差上升了,你就可以停止掉正在運行的程序了。

watchlist = [(dtrain,'train'),(dval,'val')] model = xgb.train(params,dtrain,num_boost_round=100000,evals = watchlist)

4.模型的訓練、預測、保存

4.1 訓練模型

有了參數列表和數據就可以訓練模型了

num_round = 10 bst = xgb.train( plst, dtrain, num_round, evallist )

#####4.2模型預測

# X_test類型可以是二維List,也可以是numpy的數組 dtest = DMatrix(X_test) ans = model.predict(dtest)
4.3 保存與加載模型

在訓練完成之后可以將模型保存下來,也可以查看模型內部的結構

bst.save_model('test.model')

加載模型
通過如下方式可以加載模型:

bst = xgb.Booster({'nthread':4}) # init model bst.load_model("model.bin") # load data

#####4.4導出模型和特征映射(Map)
你可以導出模型到txt文件并瀏覽模型的含義:

# dump model bst.dump_model('dump.raw.txt') # dump model with feature map bst.dump_model('dump.raw.txt','featmap.txt')

5. XGBoost參數說明

在運行XGboost之前,必須設置三種類型成熟:general parameters,booster parameters和task parameters:

General parameters

該參數參數控制在提升(boosting)過程中使用哪種booster,常用的booster有樹模型(tree)和線性模型(linear model)。

Booster parameters

這取決于使用哪種booster。

Task parameters

控制學習的場景,例如在回歸問題中會使用不同的參數控制排序。

5.1 General Parameters
booster [default=gbtree]

有兩中模型可以選擇gbtree和gblinear。gbtree使用基于樹的模型進行提升計算,gblinear使用線性模型進行提升計算。缺省值為gbtree

silent [default=0]

取0時表示打印出運行時信息,取1時表示以緘默方式運行,不打印運行時信息。缺省值為0

nthread

XGBoost運行時的線程數。缺省值是當前系統可以獲得的最大線程數

num_pbuffer

預測緩沖區大小,通常設置為訓練實例的數目。緩沖用于保存最后一步提升的預測結果,無需人為設置。

num_feature

Boosting過程中用到的特征維數,設置為特征個數。XGBoost會自動設置,無需人為設置。

5.2 Parameters for Tree Booster
eta [default=0.3]

為了防止過擬合,更新過程中用到的收縮步長。在每次提升計算之后,算法會直接獲得新特征的權重。 eta通過縮減特征的權重使提升計算過程更加保守。缺省值為0.3
取值范圍為:[0,1]

gamma [default=0]

minimum loss reduction required to make a further partition on a leaf node of the tree. the larger, the more conservative the algorithm will be.
取值范圍為:[0,∞]

max_depth [default=6]

數的最大深度。缺省值為6
取值范圍為:[1,∞]

min_child_weight [default=1]

子節點中最小的樣本權重和。如果一個葉子節點的樣本權重和小于min_child_weight則拆分過程結束。在現行回歸模型中,這個參數是指建立每個模型所需要的最小樣本數。該成熟越大算法越conservative
取值范圍為:[0,∞]

max_delta_step [default=0]

我們允許每個樹的權重被估計的值。如果它的值被設置為0,意味著沒有約束;如果它被設置為一個正值,它能夠使得更新的步驟更加保守。通常這個參數是沒有必要的,但是如果在邏輯回歸中類極其不平衡這時候他有可能會起到幫助作用。把它范圍設置為1-10之間也許能控制更新。
取值范圍為:[0,∞]

subsample [default=1]

用于訓練模型的子樣本占整個樣本集合的比例。如果設置為0.5則意味著XGBoost將隨機的從整個樣本集合中隨機的抽取出50%的子樣本建立樹模型,這能夠防止過擬合。
取值范圍為:(0,1]

colsample_bytree [default=1]

在建立樹時對特征采樣的比例。缺省值為1
取值范圍為:(0,1]

5.3 Parameter for Linear Booster
lambda [default=0]

L2 正則的懲罰系數

alpha [default=0]

L1 正則的懲罰系數

lambda_bias

在偏置上的L2正則。缺省值為0(在L1上沒有偏置項的正則,因為L1時偏置不重要)

5.4 Task Parameters
objective [ default=reg:linear ]

定義學習任務及相應的學習目標,可選的目標函數如下:

“reg:linear” —— 線性回歸。 “reg:logistic”—— 邏輯回歸。 “binary:logistic”—— 二分類的邏輯回歸問題,輸出為概率。 “binary:logitraw”—— 二分類的邏輯回歸問題,輸出的結果為wTx。 “count:poisson”—— 計數問題的poisson回歸,輸出結果為poisson分布。在poisson回歸中,max_delta_step的缺省值為0.7。(used to safeguard optimization) “multi:softmax” –讓XGBoost采用softmax目標函數處理多分類問題,同時需要設置參數num_class(類別個數) “multi:softprob” –和softmax一樣,但是輸出的是ndata * nclass的向量,可以將該向量reshape成ndata行nclass列的矩陣。沒行數據表示樣本所屬于每個類別的概率。 “rank:pairwise” –set XGBoost to do ranking task by minimizing the pairwise loss base_score [ default=0.5 ]

所有實例的初始化預測分數,全局偏置;
為了足夠的迭代次數,改變這個值將不會有太大的影響。

eval_metric [ default according to objective ]

校驗數據所需要的評價指標,不同的目標函數將會有缺省的評價指標(rmse for regression, and error for classification, mean average precision for ranking)

用戶可以添加多種評價指標,對于Python用戶要以list傳遞參數對給程序,而不是map參數list參數不會覆蓋’eval_metric’

可供的選擇如下:

“rmse”: root mean square error “logloss”: negative log-likelihood “error”: Binary classification error rate. It is calculated as #(wrong cases)/#(all cases). For the predictions, the evaluation will regard the instances with prediction value larger than 0.5 as positive instances, and the others as negative instances. “merror”: Multiclass classification error rate. It is calculated as #(wrongcases)#(allcases). “mlogloss”: Multiclass logloss “auc”: Area under the curve for ranking evaluation. “ndcg”:Normalized Discounted Cumulative Gain “map”:Mean average precision “ndcg@n”,”map@n”: n can be assigned as an integer to cut off the top positions in the lists for evaluation. “ndcg-“,”map-“,”ndcg@n-“,”map@n-“: In XGBoost, NDCG and MAP will evaluate the score of a list without any positive samples as 1. By adding “-” in the evaluation metric XGBoost will evaluate these score as 0 to be consistent under some conditions. training repeatively seed [ default=0 ]

隨機數的種子。缺省值為0

6. XGBoost實戰

XGBoost有兩大類接口:XGBoost原生接口 和 scikit-learn接口 ,并且XGBoost能夠實現 分類 和 回歸 兩種任務。對于分類任務,XGBOOST可以實現二分類和多分類,本文從這兩個方向入手:
#####二分類

""" 使用鳶尾花的數據來說明二分類的問題 """ from sklearn import datasetsiris = datasets.load_iris() data = iris.data[:100] print (data.shape)#一共有100個樣本數據, 維度為4維 label = iris.target[:100] print (label)

(100, 4)
[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]
上面分類為0-1二分類,接下來進行模型的預測與評估

from sklearn.cross_validation import train_test_splittrain_x, test_x, train_y, test_y = train_test_split(data, label, random_state=0) import xgboost as xgb dtrain=xgb.DMatrix(train_x,label=train_y) dtest=xgb.DMatrix(test_x)params={'booster':'gbtree','objective': 'binary:logistic','eval_metric': 'auc','max_depth':4,'lambda':10,'subsample':0.75,'colsample_bytree':0.75,'min_child_weight':2,'eta': 0.025,'seed':0,'nthread':8,'silent':1}watchlist = [(dtrain,'train')] bst=xgb.train(params,dtrain,num_boost_round=5,evals=watchlist) #輸出概率 ypred=bst.predict(dtest)# 設置閾值, 輸出一些評價指標,選擇概率大于0.5的為1,其他為0類 y_pred = (ypred >= 0.5)*1from sklearn import metrics print ('AUC: %.4f' % metrics.roc_auc_score(test_y,ypred)) print ('ACC: %.4f' % metrics.accuracy_score(test_y,y_pred)) print ('Recall: %.4f' % metrics.recall_score(test_y,y_pred)) print ('F1-score: %.4f' %metrics.f1_score(test_y,y_pred)) print ('Precesion: %.4f' %metrics.precision_score(test_y,y_pred)) print(metrics.confusion_matrix(test_y,y_pred))

[0] train-auc:1
[1] train-auc:1
[2] train-auc:1
[3] train-auc:1
[4] train-auc:1
AUC: 1.0000
ACC: 1.0000
Recall: 1.0000
F1-score: 1.0000
Precesion: 1.0000
[[13 0]
[ 0 12]]
######所屬的葉子節點
當設置pred_leaf=True的時候, 這時就會輸出每個樣本在所有樹中的葉子節點

ypred_leaf = bst.predict(dtest, pred_leaf=True)

[[1 1 1 1 1]
[2 2 2 2 2]
[1 1 1 1 1]

[2 2 2 2 2]
[1 1 1 1 1]]

輸出的維度為[樣本數, 樹的數量], 樹的數量默認是100, 所以ypred_leaf的維度為[100*100].對于第一行數據的解釋就是, 在xgboost所有的100棵樹里, 預測的葉子節點都是1(相對于每顆樹).那怎么看每顆樹以及相應的葉子節點的分值呢?這里有兩種方法, 可視化樹或者直接輸出模型.

xgb.to_graphviz(bst, num_trees=0) #可視化第一棵樹的生成情況)#直接輸出模型的迭代工程 bst.dump_model("model.txt")


booster[0]:
0:[f2<2.45] yes=1,no=2,missing=1
1:leaf=-0.019697
2:leaf=0.0214286
booster[1]:
0:[f2<2.35] yes=1,no=2,missing=1
1:leaf=-0.0212184
2:leaf=0.0212
booster[2]:
0:[f2<2.35] yes=1,no=2,missing=1
1:leaf=-0.0197404
2:leaf=0.0197235
booster[3]:
0:[f2<2.6] yes=1,no=2,missing=1
1:leaf=-0.0161663
2:leaf=0.0219079
booster[4]:
0:[f2<2.45] yes=1,no=2,missing=1
1:leaf=-0.0185029
2:leaf=0.0213033

通過上述命令就可以輸出模型的迭代過程, 可以看到每顆樹都有兩個葉子節點(樹比較簡單). 然后我們對每顆樹中的葉子節點1的value進行累加求和, 同時進行相應的函數轉換, 就是第一個樣本的預測值.
在這里, 以第一個樣本為例, 可以看到, 該樣本在所有樹中都屬于第一個葉子, 所以累加值, 得到以下值.

同樣, 以第二個樣本為例, 可以看到, 該樣本在所有樹中都屬于第二個葉子, 所以累加值, 得到以下值.

leaf1 -1.381214
leaf2 1.410950
在使用xgboost模型最開始, 模型初始化的時候, 我們就設置了’objective’: ‘binary:logistic’, 因此使用函數將累加的值轉換為實際的打分:
f(x)=1/(1+exp(?x))f(x) = 1/(1+exp(-x))f(x)=1/(1+exp(?x))

1/float(1+np.exp(1.38121416)) 1/float(1+np.exp(-1.410950))

0.20081407112186503
0.8039157403338895
這就與ypred = bst.predict(dtest) 的分值相對應上了.

特征重要性

接著, 我們看另一種輸出方式, 輸出的是特征相對于得分的重要性.

ypred_contribs = bst.predict(dtest, pred_contribs=True) ypred_contribs

[[ 0. 0. -0.10902276 0. 0.01369767]
[ 0. 0. 0.09186566 0. 0.01369767]
[ 0. 0. -0.10902276 0. 0.01369767]
[ 0. 0. 0.09186566 0. 0.01369767]

[ 0. 0. 0.09186566 0. 0.01369767]
[ 0. 0. -0.10902276 0. 0.01369767]
[ 0. 0. 0.09186566 0. 0.01369767]
[ 0. 0. -0.10902276 0. 0.01369767]]
輸出的ypred_contribs的維度為[100,4], 前面的四列分別是每個特征對最后打分的影響因子, 可以看出, 前面兩個特征是不起作用的.

多分類

多分類皮膚病預測

import numpy as np from sklearn.model_selection import train_test_split import xgboost as xgb from sklearn.metrics import mean_squared_error #33: lambda x:int(x == '?') 將第33列?轉化為0 ,對應第34列數值-1 data = np.loadtxt('dermatology.data.txt', delimiter=',',converters={33: lambda x:int(x == '?'), 34: lambda x:int(x)-1} ) sz=data.shape X,Y=data[:,0:33],data[:,34] X_train, X_test, y_train, y_test = train_test_split(X, Y, test_size=0.3, random_state=0) #加載numpy的數組到DMatrix對象 xg_train = xgb.DMatrix(X_train, label=y_train) xg_test = xgb.DMatrix( X_test, label=y_test) #1.訓練模型 # setup parameters for xgboost param = {} # use softmax multi-class classification param['objective'] = 'multi:softmax' # scale weight of positive examples param['eta'] = 0.1 param['max_depth'] = 6 param['silent'] = 1 param['nthread'] = 4 param['num_class'] = 6watchlist = [ (xg_train,'train'), (xg_test, 'test') ] num_round = 6 bst = xgb.train(param, xg_train, num_round, watchlist );pred = bst.predict( xg_test ); print ('predicting, classification error=%f' % (sum( int(pred[i]) != y_test[i] for i in range(len(y_test))) / float(len(y_test)) ))

[0] train-merror:0.023438 test-merror:0.063636
[1] train-merror:0.015625 test-merror:0.045455
[2] train-merror:0.015625 test-merror:0.036364
[3] train-merror:0.007813 test-merror:0.036364
[4] train-merror:0.007813 test-merror:0.036364
[5] train-merror:0.007813 test-merror:0.018182
predicting, classification error=0.018182

#2.probabilities # do the same thing again, but output probabilities param['objective'] = 'multi:softprob' bst = xgb.train(param, xg_train, num_round, watchlist ); # Note: this convention has been changed since xgboost-unity # get prediction, this is in 1D array, need reshape to (ndata, nclass) yprob = bst.predict( xg_test ).reshape( y_test.shape[0], 6 ) #從預測的6組中選擇最大的概率進行輸出 ylabel = np.argmax(yprob, axis=1) # return the index of the biggest proprint ('predicting, classification error=%f' % (sum( int(ylabel[i]) != y_test[i] for i in range(len(y_test))) / float(len(y_test)) )) #最小二乘方差 mse2 = mean_squared_error(y_test,ylabel)print(mse2)

[0] train-merror:0.023438 test-merror:0.063636
[1] train-merror:0.015625 test-merror:0.045455
[2] train-merror:0.015625 test-merror:0.036364
[3] train-merror:0.007813 test-merror:0.036364
[4] train-merror:0.007813 test-merror:0.036364
[5] train-merror:0.007813 test-merror:0.018182
predicting, classification error=0.018182
0.07272727272727272

from sklearn import metrics print ('ACC: %.4f' % metrics.accuracy_score(y_test,ylabel)) print(metrics.confusion_matrix(y_test,ylabel))

ACC: 0.9818
[[27 0 0 0 0 0]
[ 0 19 0 1 0 0]
[ 0 0 21 0 0 0]
[ 0 1 0 17 0 0]
[ 0 0 0 0 16 0]
[ 0 0 0 0 0 8]]

# 顯示重要特征 plot_importance(bst) plt.show()

兩大類接口
基于XGBoost原生接口的分類
from sklearn.datasets import load_iris import xgboost as xgb from xgboost import plot_importance from matplotlib import pyplot as plt from sklearn.model_selection import train_test_split# read in the iris data iris = load_iris()X = iris.data y = iris.targetX_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=1234565)params = {'booster': 'gbtree','objective': 'multi:softmax','num_class': 3,'gamma': 0.1,'max_depth': 6,'lambda': 2,'subsample': 0.7,'colsample_bytree': 0.7,'min_child_weight': 3,'silent': 1,'eta': 0.1,'seed': 1000,'nthread': 4, }plst = params.items()dtrain = xgb.DMatrix(X_train, y_train) num_rounds = 500 model = xgb.train(plst, dtrain, num_rounds)# 對測試集進行預測 dtest = xgb.DMatrix(X_test) ans = model.predict(dtest)# 計算準確率 cnt1 = 0 cnt2 = 0 for i in range(len(y_test)):if ans[i] == y_test[i]:cnt1 += 1else:cnt2 += 1print("Accuracy: %.2f %% " % (100 * cnt1 / (cnt1 + cnt2)))# 顯示重要特征 plot_importance(model) plt.show()
基于XGBoost原生接口的回歸
import xgboost as xgb from xgboost import plot_importance from matplotlib import pyplot as plt from sklearn.model_selection import train_test_split# 讀取文件原始數據 data = [] labels = [] labels2 = [] with open("lppz5.csv", encoding='UTF-8') as fileObject:for line in fileObject:line_split = line.split(',')data.append(line_split[10:])labels.append(line_split[8])X = [] for row in data:row = [float(x) for x in row]X.append(row)y = [float(x) for x in labels]# XGBoost訓練過程 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)params = {'booster': 'gbtree','objective': 'reg:gamma','gamma': 0.1,'max_depth': 5,'lambda': 3,'subsample': 0.7,'colsample_bytree': 0.7,'min_child_weight': 3,'silent': 1,'eta': 0.1,'seed': 1000,'nthread': 4, }dtrain = xgb.DMatrix(X_train, y_train) num_rounds = 300 plst = params.items() model = xgb.train(plst, dtrain, num_rounds)# 對測試集進行預測 dtest = xgb.DMatrix(X_test) ans = model.predict(dtest)# 顯示重要特征 plot_importance(model) plt.show()
基于Scikit-learn接口的分類
from sklearn.datasets import load_iris import xgboost as xgb from xgboost import plot_importance from matplotlib import pyplot as plt from sklearn.model_selection import train_test_split# read in the iris data iris = load_iris()X = iris.data y = iris.targetX_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)# 訓練模型 model = xgb.XGBClassifier(max_depth=5, learning_rate=0.1, n_estimators=160, silent=True, objective='multi:softmax') model.fit(X_train, y_train)# 對測試集進行預測 ans = model.predict(X_test)# 計算準確率 cnt1 = 0 cnt2 = 0 for i in range(len(y_test)):if ans[i] == y_test[i]:cnt1 += 1else:cnt2 += 1print("Accuracy: %.2f %% " % (100 * cnt1 / (cnt1 + cnt2)))# 顯示重要特征 plot_importance(model) plt.show()
基于Scikit-learn接口的回歸
import xgboost as xgb from xgboost import plot_importance from matplotlib import pyplot as plt from sklearn.model_selection import train_test_split# 讀取文件原始數據 data = [] labels = [] labels2 = [] with open("lppz5.csv", encoding='UTF-8') as fileObject:for line in fileObject:line_split = line.split(',')data.append(line_split[10:])labels.append(line_split[8])X = [] for row in data:row = [float(x) for x in row]X.append(row)y = [float(x) for x in labels]# XGBoost訓練過程 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)model = xgb.XGBRegressor(max_depth=5, learning_rate=0.1, n_estimators=160, silent=True, objective='reg:gamma') model.fit(X_train, y_train)# 對測試集進行預測 ans = model.predict(X_test)# 顯示重要特征 plot_importance(model) plt.show()

####django2.0.5調用
參見鏈接:https://blog.csdn.net/HHTNAN/article/details/80894247

參考文獻:
文獻1
文獻2
文獻3
文獻4
文獻5
文獻6
文獻7

總結

以上是生活随笔為你收集整理的XGBOOST从原理到实战:二分类 、多分类的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

一区中文字幕电影 | 99婷婷狠狠成为人免费视频 | 欧美日韩视频在线观看一区二区 | 大型av综合网站 | 日韩免费观看视频 | 在线观看 国产 | 日批视频在线 | 亚洲永久精品在线观看 | 成人免费视频免费观看 | 国产亚洲精品久久久久久移动网络 | 日韩欧美在线播放 | 亚洲成人高清在线 | 五月婷婷电影网 | 中文字幕在线观看一区二区 | 国产破处视频在线播放 | 精品久久久久久电影 | 麻豆视频观看 | 成人毛片100免费观看 | 九九亚洲精品 | 精品黄色片 | 91在线播放综合 | 一级片免费观看视频 | 亚洲午夜大片 | wwwww.国产 | 99热精品在线观看 | 最近最新最好看中文视频 | 91免费网址 | 综合久久久久久久久 | 99热在线观看 | 亚在线播放中文视频 | 国内精品在线一区 | 人人澡视频 | a电影免费看 | 亚洲撸撸 | 美女很黄免费网站 | 国产高清绿奴videos | 在线日韩三级 | 久久免费a | 在线免费视频你懂的 | 最近中文字幕在线中文高清版 | 国内精品久久久 | 在线观看视频在线观看 | 欧美日韩中文另类 | 国产一级特黄毛片在线毛片 | 人人艹人人 | 久久久首页 | 天天天天色综合 | 日日干夜夜骑 | 97国产情侣爱久久免费观看 | 久草在线视频精品 | 在线观看视频黄 | 九九天堂 | 99精品视频在线 | 热久久这里只有精品 | 久久亚洲国产精品 | 亚洲精品国产电影 | 中文资源在线官网 | 国产精品s色 | 色www永久免费 | 中文字幕丝袜制服 | 国产精品毛片一区视频 | 色多多视频在线 | 欧美成人基地 | 国产又粗又猛又爽又黄的视频免费 | 国产精品美女久久久久久2018 | 欧美日韩免费看 | 久久久精品国产一区二区三区 | 中文一区在线 | 日韩av偷拍| 国产无遮挡又黄又爽馒头漫画 | 国产精品粉嫩 | 黄色毛片在线看 | 黄a网| www.国产精品 | 日日操狠狠干 | 久久五月天婷婷 | 手机av在线免费观看 | 亚洲激情精品 | 国产日韩欧美在线看 | 久久视频这里只有精品 | 欧美日韩二区在线 | 992tv人人草 黄色国产区 | 综合网天天 | 久草精品电影 | 日韩高清三区 | 91香蕉视频在线下载 | 免费看污污视频的网站 | 亚洲视频在线观看 | 五月婷久久 | 夜夜高潮夜夜爽国产伦精品 | 亚洲伊人天堂 | 色成人亚洲网 | 成人动漫视频在线 | 久草视频中文在线 | 久久尤物电影视频在线观看 | 51久久成人国产精品麻豆 | 狠狠色婷婷丁香六月 | 日韩三级视频在线看 | www.狠狠操.com | 久草视频免费播放 | 久久网站最新地址 | 亚洲无在线| 午夜资源站 | 国产 一区二区三区 在线 | 国产一卡二卡四卡国 | 国产九九热视频 | 亚洲精品影院在线观看 | 99精品视频精品精品视频 | 国产精品初高中精品久久 | 国产福利午夜 | 国产精品热视频 | 国产成人在线一区 | 日本色小说视频 | 欧美午夜精品久久久久久浪潮 | 久久av网址 | 日韩免费视频网站 | 久久99精品国产麻豆婷婷 | 久久无码av一区二区三区电影网 | 久久国产精品免费一区二区三区 | 91精品在线麻豆 | 亚洲精品9 | 麻豆视频国产精品 | 五月天中文在线 | 一级片视频在线 | 国内成人精品视频 | 日韩精品一卡 | 色亚洲网| 精品一区二区在线免费观看 | 在线免费成人 | 国产免费一区二区三区最新6 | 天天干天天在线 | 99久久久免费视频 | 亚洲国产av精品毛片鲁大师 | 狠狠色婷婷丁香六月 | 国产精品成人一区二区三区吃奶 | 日韩成年视频 | 在线观看91久久久久久 | 国产亚洲成av人片在线观看桃 | 91成人精品视频 | 国产美女视频 | 日韩电影在线观看一区二区 | 欧美韩国日本在线 | 欧美不卡视频在线 | 日韩精品中文字幕av | 91av精品 | 欧美亚洲精品在线观看 | 一区二区三区污 | 亚洲高清在线视频 | 美女久久99| www.天天干.com | 日韩在线中文字幕视频 | 国产成人精品亚洲日本在线观看 | 高清久久久 | 日本午夜在线亚洲.国产 | 国产日产在线观看 | 伊人婷婷 | 热久久精品在线 | 亚洲成av人片在线观看www | 2022国产精品视频 | 深爱激情五月婷婷 | 超碰免费成人 | 91电影福利| 99热99re6国产在线播放 | 蜜桃视频成人在线观看 | av东方在线| 激情影音先锋 | 久久久久久久久久福利 | 国产亚洲人成网站在线观看 | 国产欧美综合视频 | 欧美日韩国产一区 | 日韩专区av | 亚洲精品免费在线 | 日韩欧美视频免费在线观看 | 美女视频黄在线观看 | 在线看日韩av | 日韩三级中文字幕 | 国产视频高清 | 五月婷婷影视 | 国产美女网| 精品久久久久久亚洲综合网站 | 91免费在线视频 | 97夜夜澡人人双人人人喊 | 国产一级免费片 | 国产国语在线 | 久久久久久久久久毛片 | 国产不卡一 | 爱爱av在线 | 日韩美女免费线视频 | 成人午夜精品久久久久久久3d | 91av手机在线观看 | 色免费在线 | 天天久久综合 | 亚州欧美精品 | 青春草免费在线视频 | 久草视频免费看 | 人人澡人人爽欧一区 | 国产日产精品一区二区三区四区 | 黄色软件大全网站 | 亚洲午夜久久久综合37日本 | 91成人蝌蚪| 成人一级黄色片 | 黄色影院在线免费观看 | 高清av中文在线字幕观看1 | 黄色av电影一级片 | 成人午夜影视 | 六月丁香久久 | 国产精品久久综合 | 日韩在线不卡视频 | 男女啪啪免费网站 | 日韩综合视频在线观看 | 亚洲欧洲视频 | 国产亚洲精品久久19p | 欧美精品999 | 婷婷精品国产欧美精品亚洲人人爽 | 91久久在线观看 | 玖玖精品在线 | 狠狠狠色丁香婷婷综合久久五月 | 国产99久久九九精品 | 激情五月六月婷婷 | 色婷婷六月天 | 粉嫩av一区二区三区四区 | 国产精品久久久一区二区三区网站 | 欧美日韩国产综合网 | 中文字幕免费观看 | 免费国产在线视频 | 亚洲理论片在线观看 | 亚洲精品网址在线观看 | 免费美女久久99 | 欧洲精品视频一区二区 | 成年人黄色大全 | 亚洲精品乱码久久久久久按摩 | 欧美精品乱码久久久久 | 国产录像在线观看 | 黄色在线小网站 | 911久久香蕉国产线看观看 | 婷婷激情小说网 | 久久精品亚洲综合专区 | 91在线视频导航 | av大全在线播放 | 一本到视频在线观看 | 人人操日日干 | 国产91精品欧美 | 四虎国产视频 | 天天久久综合 | 亚洲一区精品人人爽人人躁 | 欧美激情视频一区 | 欧美久久久久久久久久久久久 | 在线观看日韩专区 | 亚洲做受高潮欧美裸体 | 精品美女久久久久久免费 | 亚洲最大激情中文字幕 | 超碰免费在线公开 | 99热亚洲精品 | 91麻豆精品国产91久久久使用方法 | 亚洲精品一区二区三区四区高清 | 日韩精品久久久久久久电影99爱 | 九草在线观看 | 中文在线8资源库 | 午夜国产福利在线 | 国产精品乱码一区二区视频 | 亚洲va在线va天堂va偷拍 | 日韩免费高清在线观看 | 欧美成人区 | 亚洲国产综合在线 | 日本一区二区三区免费观看 | 国产福利一区在线观看 | 91亚洲在线 | 成年人免费观看在线视频 | 免费一级特黄毛大片 | 国内精品久久久久影院日本资源 | 91tv国产成人福利 | 狠狠激情中文字幕 | 国产精品久久久久久久免费大片 | 久久一区国产 | 国产福利精品视频 | 中文字幕在线看视频 | 国产精品成人自拍 | 成人黄色大片网站 | 欧美a级片网站 | 久久不见久久见免费影院 | 色综合亚洲精品激情狠狠 | 99久久精品国产亚洲 | 精品国产美女在线 | 日韩性色 | 欧美精品国产综合久久 | 毛片.com| 中文字幕欧美日韩va免费视频 | 91麻豆精品国产自产在线 | 伊人天天狠天天添日日拍 | 玖玖视频精品 | 久草视频观看 | 91成人精品国产刺激国语对白 | 国产区在线 | 夜夜视频欧洲 | 99成人免费视频 | 91成人小视频| 精品在线观看一区二区三区 | 97超碰中文字幕 | 日产乱码一二三区别在线 | 高清在线观看av | 超碰人在线 | 91亚洲国产成人久久精品网站 | 成人a视频在线观看 | 日韩在线电影 | 国产明星视频三级a三级点| 亚洲精区二区三区四区麻豆 | 色噜噜日韩精品欧美一区二区 | 在线观看中文字幕dvd播放 | 久草视频一区 | 国外成人在线视频网站 | 人人干人人做 | 中文字幕在线免费 | 亚洲精品乱码久久久久久9色 | 97超碰色偷偷 | 182午夜在线观看 | 欧美精品亚洲精品 | 久热国产视频 | 午夜婷婷在线观看 | 在线看片一区 | 亚洲视频久久 | 久久久久国产精品一区二区 | 亚洲资源一区 | 国产在线a不卡 | 久久露脸国产精品 | 久久免费精彩视频 | 日韩网站一区 | 日韩簧片在线观看 | 久久精品国产一区二区三 | 中文字幕日韩一区二区三区不卡 | 久久国产免费视频 | 亚洲伦理精品 | 亚洲性少妇性猛交wwww乱大交 | 99高清视频有精品视频 | 天天综合天天综合 | 精品国产伦一区二区三区观看说明 | 偷拍视频一区 | 天天操天 | 色姑娘综合 | 激情综合网色播五月 | 久久久久久久久久久久av | 欧美国产精品久久久久久免费 | www.成人久久 | 日韩色在线观看 | 久久精品久久久久 | 日韩亚洲在线 | 欧美吞精| 国产69精品久久99不卡的观看体验 | 99热99re6国产在线播放 | 2018亚洲男人天堂 | 成年一级片 | 五月天婷婷综合 | 久久久久久久久久久久久久免费看 | 天堂av免费在线 | 亚洲精品在线观看免费 | 国产成人免费高清 | 人人舔人人 | 三上悠亚一区二区在线观看 | 精品成人久久 | 精品国偷自产国产一区 | 91精品久久久久久久99蜜桃 | 欧美日韩一区二区三区在线免费观看 | 久久刺激视频 | 日韩有码在线播放 | 91在线中文字幕 | 99久久久国产精品免费99 | 国产精品精品久久久 | 亚洲一区二区精品视频 | 午夜av免费 | 久久精品久久久精品美女 | 日本黄色大片免费 | 国产亚洲精品久久久久久无几年桃 | av 一区 二区 久久 | 亚洲精选99 | 日韩动漫免费观看高清完整版在线观看 | 国产精品久久视频 | 99久视频 | 色婷婷亚洲精品 | 欧美伦理一区二区 | 干狠狠 | 在线精品视频免费播放 | 欧美精品一区二区免费 | 色婷婷综合久久久久中文字幕1 | 特级毛片在线观看 | 国产精品欧美日韩在线观看 | 久久天天躁狠狠躁夜夜不卡公司 | 精品无人国产偷自产在线 | 狠狠色免费 | 精品国产伦一区二区三区观看体验 | 日韩三级精品 | 国产精品第二十页 | 欧美va天堂在线电影 | 欧美性受极品xxxx喷水 | 伊人天堂网 | 国产精品成人一区二区三区 | 国产精品视频免费观看 | 97精品国产97久久久久久粉红 | 久国产在线播放 | 欧美精品一二三 | 精品免费视频123区 午夜久久成人 | 婷婷丁香在线 | 少妇性bbb搡bbb爽爽爽欧美 | av免费在线看网站 | 免费一级毛毛片 | 日日夜夜狠狠操 | 国产精品一区在线播放 | 国产精品久久久久久久免费 | 国产自制av | 亚洲成人网av| 国产一性一爱一乱一交 | 中文字幕在线观看的网站 | 国产主播大尺度精品福利免费 | 日操操| 大胆欧美gogo免费视频一二区 | 爱爱av网站 | 在线看欧美 | 欧美日韩国产综合一区二区 | 国产中文字幕在线观看 | 亚洲第一伊人 | 中文字幕网站视频在线 | 激情欧美一区二区三区免费看 | 最近久乱中文字幕 | 六月天综合网 | 成人黄在线 | 日日精品| a v在线视频 | 欧美在线观看视频 | 九九热视频在线 | 国产在线1区 | 在线色亚洲 | 日本视频高清 | 久久免费在线视频 | 激情影音 | 色九九影院 | 久久av中文字幕片 | 婷色| 天天插综合 | 国产视频欧美视频 | av色图天堂网 | 免费看黄在线网站 | 国产精品乱码高清在线看 | 国产午夜视频在线观看 | 九色91在线 | 国产剧在线观看片 | 日韩精品一区在线观看 | 91探花视频| 亚洲九九九 | 在线观看国产永久免费视频 | 五月综合激情 | 91av片| 99视频在线观看视频 | 日日夜夜精品视频天天综合网 | 久久艹在线观看 | 深爱激情站 | 久草在线精品观看 | 欧美黑吊大战白妞欧美 | 久99精品 | 国产不卡一 | 国产精品久久久久毛片大屁完整版 | 天天干天天操天天做 | 欧美精品久久久久久久久久久 | 久久黄网站 | 久久久污 | 国产色黄网站 | 亚洲最新av在线 | 99热这里只有精品8 久久综合毛片 | 在线黄色av电影 | 天天综合网在线观看 | 中文字幕视频三区 | 中文字幕一区二区三区在线播放 | 欧美高清视频不卡网 | 亚洲无吗av | 国产精品一区二区在线看 | 久草在线观看资源 | 国产黄色免费观看 | 国产精品美女久久久久久久 | 成年人免费观看在线视频 | 免费又黄又爽 | 国产精品一区电影 | 手机在线免费av | 成人综合免费 | 99精品国产福利在线观看免费 | 国产一区二区综合 | 亚洲激情五月 | 成人av动漫在线观看 | 九九九免费视频 | 久久一区二区免费视频 | 国产日本亚洲 | 欧美天堂影院 | 人人插人人草 | 国内免费久久久久久久久久久 | 亚洲无在线 | a级片久久久 | 成人免费在线网 | av中文字幕网站 | 青青久草在线视频 | 特级西西人体444是什么意思 | 国产成人综合在线观看 | 一区二区三区精品在线视频 | 69久久99精品久久久久婷婷 | 成人亚洲精品国产www | 91亚洲国产| 天天色天天色天天色 | 香蕉视频在线网站 | 欧洲精品码一区二区三区免费看 | 国产成人久 | 国产精品九九热 | 久久手机视频 | 国产精品99久久久久久人免费 | 99久久精品免费看 | 国产精品美女毛片真酒店 | 国产精品成人久久 | 91中文字幕网 | 黄色毛片在线 | 免费视频网 | 五月婷婷婷婷婷 | 福利久久久 | 久久综合狠狠综合 | 免费观看十分钟 | 91av看片 | 99精品在线免费在线观看 | 天天se天天cao天天干 | 97久久久免费福利网址 | 伊人网站| 在线成人短视频 | 色网站在线免费 | 亚州成人av在线 | 国产精品久久久久久欧美 | 欧美日韩一区二区三区在线观看视频 | 久久精品99精品国产香蕉 | 亚洲永久精品国产 | 国产无遮挡猛进猛出免费软件 | 在线观看视频国产 | 免费在线观看av的网站 | 你操综合 | 国产手机精品视频 | 91精品啪啪| 国产九九九精品视频 | 黄色a在线 | 日韩成片 | 91最新视频在线观看 | 人人看看人人 | 午夜精品麻豆 | 国产99精品在线观看 | 最新真实国产在线视频 | 久久国产一区二区 | 天天操天天曰 | 在线观看中文字幕网站 | 国产色婷婷精品综合在线手机播放 | 欧美成年人在线视频 | 欧美另类老妇 | 国产高清在线观看av | 日韩一级片网址 | 免费视频91蜜桃 | 2018亚洲男人天堂 | 美女视频黄色免费 | 婷婷在线视频观看 | 国产日韩视频在线观看 | 九月婷婷色 | 日批视频 | 婷婷综合成人 | 涩涩爱夜夜爱 | 欧美夫妻性生活电影 | 亚洲高清视频一区二区三区 | 国产伦精品一区二区三区免费 | 日韩激情影院 | 成人免费在线播放视频 | 男女男视频 | 草久视频在线 | 成人h电影| 婷婷精品进入 | 婷婷中文字幕 | 午夜体验区 | 久久热亚洲 | 在线国产专区 | 一区二区在线不卡 | 九色porny真实丨国产18 | 国产亚洲视频系列 | 九九久久在线看 | 欧美成人久久 | 一区二区毛片 | 亚洲一区免费在线 | av色影院 | 日韩高清不卡一区二区三区 | 日韩在线不卡视频 | 国产小视频你懂的在线 | 国产高清在线 | 久久伊99综合婷婷久久伊 | 99精品在线播放 | 天天爽夜夜爽人人爽曰av | 在线精品视频免费观看 | 成年人电影免费看 | 91精品国产高清 | 天天曰天天射 | 国产一二三在线视频 | 国产在线更新 | 日韩黄色软件 | 国产 日韩 欧美 中文 在线播放 | 亚洲精品午夜久久久久久久 | 日韩av中文字幕在线免费观看 | 欧美一区二区三区免费看 | 久久久免费看视频 | 亚洲欧美va| 免费v片 | 99免费在线视频 | 日韩a在线看 | 日韩精选在线观看 | av网址aaa| 超碰成人网 | 四虎影视成人永久免费观看视频 | 丁香花五月 | 久久亚洲影视 | 国产午夜精品一区二区三区欧美 | 天天干,天天操,天天射 | 日韩精品一区在线播放 | 最新av网址大全 | 久久久999精品视频 国产美女免费观看 | 在线观看黄色免费视频 | 欧美一级网站 | 一区二区免费不卡在线 | av最新资源 | 五月婷婷av在线 | 国产精品久久久精品 | 丁香六月综合网 | 伊在线视频 | 日韩成人精品一区二区三区 | 在线播放av网址 | 亚洲第一区精品 | 色99色| 激情丁香月 | 国产不卡免费 | 国产精品区免费视频 | 亚洲另类久久 | 中国一级片免费看 | 91精品久久久久久久91蜜桃 | 国内精品久久久久久久久久 | 成人影片免费 | 亚洲美女免费视频 | 久草在线免费在线观看 | 国产一级做a | 免费色视频网站 | 日韩中文字幕免费看 | 日本高清免费中文字幕 | 成人av资源网站 | 91成品视频| 麻花豆传媒mv在线观看网站 | 成人黄色av网站 | 玖操| av天天澡天天爽天天av | 中文字幕在线观看一区二区三区 | 日韩免费视频观看 | 就色干综合 | 中文字幕免费看 | 久久免费黄色 | 看片一区二区三区 | 五月综合在线观看 | 国产免费成人av | 国产精品久久久久久久av大片 | 91麻豆精品久久久久久 | 久久免费视频一区 | 国内精品久久天天躁人人爽 | 欧美精品久久久久久久久久白贞 | 亚洲精色| 天天插天天干天天操 | 丰满少妇在线观看 | 精品嫩模福利一区二区蜜臀 | 欧美精品在线一区二区 | 97超碰中文字幕 | 九九在线精品视频 | 国产黄色av影视 | 欧美日韩视频在线一区 | 国产一区二区高清不卡 | 亚洲区另类春色综合小说 | 这里只有精品视频在线观看 | 久久久久久毛片精品免费不卡 | 高清不卡免费视频 | 免费看一级黄色大全 | 亚洲色综合 | 天天干天天搞天天射 | 国产福利91精品一区二区三区 | 一级黄色免费网站 | 欧美日韩国产一二三区 | 成人中文字幕+乱码+中文字幕 | 国产一区二区三区四区在线 | 久章草在线观看 | 91精品国产福利 | 美腿丝袜一区二区三区 | 丁香六月伊人 | 国产美女网站在线观看 | 欧美一级特黄高清视频 | 91视频 - 88av | 成人视屏免费看 | 久久久国产一区二区三区 | 天天激情天天干 | 午夜男人影院 | 欧美极品一区二区三区 | 天天操欧美| 韩国精品在线 | 久草在线最新视频 | 国产精品成人免费一区久久羞羞 | 欧美一级电影免费观看 | 日韩xxx视频| 国产精品3区 | 最近日韩中文字幕中文 | 久久在线免费观看 | 国产1区2区3区精品美女 | 亚洲午夜精品一区二区三区电影院 | 亚洲视频aaa | 亚洲三级毛片 | 国产成人一区二区三区影院在线 | 综合久久网站 | 亚洲五月 | 激情综合五月天 | 国产大陆亚洲精品国产 | 中文字幕在线国产精品 | 日韩精品中文字幕在线 | 国产香蕉视频 | 色99之美女主播在线视频 | 亚洲日本va午夜在线电影 | 天天射天天操天天色 | 久久精彩免费视频 | 国产在线免费 | 久久免费大片 | 伊人久久av | 激情开心色 | 亚洲国产成人精品电影在线观看 | 久久精品99国产精品日本 | 国产精品aⅴ | www.天天草 | 国产亚洲精品久久久久久 | 黄在线免费看 | 国产一区二区网址 | 欧美日韩一区二区久久 | 91在线porny国产在线看 | 久久视频免费在线 | 亚洲精品欧美视频 | 日韩免费 | 国产精品久久电影网 | 91精品视频一区 | 国产色在线,com | 91网在线| 久久成人高清 | 日韩欧美网址 | 精品少妇一区二区三区在线 | 日韩电影一区二区在线观看 | 日韩专区视频 | 日本天天色 | 97涩涩视频 | 国产精品不卡在线播放 | 91人人在线 | 天天干天天做 | 91激情| 日韩网站在线观看 | 免费国产在线观看 | 超碰在线免费97 | 亚洲国产偷 | 一区二区三区电影 | 天天天在线综合网 | 黄污污网站 | 国色天香在线 | 亚洲精品tv久久久久久久久久 | 国产高清一区二区 | 国产裸体视频网站 | 综合亚洲视频 | 午夜在线看片 | 日韩aⅴ视频 | 久久精品99国产精品日本 | 国产成人一区二区三区影院在线 | 91视频黄色 | 久久一线 | 在线观看中文字幕网站 | 午夜av在线免费 | 在线观看成人av | 91尤物国产尤物福利在线播放 | 精品资源在线 | 丁香花在线观看视频在线 | 激情黄色一级片 | 国产精品一区二区三区视频免费 | 国产成人精品久久亚洲高清不卡 | 少妇性aaaaaaaaa视频 | www麻豆视频 | 日韩资源在线播放 | 日本三级久久 | 在线国产一区二区 | 久久永久免费 | 91成人精品一区在线播放69 | 国产美女在线精品免费观看 | 国产视频中文字幕在线观看 | 久久一区91| 久草资源在线 | 18久久久久| 久久综合中文字幕 | 国产91在线免费视频 | 国产福利小视频在线 | 久久亚洲电影 | 日韩三级精品 | 黄色日批网站 | 99超碰在线观看 | 91在线国产观看 | 黄色动态图xx| 国产精品成人自产拍在线观看 | 在线观看中文字幕2021 | 国产一区视频导航 | 美女黄濒| 777xxx欧美| 中文永久免费观看 | 日韩精品一二三 | 久久免费黄色网址 | 国产一级视频在线免费观看 | 国产在线观看a | 一区二区三区四区五区在线视频 | 久久久久免费网 | а中文在线天堂 | 色综合天天狠天天透天天伊人 | 992tv在线观看 | 天堂av在线网址 | 亚洲日本在线一区 | 在线观看av的网站 | 国产视频一区二区在线观看 | 一级全黄毛片 | 在线观看国产www | 亚洲欧美日韩精品久久久 | 国产亚洲欧美一区 | 免费看黄在线网站 | 草在线视频 | 久草在线最新免费 | 日本精品一区二区三区在线播放视频 | 国产明星视频三级a三级点| 中文字幕在线播放视频 | 国产精品一区欧美 | 国产精品无av码在线观看 | 欧美va在线观看 | 亚洲精品女人 | 日韩免费在线视频观看 | 精品a在线 | av大全在线免费观看 | 久草色在线观看 | 国产999精品 | 免费成人在线视频网站 | 91九色视频导航 | 国产日韩欧美视频 | 国产美女精品视频 | 国产精品成人在线 | 91chinesexxx | 久久免费视频一区 | 成 人 黄 色 视频播放1 | 欧美激情精品久久久久久 | 91在线视频免费91 | 麻豆国产在线播放 | 91正在播放 | 久草在线免费色站 | 99久精品视频 | 91一区二区三区久久久久国产乱 | 欧美精品做受xxx性少妇 | 干综合网| 99久久久久免费精品国产 | 探花视频在线观看免费版 | 久久99国产精品久久99 | 亚洲成人免费在线 | 精品1区2区 | 97夜夜澡人人爽人人免费 | 国产精品不卡在线 | 91香蕉嫩草 | 色黄www小说 | 国产伦精品一区二区三区无广告 | 综合久久久久 | 一二三四精品 | a黄在线观看 | 一区二区三区四区不卡 | 天天曰视频| 9999免费视频 | 中国一级片视频 | 99av在线视频 | 夜夜操狠狠干 | 97超碰色偷偷 | 久久丁香网 | 日韩在线观看影院 | 欧美日韩国产伦理 | 久草视频免费在线观看 | 亚洲国产精品va在线看 | 久久久精品 一区二区三区 国产99视频在线观看 | 中文字幕在线观看免费高清电影 | 日韩精品一区二区三区丰满 | 97激情影院| 国产一区在线视频播放 | 黄a在线观看 | 亚洲97在线 | 日韩精品免费一线在线观看 | 久久99影院 | 亚洲91精品在线观看 | 精品你懂的| 免费观看全黄做爰大片国产 | 五月天六月婷 | 国产精品视屏 | 国产91全国探花系列在线播放 | 夜夜夜 | 欧美日韩国产页 | 亚洲最大av网 | a天堂最新版中文在线地址 久久99久久精品国产 | 一区二区三区在线观看中文字幕 | 亚洲人成精品久久久久 | 久草视频免费在线观看 | 99久久精品网 | 午夜av日韩 | 狠狠久久综合 | 久久y | 91精品视频在线观看免费 | 久久久久久久毛片 | 91九色精品 | 欧美激情精品久久久久久免费印度 | 日韩欧美在线第一页 | 看国产黄色大片 | 日韩中文字幕国产 | 亚洲视频精品在线 | 亚洲高清久久久 | 国产精品com | 国产精品高潮呻吟久久av无 | 深爱五月网| 免费av网址大全 | 色av色av色av| 日本最大色倩网站www | 国产无套精品久久久久久 | 久草在线视频国产 | www色网站| 日韩黄色影院 | 特级西西444www大精品视频免费看 | 九九热精| 国产精品中文字幕在线播放 | 免费成人短视频 | 免费在线黄网 | 99久久精品免费看国产 | 91久久一区二区 | 免费观看午夜视频 | 国产视频九色蝌蚪 | 天天操天天干天天插 | 在线影院av | av高清影院 | 成人久久久久久久久久 | 国内揄拍国产精品 | 在线视频 你懂得 | 欧美男女爱爱视频 | 国产亚洲一区二区三区 | 国产视频亚洲 | 久久一久久 | 亚洲欧洲成人 | 91成人网页版 | 国产精品手机在线播放 | 九九视频精品在线 | 综合色伊人 | 国产精品一区二区久久国产 | 免费在线观看毛片网站 | 天天操天天干天天 | 91精品国自产拍天天拍 | 日韩激情第一页 | 99精品一区二区三区 | 国产免费中文字幕 | 玖草影院| va视频在线 | 国产精品欧美久久久久天天影视 | 亚洲另类在线视频 | 精品免费视频 | 久久精品福利 | 在线免费色 | 久久综合久久综合这里只有精品 | 欧洲精品码一区二区三区免费看 | 狠狠做深爱婷婷综合一区 | 射久久 | 蜜臀久久99静品久久久久久 | 天堂av在线网站 | 久久色视频 | 亚洲黄色在线观看 | 婷婷丁香导航 | 久久99中文字幕 | 亚洲春色综合另类校园电影 | 精品久久1 | 国产麻豆剧传媒免费观看 | 国产精品1区2区 | 久久久久久久久久久国产精品 | 国产午夜精品一区二区三区嫩草 | 在线观看视频在线 | 狠狠色丁香婷婷 | 亚洲精选视频在线 | 一区二区三区www | 超碰成人网 | 亚洲视频资源在线 | 亚洲在线激情 | 色五丁香| 久久精品视频免费播放 | 亚洲激情视频在线观看 | 久久久在线 | 中文字幕第一页在线 | 成人在线观看资源 | 视频一区二区三区视频 | 黄色影院在线播放 | 日韩v欧美v日本v亚洲v国产v | 免费在线观看av | 国产在线欧美在线 | 91看毛片 | 欧美日韩中文字幕在线视频 |