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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

【机器学习】信用卡欺诈检测|用启发式搜索优化XGBoost超参数

發(fā)布時間:2025/3/12 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【机器学习】信用卡欺诈检测|用启发式搜索优化XGBoost超参数 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

本文將展示如何使用模擬退火[1]啟發(fā)式搜索[2]機器學習算法中超參數(shù)的最佳組合。這些方法比盲隨機生成參數(shù)得到的模型效果好。另外,模型效果最好是分別微調每個超參數(shù),因為它們之間通常存在交互。

模擬退火簡介

模擬退火是一種用于逼近給定函數(shù)的全局最優(yōu)值的概率技術。具體來說,對于優(yōu)化問題,在大型搜索空間中近似全局優(yōu)化是一種元啟發(fā)式。它通常用于搜索空間是離散的。對于在固定時間內找到近似全局最優(yōu)比找到精確局部最優(yōu)更重要的問題,模擬退火可能比精確算法(如梯度下降或分支定界)更可取。

該算法的名稱來自冶金中的退火,這是一種涉及加熱和控制材料冷卻以增加其晶體尺寸并減少其缺陷的技術。兩者都是取決于其熱力學自由能的材料屬性。加熱和冷卻材料會影響溫度和熱力學自由能或吉布斯能。模擬退火可用于精確算法失敗的非常困難的計算優(yōu)化問題;盡管它通常會獲得全局最小值的近似解,但它對于許多實際問題來說已經足夠了。

在模擬退火算法中實施的這種緩慢冷卻的概念被解釋為在探索解決方案空間時接受更差解決方案的概率緩慢下降。接受更差的解決方案允許更廣泛地搜索全局最優(yōu)解決方案。

通常,模擬退火算法的工作方式如下。溫度從初始正值逐漸降低到零。在每個時間步,算法隨機選擇一個接近當前解的解,測量它的質量,并根據(jù)選擇更好或更差解的溫度相關概率移動到它,在搜索過程中分別保持在 1(或正值) ) 并趨向于零。

選用XGBoost算法來應用該方法,是一個很好的例子,因為它有許多超參數(shù)。窮舉網格搜索在計算上可能是行不通的。

關于XGBoost的理論細節(jié)的討論,請參閱這個Slideshare presentation[3]?,標題為"Kaggle Winning Solution XGBoost algorithm—Let us learn from its author",作者是陳天奇。

數(shù)據(jù)集描述

本文數(shù)據(jù)集取自Kaggle數(shù)據(jù)集,其中包含信用卡交易數(shù)據(jù)和欺詐標簽。它最初是Dal Pozzolo, Andrea等人在Computational Intelligence, 2015 IEEE Symposium Series on. IEEE, 2015 Calibrating Probability with Undersampling for Unbalanced Classification[4]?發(fā)表的名為用不平衡分類的欠采樣概率校準的文章內所使用的數(shù)據(jù)集。數(shù)據(jù)集中有Time變量(第一次交易的時間),Amount變量,Class變量(1=欺詐,0=非欺詐),以及其余的(V1-V28)是對原始變量進行主成分分析得到的因子變量。若有朋友需要本數(shù)據(jù)集,可直接聯(lián)系原文作者云朵君(wx: Mr_cloud_data)免費獲取!

對于XGBoost來說,訓練及預測該數(shù)據(jù)集,并不是一個非常困難的情況。本文的主要目的是來說明啟發(fā)式搜索從相當大的潛在組合集中找到合適的超參數(shù)集的方法。

從下文數(shù)據(jù)探索中發(fā)現(xiàn),這是一個典型的欺詐檢測數(shù)據(jù)集,且是一個高度不平衡的數(shù)據(jù)集。因此在XGBoost參數(shù)中設置觀測值的權重時需要將該因素考慮進去。

本數(shù)據(jù)集相對較大,因此可以將其劃分為訓練集、驗證集及測試集合,將在一個驗證數(shù)據(jù)集上校準超參數(shù),并在一個新的測試數(shù)據(jù)集上評估模型預測性能。

import?numpy?as?np? import?pandas?as?pd import?matplotlib.pyplot?as?plt %matplotlib?inline import?random random.seed(1234)plt.style.use('ggplot') dat?=?pd.read_csv('creditcard.csv') dat.head()df['Class'].value_counts()/len(df)0 0.998273 1 0.001727 Name: Class, dtype: float64

數(shù)據(jù)探索

缺失值分析

total?=?dat.isnull().sum().sort_values(ascending?=?False) percent?=?(dat.isnull().sum()/dat.isnull().count()*100).sort_values(ascending?=?False) pd.concat([total,?percent],?axis=1,?keys=['Total',?'Percent']).transpose()

數(shù)據(jù)集分布

數(shù)據(jù)不平衡

利用plotly可視化信用卡欺詐類別,得到類別Class數(shù)據(jù)不平衡。

import?plotly.graph_objs?as?go from?plotly.offline?import?iplot temp?=?dat["Class"].value_counts() df?=?pd.DataFrame({'Class':?temp.index,'values':?temp.values})trace?=?go.Bar(x?=?df['Class'],y?=?df['values'],name="信用卡欺詐類別-數(shù)據(jù)不平衡?\n(非欺詐?=?0,?欺詐?=?1)",marker=dict(color="Blue"),text=df['values']) temp_data?=?[trace] layout?=?dict(title?=?'信用卡欺詐類別-數(shù)據(jù)不平衡?(非欺詐?=?0,?欺詐?=?1)',xaxis?=?dict(title?=?'Class',?showticklabels=True),?yaxis?=?dict(title?=?'交易數(shù)量'),hovermode?=?'closest',width=1000,?height=600) fig?=?dict(data=temp_data,?layout=layout) iplot(fig,?filename='class')

類別Class隨時間Time的分布

amt99?=?1018 #?99%的交易 dat99?=?dat.iloc[?list(dat['Amount']<=amt99)?] #?1%的交易 dat01?=?dat.iloc[?list(dat['Amount']>amt99)?] class_0?=?dat99.loc[dat['Class']?==?0]["Time"] class_1?=?dat99.loc[dat['Class']?==?1]["Time"]
上圖可以得到如下結果
  • 欺詐交易和非欺詐交易的數(shù)據(jù)分布是不同的。

  • 非欺詐交易分布和所有交易的總和分布使相同的,因為詐騙的案例很少,影響不了總體交易分布。

  • 該數(shù)據(jù)集有兩天的數(shù)據(jù),所以它顯示了正常交易的兩個高峰。

  • 但無法從兩天的數(shù)據(jù)中識別出任何顯著的欺詐交易模式。

類別Class隨數(shù)量Amount的分布

上圖可以得到如下結果
  • 欺詐交易和非欺詐交易的數(shù)據(jù)分布是不同的。

  • 非欺詐交易分布和所有交易的總和分布使相同的,因為詐騙的案例很少,影響不了總體交易分布。

  • 在99%的情況下,看到大多數(shù)交易都低于200美元,在1%的情況下,看到一個右尾鐘形曲線,平均在3000美元左右。

  • 在這1%的數(shù)據(jù)中,看到了欺詐交易的激增。

交易價值欺詐分析

max_amount=int(round(max(dat.Amount)?*1.04,-3)) bins=list(range(0,1601,100)) bins.append(max_amount) dat['Amt']=pd.cut(dat.Amount,bins) all_trans?=?dat.pivot_table(index="Amt",columns="Class",values="V1",aggfunc=len)? all_trans['All']?=?all_trans[0]?+all_trans[1] all_trans?=?all_trans.drop(?0,?axis=1) all_trans.columns=['欺詐','總體'] all_trans['欺詐?%']?=?all_trans['欺詐']??/?len(?dat[dat.Class==1])*100 all_trans['總體?%']?=?all_trans['總體']??/?len(?dat.Class)*100
上圖可以得到如下結果
  • 79.5%的交易低于100美元,但這類欺詐占68%。

  • 在200美元到1600美元之間的交易占9.57%,欺詐占16.86%

熱圖看變量間相關性

sns.heatmap(dat.corr(),?cmap="YlGnBu")

從結果看沒有發(fā)現(xiàn)變量之間有任何顯著的相關性,因此這是PCA降維后的數(shù)據(jù),所以給定變量之間沒有關系。除了時間和數(shù)量與其他字段有某種關系。

指定變量與兩個Class的數(shù)據(jù)點箱圖分布

通過多子圖,循環(huán)繪制每個變量與類之間的箱圖,sns.boxplot()可以直接繪制該圖形。

color?=?sns.color_palette("Set3",?6) plt.figure(figsize=(20,20)) i=1for?col?in?dat.columns:plt.subplot(8,4,i)ax=sns.boxplot(x=dat['Class'],y=dat[col],??palette=color)for?p?in?ax.patches:ax.annotate(format(p.get_height(),?'.2f'),?(p.get_x()?+?p.get_width()?/?2.,p.get_height()),?ha?=?'center',?va?=?'center',?fontsize=8,xytext?=?(0,?10),?textcoords?=?'離群點')i+=1 plt.tight_layout()▲ 部分截圖
上圖可以得到如下結果
  • 幾乎所有字段都有離群值。

  • 對于所有變量,這兩個類的數(shù)據(jù)中值幾乎是相同的。

  • 對于一些變量,如v1, v4, v5, v12, v14,v16, v17, v18, IQR范圍有顯著不同。

散點圖觀察兩個Calss的數(shù)量與其他變量之間的關系

這主要用sns.regplot()函數(shù)

plt.figure(figsize=(20,80)) i=1 for?col?in?dat.columns:plt.subplot(16,2,i)sns.regplot(y=dat[dat.Class==0].Amount,x=dat[dat.Class==0][col],?color="g")ax?=?sns.regplot(y=dat[dat.Class==1].Amount,x=dat[dat.Class==1][col],?color="r")ax.tick_params(labelsize=15)ax.set_xlabel(col,fontsize=15)i+=1 plt.tight_layout()▲ 部分截圖

統(tǒng)計檢驗探索數(shù)據(jù)特征

盡管大多數(shù)變量的含義是未知的(V1-V28匯總交易數(shù)據(jù)的因子),但我們知道V1-V28是通過標準化(均值為0,標準差為1)處理過后的數(shù)據(jù)。當然時間和數(shù)量變量同樣也是經過標準化處理后的。

經數(shù)據(jù)探索,特別是采用韋爾奇t檢驗檢驗,結果顯示幾乎所有的特征都與Class變量顯著相關。這些變量的均值在Class 0?中幾乎為零,而在Class 1?中顯然是非零的。

另外時間和數(shù)量變量也很重要。似乎還沒有任何理由需要進行變量選擇。

另外發(fā)現(xiàn)一些變量分布不均(如Amount),在XGBoost對這種偏離常態(tài)的偏差并不敏感,但如果需要應用一些其他方法(如邏輯回歸),這里需用一些特征轉換的技巧,如分箱等。

from?scipy?import?stats from?sklearn?import?preprocessingdat['Time']?=?preprocessing.scale(dat['Time']) dat['Amount']?=?preprocessing.scale(dat['Amount']) pt?=?pd.pivot_table(dat,?values=dat.columns,?columns?=?'Class',?aggfunc='mean')print('\n韋爾奇t檢驗和形狀統(tǒng)計的p值:\n') for?i?in?range(30):col_name?=?dat.columns[i]t,?p_val?=?stats.ttest_ind(dat.loc[?dat['Class']==0,?col_name],?dat.loc[?dat['Class']==1,?col_name],equal_var=False)??skewness?=?dat.loc[:,col_name].skew()kurtosis?=?stats.kurtosis(dat.loc[:,col_name])print('Variable:?{:7s}'.format(col_name),end='')????print('p-value:?{:6.3f}??skewness:?{:6.3f}??kurtosis:?{:6.3f}'.format(p_val,?skewness,?kurtosis))for?i?in?range(30):axes[i].hist(dat[dat.columns[i]],?bins=50,facecolor='b',alpha=0.5)韋爾奇t檢驗和形狀統(tǒng)計的p值: Variable:?Time?p-value:?0.000?skewness:?-0.036??kurtosis:?-1.294 Variable:?V1???p-value:?0.000?skewness:?-3.281??kurtosis:?32.486 Variable:?V2???p-value:?0.000?skewness:?-4.625??kurtosis:?95.771 Variable:?V3???p-value:?0.000?skewness:?-2.240??kurtosis:?26.619 ... Variable:?Amount?p-value:??0.004??skewness:?16.978??kurtosis:?845.078▲ 部分截圖

劃分數(shù)據(jù)集

這里將數(shù)據(jù)集劃分為40%的訓練、30%的驗證和30%的測試。注意使用了numpy中的random.shuffle()函數(shù)。還使相應的矩陣train,?validtest分別包含只有標簽為trainY,?validity?testY的預測器。

Class?=?dat['Class'].valuesallIndices?=?np.arange(len(Class)) np.random.shuffle(allIndices)?#?打亂觀察的索引numTrain?=?int(round(0.40*len(Class))) numValid?=?int(round(0.30*len(Class))) numTest?=?len(Class)-numTrain-numValidinTrain?=?allIndices[:numTrain] inValid?=?allIndices[numTrain:(numTrain+numValid)] inTest?=??allIndices[(numTrain+numValid):]train?=?dat.iloc[inTrain,:30] valid=?dat.iloc[inValid,:30] test?=??dat.iloc[inTest,:30]trainY?=?Class[inTrain] validY?=?Class[inValid] testY?=?Class[inTest]

設置搜索參數(shù)

Booster準備:固定參數(shù)

首先,我們使用xgb.DMatrix()函數(shù)以XGBoost所需的格式創(chuàng)建矩陣,為每個數(shù)據(jù)集傳遞預測器數(shù)據(jù)和標簽。然后我們設置一些固定的參數(shù)。

其中增強迭代的次數(shù)(num_rounds)設置為20。通常情況下,該參數(shù)會使用更大的數(shù)字以使用更多的迭代次數(shù),但在該實驗中,為了節(jié)約時間,將其設置為20。

用silent=1(無信息)初始化參數(shù)字典。因為數(shù)據(jù)是高度不平衡的,因此設置參數(shù)min_child_weight為默認值1。該參數(shù)用于進一步分區(qū)的子節(jié)點中觀察值的最小加權數(shù)。目標是二元分類,默認評價指標是曲線下面積(AUC),可以定制一個評估函數(shù)以實現(xiàn)更高級的模型評價。

另外設置內部隨機數(shù)種子為一個常量,這樣可以獲得可重復的結果(但這并不能保證,因為XGBoost是在線程中運行的。

將使用啟發(fā)式搜索中的參數(shù)來擴展參數(shù)字典。

import?xgboost?as?xgb #?將數(shù)據(jù)轉換為xgboost所需的矩陣 dtrain?=?xgb.DMatrix(train,?label=trainY) dvalid?=?xgb.DMatrix(valid,?label=validY) dtest?=?xgb.DMatrix(test,?label=testY)#?固定一些參數(shù) #?boosting迭代數(shù) num_rounds=20? param?=?{'silent':1,'min_child_weight':1,'objective':'binary:logistic','eval_metric':'auc','seed'?:?1234}

Booster準備:可變參數(shù)

在接下來的內容中,參考了下面幾個文章的建議:

  • The official XGBoost documentation[5]?和?Notes on Parameter Tuning[6]

  • The article "Complete Guide to Parameter Tuning in XGBoost" from Analytics Vidhya[7]

  • Another Slideshare presentation with title "Open Source Tools & Data Science Competitions"[8]

  • 以下為啟發(fā)式搜索選擇幾個重要參數(shù):

    • max_depth
      樹的最大深度,范圍在[1,∞]中,默認值為6。這是高度依賴數(shù)據(jù)的。[2]中選用3-10作為典型值。[3]中建議從6開始。而我們選擇探索更大的max_depth值,并從5-25,設置步長為5,共5步。

    • subsample
      參數(shù)范圍 (0,1] ,默認值為1。這是在樹中使用的訓練實例的比例,使用較小的值可以防止過擬合。[2]中建議的值為0.5-1。[3]中建議這個值保持為1。我們決定以0.1為步長,測試0.5-1.0中的值。

    • colsample_bytree
      參數(shù)范圍 (0,1] ,默認值為1。這是用于構建樹的列(特征)的子樣本比率。[2]中建議的值為0.5-1。[3]中建議是0.3-0.5。我們將嘗試與參數(shù)subsample相似的值。

    • eta?(or?learning_rate)
      參數(shù)范圍[0,1]中,默認值為0.3。特征權重的縮小率和較大的學習率值(但不是太高)可以用來防止過擬合。[2]中建議使用0.01-0.2中的值。我們可以在[0.01,0.4]中選擇一些值。

    • gamma
      范圍 [0, ∞], 默認值為0。這是樹分裂所需的最小損失函數(shù)減少值。[3]中建議這個保持使用默認值0。我們可以在0.05的步長中測試0-2的值。

    • scale_pos_weight
      默認值1,控制正樣本和負樣本權重的平衡。[1]中建議是使用正負樣本的比率是595,也就是說,給陽性的一個較大的權重。[2]中同樣表示在高階級不平衡的情況下,改參數(shù)值需要設置很大。我們可以既嘗試一些較小值也嘗試一些較大值。

    上面所有參數(shù)的所有可能組合的總數(shù)可高達43200,我們只測試其中的一小部分,約100個,即與啟發(fā)式搜索迭代的次數(shù)相同。

    我們還初始化一個DataFrame并將其結果保存以供以后檢查。

    from?collections?import?OrderedDictratio_neg_to_pos?=?sum(trainY==0)/sum(trainY==1) print('負與正實例的比率:?{:6.1f}'.format(ratio_neg_to_pos))#?需要調節(jié)的參數(shù) tune_dic?=?OrderedDict()tune_dic['max_depth']=?[5,10,15,20,25]?#?樹的最大深度 tune_dic['subsample']=[0.5,0.6,0.7,0.8,0.9,1.0]?#?在樹中使用的訓練實例的比例 tune_dic['colsample_bytree']=?[0.5,0.6,0.7,0.8,0.9,1.0]?#?列(特征)的子樣本比率 tune_dic['eta']=?[0.01,0.05,0.10,0.20,0.30,0.40]??#?學習率 tune_dic['gamma']=?[0.00,0.05,0.10,0.15,0.20]??#?分裂所需的最小損失函數(shù)減少值 tune_dic['scale_pos_weight']=[30,40,50,300,400,500,600,700]?#?正面/負面實例的相對權重lengths?=?[len(lst)?for?lst?in?tune_dic.values()] combs=1 for?i?in?range(len(lengths)):combs?*=?lengths[i] print('所有組合總數(shù):?{:16d}'.format(combs))?? maxiter=100 columns=[*tune_dic.keys()]+['F-Score','Best?F-Score'] results?=?pd.DataFrame(index=range(maxiter),?columns=columns)?#?dataframe保存訓練結果負與正實例的比率: 580.2 所有組合總數(shù): 43200

    自定義函數(shù)

    構建訓練和評價模型的函數(shù)

    接下來定義兩個函數(shù):

    函數(shù)?perf_measures()?接受必須參數(shù)preds和labels,及可選參數(shù)print_conf_matrix,并返回F-Score(精確度和召回率的調和平均值),將用于啟發(fā)式搜索。

    函數(shù)?do_train()?接受如下參數(shù):

    • 當前選擇的變量參數(shù)的字典 (cur_choice),

    • 要傳遞給XGBoost訓練主程序的完整參數(shù)字典 (param),

    • 一個XGBoost格式的訓練數(shù)據(jù)集 (train),

    • 一個字符串標識符 (train_s),

    • 樣本標簽 (trainY),

    • 驗證數(shù)據(jù)集的相應參數(shù) (valid, valid_s, validY),

    • 以及是否打印混淆矩陣的選項 (print_conf_matrix).

    然后訓練模型,并將驗證數(shù)據(jù)集上預測得到的F-Score與模型一起返回。對主訓練程序xgb.train()的調用有以下參數(shù):

    • 完整參數(shù)字典 (param),

    • 一個XGBoost格式的訓練數(shù)據(jù)集 (train),

    • boosting迭代次數(shù) (num_boost),

    def?perf_measures(preds,?labels,?print_conf_matrix=False):act_pos=sum(labels==1)?#?實際正樣本數(shù)act_neg=len(labels)?-?act_pos?#?實際負樣本數(shù)pred_pos=sum(1?for?i?in?range(len(preds))?if?(preds[i]>=0.5))?#?預測真樣本數(shù)true_pos=sum(1?for?i?in?range(len(preds))?if?(preds[i]>=0.5)?&?(labels[i]==1))?##?預測負樣本數(shù)false_pos=pred_pos?-?true_pos?#?假正數(shù)false_neg=act_pos-true_pos?#?假負數(shù)true_neg=act_neg-false_pos?#?正負數(shù)precision?=?true_pos/pred_pos?##?tp/(tp+fp)?預測為正樣本數(shù)中正確分類的百分比recall?=?true_pos/act_pos?##?tp/(tp+fn)?正確分類的正樣本百分比f_score?=?2*precision*recall/(precision+recall)?if?print_conf_matrix:print('\n混淆矩陣')print('----------------')print(?'tn:{:6d}?fp:{:6d}'.format(true_neg,false_pos))print(?'fn:{:6d}?tp:{:6d}'.format(false_neg,true_pos))????return(f_score)def?do_train(cur_choice,?param,?train,train_s,trainY,valid,valid_s,validY,print_conf_matrix=False):"""使用給定的固定和可變參數(shù)進行訓練,并報告驗證數(shù)據(jù)集上的F-score"""print('參數(shù):')for?(key,value)?in?cur_choice.items():print(key,':?',value,'?',end='')param[key]=valueprint('\n')????#????下面注釋掉的部分使用一個觀察列表來監(jiān)控推進迭代的進程? #????evallist??=?[(train,train_s),?(valid,valid_s)] #????model?=?xgb.train(?param,?train,?num_boost_round=num_rounds, #??????????????????????evals=evallist,verbose_eval=False)??model?=?xgb.train(?param,?train,?num_boost_round=num_rounds)??preds?=?model.predict(valid)labels?=?valid.get_label()f_score?=?perf_measures(preds,?labels,print_conf_matrix)return(f_score,?model)

    產生參數(shù)隨機相鄰組合

    接下來定義一個函數(shù)next_choice(),如果當前參數(shù)沒有通過cur_params傳遞時,它可以生成變量參數(shù)的隨機組合,或者生成通過cur_params傳遞的參數(shù)的相鄰組合。

    在第二種情況下,首先隨機選擇一個要更改的參數(shù)。然后:

    • 如果該參數(shù)是當前最小的值,則選擇下一個(更大)的值。

    • 如果該參數(shù)是當前最大的值,則選擇前一個(較小)的值。

    • 否則,隨機選擇左(小)或右(大)值。

    這使得在執(zhí)行啟發(fā)式搜索的函數(shù)中避免了重復。

    def?next_choice(cur_params=None):"""返回變量參數(shù)的隨機組合(如果cur_params=None)或cur_params的隨機相鄰組合"""if?cur_params:#?選擇要更改的參數(shù)#?參數(shù)名稱和當前值choose_param_name,?cur_value?=?random.choice(list(cur_choice.items()))?#?參數(shù)名稱all_values?=??list(tune_dic[choose_param_name])?#?所選參數(shù)的所有值cur_index?=?all_values.index(cur_value)?#?選定參數(shù)的當前索引if?cur_index==0:?#?如果它是范圍中的第一個,則選擇第二個next_index=1elif?cur_index==len(all_values)-1:?#?如果它是范圍中的最后一個,則選擇前一個next_index=len(all_values)-2else:?#?否則隨機選擇左或右值direction=np.random.choice([-1,1])next_index=cur_index?+?directionnext_params?=?dict((k,v)?for?k,v?in?cur_params.items())next_params[choose_param_name]?=?all_values[next_index]?#?更改所選參數(shù)的值print('參數(shù)的選擇移動到:?{:10s}:?from?{:6.2f}?to?{:6.2f}'.format(choose_param_name,?cur_value,?all_values[next_index]?))else:?#?生成參數(shù)的隨機組合next_params=dict()for?i?in?range(len(tune_dic)):key?=?[*tune_dic.keys()][i]?values?=?[*tune_dic.values()][i]next_params[key]?=?np.random.choice(values)return(next_params)

    模擬退火算法的應用

    在模擬退火算法的每一次迭代中,選擇一個超參數(shù)組合。利用這些參數(shù)對XGBoost算法進行訓練,得到驗證集上的F-score 。

    • 如果這個 F-score比前一次迭代的 F-score更好(更大),即是“局部”改進,則該組合被接受,并設置為當前組合,通過調用next_choice()函數(shù)為下一次迭代選擇相鄰的組合。

    • 否則,如果這個F-score 比上一個迭代的更差(更小),并且梯度下降為?,則接受該組合作為具有??概率的當前組合,其中??是一個常數(shù),?是當前的"溫度"。該方法開始時是高溫,一開始"壞的"解決方案很容易被接受,此時是希望探索廣闊的搜索空間。但隨著溫度下降,不好的解決方案被接受的可能性降低,此時搜索變得更加集中。

    溫度從一個固定的值T0開始,每n次迭代就減少一個因子 alpha < 1。這里T0 = 0.40, n=5, alpha = 0.85。常數(shù)beta=1.3。

    這個"冷卻計劃"的參數(shù)選擇可以很容易地在Excel中完成。在這個例子中,我們選擇F-Score惡化的平均接受概率為?0.150,0.075,0.038,0.019,0.009,即初始值是0.150,公比1/2。我們將這些平均概率設置為50%左右在第1,第2,…,第5次的20次迭代,并使用Excel求解器尋找合適的參數(shù)。

    ▲ 部分截圖

    這里可以使用簡單的哈希方案可以避免重復。

    一個警示:如果迭代的次數(shù)不足夠,即小于組合的總數(shù),此時可能出現(xiàn)太多的重復和延遲。這里實現(xiàn)的生成組合的簡單方法并沒有解決這種情況。

    import?time t0?=?time.clock() T=0.40 best_params?=?dict()?#?初始化字典用以保存最佳參數(shù) best_f_score?=?-1.???#?初始化最佳F-score prev_f_score?=?-1.???#?初始化先前的F-score prev_choice?=?None???#?初始化先前選擇的參數(shù) weights?=?list(map(lambda?x:?10**x,?[0,1,2,3,4]))?#?哈希函數(shù)的權值 hash_values=set()for?iter?in?range(maxiter):print('\nIteration?=?{:5d}??T?=?{:12.6f}'.format(iter,T))#?找到以前沒有訪問過的參數(shù)的下一個選擇while?True:#?第一個選擇或選擇prev_choice的鄰居cur_choice=next_choice(prev_choice)??????????#?按參數(shù)的字母順序排列的選擇索引??indices=[tune_dic[name].index(cur_choice[name])?for?name?in?sorted([*tune_dic.keys()])]??????#?檢查選擇是否已經被訪問hash_val?=?sum([i*j?for?(i,?j)?in?zip(weights,?indices)])if?hash_val?in?hash_values:print('\n再次訪問組合?--?再次搜索') #????????tmp=abs(results.loc[:,[*cur_choice.keys()]]?-?list(cur_choice.values())) #????????tmp=tmp.sum(axis=1) #????????if?any(tmp==0):?##?selection?has?already?been?visited #????????????print('\n再次訪問組合?--?再次搜索')else:hash_values.add(hash_val)break?#?跳出while循環(huán)#?訓練模型并在驗證數(shù)據(jù)集上獲得F-scoref_score,model=do_train(cur_choice,?param,?dtrain,'train',trainY,dvalid,'valid',validY)??#?存儲參數(shù)results.loc[iter,[*cur_choice.keys()]]=list(cur_choice.values())???print('F-Score:?{:6.2f}??先前值:?{:6.2f}?目前最佳值:?{:6.2f}'.format(f_score,?prev_f_score,?best_f_score))if?f_score?>?prev_f_score:print('局部改進')???#?接受這個組合作為新的起點prev_f_score?=?f_scoreprev_choice?=?cur_choice?????#?如果F-score全局較好,則更新最佳參數(shù)if?f_score?>?best_f_score:?????????best_f_score?=?f_scoreprint('全局改進?-?最佳F-score已更新')for?(key,value)?in?prev_choice.items():best_params[key]=valueelse:?##?F-score比先前值小????????##?接受這個組合作為新的概率起點?exp(-(1.6?x?f-score?下降)/溫度)?rnd?=?random.random()diff?=?f_score-prev_f_scorethres=np.exp(1.3*diff/T)if?rnd?<=?thres:print('更糟糕的結果。F-Score 變化:?{:8.4f}??閾值:?{:6.4f}??隨機數(shù):?{:6.4f}?->?已接受'.format(diff,?thres,?rnd))prev_f_score?=?f_scoreprev_choice?=?cur_choiceelse:#?不更新以前的F-score和以前選擇的參數(shù)print('更糟糕的結果。F-Score 變化:?{:8.4f}??閾值:?{:6.4f}??隨機數(shù):?{:6.4f}?->?已拒絕'.format(diff,?thres,?rnd))#?存儲結果results.loc[iter,'F-Score']=f_scoreresults.loc[iter,'最佳F-Score']=best_f_scoreif?iter?%?5?==?0:?T=0.85*T??#?每5次迭代降低溫度并繼續(xù)???????? print('\n{:6.1f}?分鐘處理時間\n'.format((time.clock()?-?t0)/60))???? print('找到最佳變量參數(shù):\n') print(best_params)Iteration = 0 T = 0.400000 參數(shù): eta : 0.05 colsample_bytree : 0.9 scale_pos_weight : 300 gamma : 0.2 max_depth : 20 subsample : 0.5 F-Score: 0.80 先前值: -1.00 目前最佳值: -1.00 局部改進 全局改進 - 最佳F-score已更新 ...19.2 分鐘處理時間 找到最佳變量參數(shù): {'eta': 0.4, 'colsample_bytree': 1.0, 'scale_pos_weight': 50, 'gamma': 0.1, 'max_depth': 15, 'subsample': 0.5}

    對測試數(shù)據(jù)集的評估

    對測試數(shù)據(jù)集的評估結果為F-Score=0.86該結果還可以,因為需要考慮到Class的高度不平衡性。

    最好的超參數(shù)是在預期良好的范圍內。后期可以繼續(xù)優(yōu)化:

    • 縮小超參數(shù)的范圍。

    • 或許可以添加其他這里沒有使用的參數(shù)(例如,正則化參數(shù))。

    • 獲取可以在變量重要性信息的基礎上進行變量選擇。

    • 重要的是,與集成類似,可以將不同的模型組合起來。

    print('\n找到的最佳參數(shù):\n')?? print(best_params) print('\n對測試數(shù)據(jù)集的評估\n')?? best_f_score,best_model=do_train(best_params,?param,?dtrain,'train',trainY,dtest,'test',testY,print_conf_matrix=True) print('\n測試數(shù)據(jù)集上的F-score:?{:6.2f}'.format(best_f_score)) f,?(ax1,ax2)?=?plt.subplots(nrows=1,?ncols=2,?sharey=False,?figsize=(8,5)) ax1.plot(results['F-Score']) ax2.plot(results['Best?F-Score']) ax1.set_xlabel('Iterations',fontsize=11) ax2.set_xlabel('Iterations',fontsize=11) ax1.set_ylabel('F-Score',fontsize=11) ax2.set_ylabel('Best?F-Score',fontsize=11) ax1.set_ylim([0.7,0.9]) ax2.set_ylim([0.7,0.9]) plt.tight_layout() plt.show() print('\n特征重要性:\n')?? p?=?xgb.plot_importance(best_model)? plt.show()找到的最佳參數(shù):{'eta': 0.4, 'colsample_bytree': 1.0, 'scale_pos_weight': 50, 'gamma': 0.1, 'max_depth': 15, 'subsample': 0.5}對測試數(shù)據(jù)集的評估Parameters: eta : 0.4 colsample_bytree : 1.0 scale_pos_weight : 50 gamma : 0.1 max_depth : 15 subsample : 0.5 混淆矩陣 ----------------tn: 85265 fp: 18fn: 25 tp: 134

    測試數(shù)據(jù)集上的F-score:0.86

    特征重要性

    參考資料

    [1]?

    模擬退火:?https://en.wikipedia.org/wiki/Simulated_annealing

    [2]?

    啟發(fā)式搜索:?https://github.com/KSpiliop/Fraud_Detection

    [3]?

    Slideshare presentation:?https://www.slideshare.net/ShangxuanZhang/kaggle-winning-solution-xgboost-algorithm-let-us-learn-from-its-author

    [4]?

    不平衡分類的欠采樣概率校準:?http://www.oliviercaelen.be/doc/SSCI_calib_final.pdf

    [5]?

    Official XGBoost Guide:?http://xgboost.readthedocs.io/en/latest/parameter.html

    [6]?

    Notes on Parameter Tuning:?http://xgboost.readthedocs.io/en/latest/how_to/param_tuning.html

    [7]?

    Analytics Vidhya:?https://www.analyticsvidhya.com/blog/2016/03/complete-guide-parameter-tuning-xgboost-with-codes-python/

    [8]?

    Second Slideshare presentation:?https://www.slideshare.net/odsc/owen-zhangopen-sourcetoolsanddscompetitions1

    往期精彩回顧適合初學者入門人工智能的路線及資料下載機器學習及深度學習筆記等資料打印機器學習在線手冊深度學習筆記專輯《統(tǒng)計學習方法》的代碼復現(xiàn)專輯 AI基礎下載黃海廣老師《機器學習課程》視頻課黃海廣老師《機器學習課程》711頁完整版課件

    本站qq群955171419,加入微信群請掃碼:

    總結

    以上是生活随笔為你收集整理的【机器学习】信用卡欺诈检测|用启发式搜索优化XGBoost超参数的全部內容,希望文章能夠幫你解決所遇到的問題。

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

    97在线看| 在线a亚洲视频播放在线观看 | 欧美在线aaa| 久久免费视频观看 | 国产网红在线观看 | 久久国产精品久久精品国产演员表 | 成年人免费在线观看网站 | 国产特级毛片aaaaaaa高清 | 美腿丝袜一区二区三区 | 西西444www大胆高清视频 | 日韩理论电影在线观看 | 黄a网站| 日韩一区正在播放 | 久草爱视频 | 国产综合香蕉五月婷在线 | 久草成人在线 | av福利在线免费观看 | 欧美淫aaa免费观看 日韩激情免费视频 | 亚洲精品短视频 | 91插插视频 | 超碰在线人人 | 香蕉久草在线 | 色播五月激情综合网 | a级国产片| 四虎成人精品永久免费av | 五月天婷亚洲天综合网精品偷 | 国产精品免费观看网站 | 久久国产系列 | 精品国产乱码一区二 | 久久露脸国产精品 | 国产只有精品 | 五月婷在线视频 | 国产一区二区视频在线播放 | 国产91小视频 | 97超碰在线视 | 国产在线观看 | 一区二区三区四区在线免费观看 | 中文字幕精品在线 | 97夜夜澡人人爽人人免费 | 中日韩欧美精彩视频 | 亚洲区另类春色综合小说 | 亚洲精品久久久久久久不卡四虎 | 911久久香蕉国产线看观看 | 免费日韩电影 | 中文不卡视频 | 日韩欧美在线免费观看 | 99久久精品免费看 | 午夜精品av| 免费在线看v | 99精品视频免费看 | 最近中文字幕大全中文字幕免费 | 超碰资源在线 | 丁香视频全集免费观看 | 午夜久久影视 | 97人人艹| 美女久久久久久 | 久久亚洲电影 | 国产精品九色 | 精品免费观看视频 | 狠狠色丁香婷婷综合基地 | 国产一区 在线播放 | 成人免费在线观看av | 国产日产精品一区二区三区四区的观看方式 | 欧美日韩免费在线视频 | 五月天最新网址 | 天天婷婷 | 色橹橹欧美在线观看视频高清 | 四虎国产 | 成人毛片久久 | 久久综合狠狠综合 | 欧美日韩中文在线观看 | 久久激情五月婷婷 | 亚洲色图激情文学 | 91麻豆精品91久久久久同性 | 色婷婷激情综合 | 毛片的网址 | 99精品国产一区二区 | 深夜免费小视频 | 久久久99精品免费观看app | 日韩高清一区在线 | 日本大尺码专区mv | 久久久久在线观看 | 新版资源中文在线观看 | 天天翘av| 日韩精品欧美一区 | 二区三区视频 | 日本不卡一区二区 | 亚洲专区欧美专区 | 国产成人一区二区三区在线观看 | 婷婷伊人综合亚洲综合网 | 一区二区不卡视频在线观看 | 黄色成人免费电影 | 欧美成人精品三级在线观看播放 | 亚洲精品在线观看视频 | 91av视频| 久久刺激视频 | 91香蕉视频色版 | 丁香av在线 | 免费福利视频网站 | 欧美日韩中文字幕综合视频 | 综合在线观看色 | 亚洲成人蜜桃 | 国产成人精品av久久 | 97色se | 亚洲欧美成人综合 | 国产一区免费观看 | 欧美天堂影院 | 国产日韩欧美精品在线观看 | 欧美日韩在线观看不卡 | 日韩电影精品 | 欧美一级片在线播放 | 精品在线一区二区三区 | 日韩精品免费一区二区在线观看 | 国内成人精品2018免费看 | 日韩理论片在线观看 | 国产高清在线免费 | 色综合久久久久综合体桃花网 | 97超碰中文字幕 | 欧美一区二区三区在线播放 | 亚洲精品短视频 | 日韩一区二区三区观看 | 亚洲国产精品久久久久久 | 最近字幕在线观看第一季 | 日韩久久电影 | 黄色一级大片在线免费看国产一 | 国产精品激情偷乱一区二区∴ | 久久午夜色播影院免费高清 | 亚洲免费在线视频 | 99久久国产免费看 | 91在线www| 亚洲精品视频在线免费播放 | 日韩精品一二三 | 亚洲综合射 | 国产成人香蕉 | 欧美夫妻性生活电影 | av免费高清观看 | 成在线播放 | 国产亚洲精品久久19p | 亚洲免费av观看 | 欧美成人在线免费 | 国产在线2020| 久久久久久毛片精品免费不卡 | 黄p网站在线观看 | 欧美激情第八页 | 国产在线精品二区 | 久久综合色播五月 | 欧美精品久久久久久久久久 | 成年人免费在线观看 | 久久首页 | 久久国产精品99国产精 | 91精品免费在线视频 | 国产精品99久久免费黑人 | 亚洲日本va午夜在线影院 | 日韩美在线观看 | 久久久久久网址 | 中文字幕电影在线 | 2019中文 | 97在线观看视频国产 | 亚洲狠狠 | 激情文学综合丁香 | 青青河边草免费观看 | 日本中文字幕系列 | 中文免费 | 午夜精品久久久久久久99 | 久久久国产一区二区 | 久久伦理| 特黄特色特刺激视频免费播放 | 亚洲国产精品成人综合 | 永久免费av在线播放 | 五月婷婷免费 | 国产在线观看91 | 日韩欧美亚州 | 在线播放第一页 | 成人精品视频久久久久 | 亚洲最新在线 | 久久久在线观看 | 久久中文字幕在线视频 | 国产一区二区三区高清播放 | 久久久久久久免费看 | a级片在线播放 | 久久色在线播放 | 国产区在线 | 91精品视频网站 | 色小说在线 | 狠狠干综合 | 欧美日韩视频网站 | 亚洲精品高清在线 | 成人久久精品 | 丰满少妇一级片 | 久久午夜视频 | 天天爱天天| 免费观看一级特黄欧美大片 | 色播99| 欧美一级视频免费看 | 日本狠狠色 | 久久午夜免费观看 | 一区二区三区免费在线观看视频 | 国产免费观看视频 | 夜夜躁狠狠躁日日躁视频黑人 | 8x成人免费视频 | 美女在线黄 | 日韩激情网| 国产精品免费久久久久影院仙踪林 | 欧美大片在线看免费观看 | 狠狠操操操 | 激情五月婷婷网 | 久久国产精品久久精品 | 国产91亚洲精品 | 国产激情免费 | 久久久久久久久久电影 | 免费中文字幕视频 | 日韩免费在线看 | 狂野欧美激情性xxxx | 日日夜夜免费精品 | 国产91成人 | 日韩精品在线播放 | 婷婷丁香色 | 中文字幕 国产视频 | 国产精品毛片一区二区在线看 | 国产精品黄网站在线观看 | 日日爽| 丁香在线视频 | 99草在线视频 | 国产一级视频在线观看 | 午夜在线日韩 | 午夜美女网站 | 免费在线观看成人 | 国产精品嫩草影院99网站 | 天天操夜夜操国产精品 | 精品视频99 | 狠狠色噜噜狠狠狠合久 | 天天爽天天碰狠狠添 | 国产综合精品久久 | 亚洲一级性 | 国产精品门事件 | 在线观看中文字幕亚洲 | 97超碰国产精品 | 日韩午夜一级片 | 美女一级毛片视频 | 成年人在线免费看视频 | 五月激情婷婷丁香 | 亚洲欧美成人综合 | 在线观看免费视频你懂的 | 超碰人人在线观看 | 国产色在线,com | 久久免费大片 | 麻豆视频入口 | 成年人视频免费在线播放 | 国产h在线播放 | 91免费高清视频 | 99久久精品国产一区二区三区 | 久热av | 日韩免费一区二区在线观看 | 国产成人久久精品77777综合 | 久久av在线| 91桃花视频 | 丁香婷婷综合激情五月色 | 久久久久久久国产精品 | 国产区高清在线 | 99人久久精品视频最新地址 | 波多野结衣久久资源 | 国产又黄又爽又猛视频日本 | 欧美精品在线观看免费 | 少妇bbw揉bbb欧美 | 久久66热这里只有精品 | 国产高清视频在线免费观看 | 久久久电影 | 国产黄色精品在线 | 亚洲三级影院 | 三级av免费| 欧美成人性网 | 综合五月 | 日韩精品视频免费在线观看 | 久操视频在线 | 国产精品久久一区二区三区不卡 | 国产亚洲婷婷免费 | 免费av在线网 | 久久久久久久av | 国产日产精品久久久久快鸭 | 91av亚洲| 亚洲视频免费视频 | 韩日av一区二区 | 久久夜色精品国产欧美乱极品 | 日本福利视频在线 | 天天色影院 | 在线视频观看国产 | 国产亚洲精品久久久久久久久久 | 欧美男男激情videos | 久久精品久久99精品久久 | 中文在线a√在线 | 国产69精品久久久久久久久久 | 色网站中文字幕 | 在线观看黄污 | 97超碰在线播放 | 九九免费在线看完整版 | 天天天天天操 | 欧美一区二区视频97 | 成人综合日日夜夜 | 久久午夜电影院 | 久久国产精品久久久 | 国产资源在线播放 | 美女视频久久 | 91精品一区二区三区蜜桃 | 亚洲国产精品成人综合 | 91看成人 | 欧美成人91 | 天天操天天射天天插 | 99精品视频在线观看 | 亚洲视频456 | 国产午夜精品一区二区三区欧美 | 亚洲人久久 | 久久深夜福利免费观看 | 91精品国产成人观看 | 有码中文在线 | 国产91亚洲精品 | 91自拍成人 | 国产99久久久精品 | 国产高清视频在线播放 | av看片网 | 亚洲天堂网站 | 精品国产乱码久久久久久1区二区 | 成年人在线电影 | 国产精品视频全国免费观看 | 国产精品久久一区二区无卡 | 日韩精品久久久久久久电影99爱 | 亚洲一区不卡视频 | 欧美日韩中文另类 | 婷婷去俺也去六月色 | 97超碰免费在线 | 91福利免费 | 天天躁日日躁狠狠躁 | 2019中文最近的2019中文在线 | 一区二区视频电影在线观看 | 91视频麻豆视频 | 99久久er热在这里只有精品66 | 久久最新网址 | 91麻豆精品 | 国产成人综合在线观看 | 又黄又爽的免费高潮视频 | 国产成人福利 | 看黄色.com| 国产精品久久久久影院 | 欧美一级艳片视频免费观看 | 国产91学生粉嫩喷水 | 亚洲 综合 国产 精品 | 日韩高清www | 国产精品自产拍在线观看网站 | 麻豆av一区二区三区在线观看 | 亚洲成人免费观看 | 国产五月天婷婷 | 一区二区三区四区五区在线 | 性色在线视频 | 亚洲视频电影在线 | 91久久奴性调教 | 欧美不卡视频在线 | 91网址在线观看 | 亚洲综合在线发布 | 久久精品99视频 | 亚洲有 在线| 热久久这里只有精品 | 天天操夜夜操 | 五月婷婷激情六月 | av中文在线影视 | 亚洲精品女人久久久 | 国产剧情在线一区 | 天天做天天射 | 亚洲免费a | 视频直播国产精品 | 日韩r级电影在线观看 | 亚洲国产精品免费 | 亚洲精品男人天堂 | 久久99这里只有精品 | 色噜噜在线观看视频 | www黄在线 | 欧美午夜a | 麻豆国产精品视频 | 日本三级国产 | 国产三级国产精品国产专区50 | 99色在线观看视频 | 国产福利小视频在线 | 黄色中文字幕 | 亚洲国产激情 | 亚洲精品一区二区三区高潮 | 国产护士在线 | 日韩久久精品一区二区 | 国产午夜精品久久久久久久久久 | 久久久国产精品久久久 | 99精品视频精品精品视频 | 国产免费观看高清完整版 | 欧美日韩中文在线 | 免费网站色 | 美女免费视频一区二区 | 国产综合福利在线 | 亚洲精品18p | 午夜精品一区二区三区免费 | 四虎在线免费观看视频 | 夜夜看av | 摸阴视频 | 国产精品久久久av久久久 | 国产精品精品久久久 | 日日夜夜操操 | 天天干天天想 | 成人在线你懂得 | 久久综合色天天久久综合图片 | 亚洲欧洲国产视频 | 久久精品99久久久久久 | 久久国语| 久久国产精品99久久人人澡 | 在线播放国产一区二区三区 | 亚洲成人资源在线 | 久久人人爽| www色com| a特级毛片| 98超碰人人 | 亚洲精品1234区 | 91精品国产乱码在线观看 | 9幺看片| 久久久久久高潮国产精品视 | 三级黄色a| 曰韩在线| 亚洲欧美视频一区二区三区 | 亚洲综合视频在线观看 | 欧美视频不卡 | av看片网 | 伊人网av | 色资源网在线观看 | 色七七亚洲影院 | 一区二区三区四区五区在线 | 国产不卡免费视频 | 国产精品五月天 | 国产精品久久99综合免费观看尤物 | 国产精品专区在线观看 | 91精品在线视频 | 亚洲精品国偷自产在线99热 | 久久夜靖品| 欧美激情视频久久 | 久久精品美女视频 | 91麻豆精品国产91久久久久久久久 | 欧美在线一二区 | 免费国产一区二区 | 国产系列在线观看 | 精品国产一区二区三区久久影院 | 伊人久久影视 | 国产一区成人在线 | 久久免费视频8 | 欧洲精品久久久久毛片完整版 | 亚洲日韩欧美一区二区在线 | 国产精品资源在线观看 | 久久国语| 不卡日韩av | 亚洲免费激情 | 日韩字幕在线 | 久久综合五月天婷婷伊人 | 欧美激情综合色 | 91桃色在线观看视频 | 国产精品s色 | 伊人五月天综合 | 欧美综合干 | 日本中文不卡 | 国产精品麻豆视频 | 久久女同性恋中文字幕 | 中文字幕888 | 国产女人40精品一区毛片视频 | 久久国产欧美日韩精品 | 国内精品久久久久影院优 | 久久五月婷婷丁香社区 | 国产一线在线 | 日韩免费中文 | 婷婷五天天在线视频 | 国产精品免费视频观看 | 91插插插免费视频 | 波多野结衣日韩 | 亚洲无吗天堂 | 91成版人在线观看入口 | 亚洲最大激情中文字幕 | 91超在线 | 成人动态视频 | 在线导航av | 久久这里只有精品视频首页 | 久久99这里只有精品 | 日本黄色免费网站 | 欧美成人在线免费 | 成人一区二区在线 | 国产91全国探花系列在线播放 | 免费电影一区二区三区 | 中文字幕一区二区三区乱码在线 | 激情开心站 | 精品在线观看一区二区三区 | 色婷婷精品大在线视频 | 久久国产精品久久精品国产演员表 | 国产一区二区精 | 中文av不卡| 久久高清av | 中文字幕久久网 | 在线观看免费成人av | 国产精品午夜在线观看 | 免费观看午夜视频 | 91日韩在线播放 | 欧美a性| 亚洲国产成人在线播放 | 欧美一区二区三区在线看 | av在线com| 超碰个人在线 | 久色伊人 | 久久综合色婷婷 | 国产一级在线播放 | 国产精品免费观看视频 | 亚州av成人 | 免费黄色激情视频 | 天天天干天天射天天天操 | 国产精品久久久免费 | 99精品一区二区三区 | 亚洲精品国产视频 | 天天操网址 | 亚洲精品免费播放 | 超碰97久久 | 久久久久久久久久亚洲精品 | 玖玖国产精品视频 | 久久99国产精品自在自在app | 亚州精品一二三区 | 九九99靖品 | 69精品人人人人 | 日本精品视频一区二区 | 亚洲综合激情 | 久草在线官网 | 午夜91视频 | 国产视频2区 | av在线电影播放 | 精品色999 | 日日激情 | 黄色视屏免费在线观看 | 人人爽人人爽人人爽学生一级 | 免费网址在线播放 | 天天干天天做 | 日韩中文字幕a | 欧美成人精品欧美一级乱 | 国产中文字幕第一页 | 一二三四精品 | 久久久久99精品国产片 | 亚洲欧美日韩国产一区二区三区 | 国内精品久久久久影院一蜜桃 | 欧美日韩综合在线 | 亚州中文av | 亚洲一二三在线 | 国产日本在线 | 国产裸体bbb视频 | 最新国产精品亚洲 | 麻豆传媒视频观看 | 日韩大片在线免费观看 | 四虎在线观看视频 | 久草视频在线资源 | 婷婷五月情 | 精品国产一区在线观看 | 一级理论片在线观看 | 91毛片在线观看 | 欧美色图视频一区 | 日韩a免费 | 成人久久18免费 | www久久 | 黄色一区三区 | 青草视频在线 | 久久99久久久久 | 亚洲成人午夜在线 | 日日夜夜精品 | 91高清一区 | 麻豆国产露脸在线观看 | 国产黄网在线 | 福利视频区| 在线а√天堂中文官网 | 91大片网站 | 久久国内精品 | 色天天久久 | 中文字幕在线观看2018 | 免费一级片视频 | 中文字幕久久久精品 | 亚洲在线日韩 | 午夜婷婷网 | 日本久久电影 | av黄免费看| 欧美少妇影院 | 日日干夜夜干 | 欧美日韩伦理在线 | 久久婷婷激情 | 97爱爱爱| 精品日本视频 | 手机在线看片日韩 | 日日干综合| 在线免费观看麻豆 | 国产a国产 | 久久精品国产亚洲aⅴ | wwwwww色| 日本黄区免费视频观看 | 久久久久久久久久久综合 | 99久久久国产精品免费99 | 激情视频在线观看网址 | 欧美日本一区 | av电影一区二区 | 国产一区电影在线观看 | 日韩中文字幕在线 | 天天草天天干 | 国产a网站 | 精品国产一二三四区 | 国产一区二区三区高清播放 | 久久99久久久久 | 日韩精品高清视频 | 天天插日日射 | 国产美女精彩久久 | av爱干| 国产第一页在线观看 | 国产成人a亚洲精品v | 久久精品免费电影 | 麻豆va一区二区三区久久浪 | 亚洲一区不卡视频 | 日韩大片免费在线观看 | 色婷婷综合成人av | 欧美 国产 视频 | 亚洲va欧美va | 91精品视频一区二区三区 | 九九涩涩av台湾日本热热 | 黄色片网站 | 夜夜夜夜猛噜噜噜噜噜初音未来 | 日韩精品短视频 | 97精品在线| 中文字幕电影一区 | 天天射天天操天天干 | 日本丶国产丶欧美色综合 | 91成人免费看 | 中文字幕在线观看视频一区二区三区 | 免费网站看av片 | 国产精品一区久久久久 | 国产经典 欧美精品 | 中文字幕亚洲五码 | 欧美美女视频在线观看 | 一区 二区 精品 | 日韩中文字幕在线不卡 | 欧美日韩精品国产 | 欧美国产日韩在线视频 | 成人黄色大片网站 | 欧美疯狂性受xxxxx另类 | 日韩在线观看第一页 | 激情视频久久 | 五月天网页 | 狠色在线 | 视频二区在线 | 欧美日韩国内在线 | 美女在线免费观看视频 | 久久久亚洲精华液 | 日韩一级成人av | 波多野结衣一区二区 | 亚洲精品视频免费看 | 中文字幕超清在线免费 | 蜜臀久久99精品久久久酒店新书 | 亚洲精品国产精品乱码在线观看 | 久久久久久久久久久久99 | 中文字幕中文字幕 | 免费看毛片网站 | 1024手机基地在线观看 | 亚洲国产视频在线 | 国产精品k频道 | 91国内产香蕉 | 182午夜在线观看 | 免费在线一区二区 | av在线免费不卡 | 久久精品高清视频 | 99精品免费久久久久久日本 | 久草在线费播放视频 | 又黄又爽的视频在线观看网站 | 久射网| 日韩在线免费播放 | 国产精品久久精品国产 | 九九热久久免费视频 | 国产99久久久国产精品成人免费 | 92国产精品久久久久首页 | 成人中文字幕在线 | 日韩大片免费观看 | 国产日韩精品视频 | 波多野结衣亚洲一区二区 | 国产女人40精品一区毛片视频 | 免费av在线网站 | 国产成人精品午夜在线播放 | 黄色av一区二区三区 | 视频一区视频二区在线观看 | 99国产精品久久久久老师 | 国产精品久久久久久高潮 | 午夜久久福利影院 | 三级在线国产 | 亚洲欧美日韩一区二区三区在线观看 | 中文字幕在线一区观看 | 成人综合婷婷国产精品久久免费 | 中文在线中文a | 国产在线综合视频 | 成人精品电影 | 国产黄色在线网站 | 国产麻豆果冻传媒在线观看 | 久草在线播放视频 | www99久久 | 久久精品视频在线观看 | 亚洲 欧美 综合 在线 精品 | 久久毛片网站 | 国产精品免费视频网站 | 久久久91精品国产 | 国产精品粉嫩 | 成人午夜影视 | 一区二区三区动漫 | 亚洲国产精品成人综合 | 91视频久久久久久 | 欧美日本啪啪无遮挡网站 | 国产精品午夜久久久久久99热 | 黄网站免费看 | 日韩高清一区二区 | 免费三级大片 | 国产精品久久久久高潮 | 国产成人黄色在线 | 天天草天天草 | 国产精品久久久久久模特 | 久久国产美女视频 | 色婷五月天 | 国产一区二区三区免费在线 | 天天插综合 | 欧美精品久久久久久久亚洲调教 | 在线观看91久久久久久 | 在线看国产精品 | 在线色资源| 国产在线免费av | 成人网大片| 中文字幕观看av | 国产精品久久网 | 麻豆视频免费入口 | 黄色av影视 | 婷婷视频在线 | 日日操日日插 | 久久婷婷一区二区三区 | 日韩一二区在线观看 | 欧洲激情在线 | 九九九九精品九九九九 | 99久久99久久 | 四虎影视8848aamm | 欧美精品中文在线免费观看 | 色丁香色婷婷 | 99精品在线免费观看 | 免费高清在线一区 | 日韩毛片久久久 | 国产精品久久精品 | 国产免费一区二区三区最新6 | 在线草| 亚洲资源在线 | 中文字幕在线观看第二页 | 狠狠躁夜夜躁人人爽超碰91 | 免费午夜网站 | 国产精品成人一区二区三区吃奶 | 国产第页 | 日韩电影久久久 | 成人福利av| 视频在线日韩 | 国产91大片 | 天天想夜夜操 | 热久久免费视频 | 久久伦理电影 | 亚洲日本一区二区在线 | 高清av免费观看 | 日韩精品亚洲专区在线观看 | 欧美日韩久 | 久久人91精品久久久久久不卡 | 国产在线不卡视频 | 99爱这里只有精品 | 国产成人一二三 | 中文字幕一区二区三区在线播放 | 亚州国产精品 | 欧美少妇18p | 亚洲免费观看在线视频 | 色婷婷国产在线 | av大全在线播放 | 精品美女国产在线 | 亚洲国产中文在线 | 美国三级黄色大片 | 日本最新中文字幕 | 激情小说网站亚洲综合网 | 91成年人在线观看 | 丁五月婷婷 | 国产高清av在线播放 | 日韩黄视频 | 九九影视理伦片 | 亚洲精品国产精品国产 | 久草精品在线观看 | 久久久一本精品99久久精品 | 国产99久久九九精品免费 | 欧美成亚洲 | 激情综合六月 | sesese图片| 亚洲精品在线资源 | 在线观看91网站 | 久青草国产在线 | 99视频在线播放 | 中文字幕在线免费97 | 夜夜爽www| 久久69精品久久久久久久电影好 | 91精品视频在线观看免费 | 亚洲精品66 | 久久国产精品99国产 | 中文字幕视频一区 | 中文字幕在线观看第三页 | 国内精品二区 | 精品99久久 | 丁香六月网 | 色婷婷电影 | 韩国av电影网 | www免费看| 一级淫片在线观看 | 成人资源在线观看 | 超级av在线 | 蜜臀91丨九色丨蝌蚪老版 | 91最新网址在线观看 | 免费亚洲成人 | 欧美精品一区在线 | 国产精品精品久久久久久 | 成人黄色在线看 | 久久99久国产精品黄毛片入口 | 久久综合九色综合欧美就去吻 | 国模一区二区三区四区 | 免费日韩电影 | 欧美在线久久 | 日韩高清精品一区二区 | 一级理论片在线观看 | 狠狠色丁香婷婷综合久久片 | 99国产视频| 国产精品综合久久久久久 | 亚洲男男gaygayxxxgv | 国产亚洲精品电影 | 成人在线观看网址 | 综合网久久 | www.玖玖玖 | 亚洲成人av电影 | 天天操天天是 | 国产精品18久久久 | 久久国色夜色精品国产 | 五月婷婷在线综合 | 久久综合亚洲鲁鲁五月久久 | 97在线看 | 日韩在线三区 | 在线视频 国产 日韩 | 国产精品对白一区二区三区 | 综合中文字幕 | 中文字幕精品www乱入免费视频 | 久久99操| 国产色婷婷精品综合在线手机播放 | 美女天天操 | 香蕉97视频观看在线观看 | 色狠狠狠| 久久免费av电影 | 精品国产一区二区三区四 | 91大神一区二区三区 | 免费看一级特黄a大片 | 一区 二区电影免费在线观看 | 超碰av在线 | 久久狠狠婷婷 | 高清av在线免费观看 | 在线观看黄色的网站 | 国产视频2021| 日韩av免费大片 | 久久天| 欧美性天天 | 天天爽夜夜爽人人爽一区二区 | 国产一区二区三区免费观看视频 | 日韩艹 | 精品一区电影国产 | 黄网站色视频免费观看 | 久草在线免费新视频 | 99久高清在线观看视频99精品热在线观看视频 | 992tv在线成人免费观看 | 日韩高清一区二区 | 久一在线| 国产一区在线不卡 | 午夜精品久久久久久久99热影院 | 欧日韩在线视频 | 国产精品9999久久久久仙踪林 | www.91av在线 | 美女视频久久黄 | 黄色av成人在线观看 | 不卡电影免费在线播放一区 | 一本一本久久a久久精品综合 | 在线电影日韩 | 日本在线观看一区二区 | 亚洲精品美女久久久久网站 | 夜夜高潮夜夜爽国产伦精品 | 成人片在线播放 | 国产中文字幕av | 欧美精品久久人人躁人人爽 | 99视频在线免费观看 | 国产午夜麻豆影院在线观看 | av色网站| 91视频 - 114av | 久久激五月天综合精品 | av在线免费观看不卡 | 美女黄频在线观看 | 亚洲精品www久久久久久 | 日韩av不卡在线 | 欧美日韩啪啪 | 色婷婷狠狠18 | 久色婷婷 | 久香蕉| 久久久久久久久久久久久久电影 | 欧美日韩精品在线免费观看 | 伊人精品影院 | 色综合天天综合在线视频 | 888av| 美女网站在线免费观看 | www.久草.com | 久久精品国产一区二区三 | 91九色成人蝌蚪首页 | av色一区 | 一区二区三区四区影院 | 国产午夜影院 | 欧美精品一区二区性色 | 米奇四色影视 | 国产999视频在线观看 | 岛国大片免费视频 | 激情久久综合网 | 在线观看成人一级片 | 中文字幕欧美日韩va免费视频 | av不卡中文字幕 | 日韩欧美综合精品 | 日韩网站视频 | 色吊丝av中文字幕 | 天天操夜夜逼 | 亚洲人成在线电影 | 国产精品一区二区久久国产 | 国产成人综合在线观看 | 在线看片一区 | 中文字幕在线观看的网站 | 国产精品原创av片国产免费 | 中文字幕在线视频一区 | 日韩在线视频精品 | 久久激情五月丁香伊人 | 欧美日韩国产在线 | 99午夜| 欧美成人精品三级在线观看播放 | 久久久久国产一区二区三区四区 | 午夜10000 | 一区二区三区四区精品 | 国产精品丝袜久久久久久久不卡 | 99久久久国产精品 | 久久国产精品成人免费浪潮 | 日韩激情三级 | www.狠狠操.com | 九九九热精品免费视频观看网站 | 久久久久久久网站 | 免费三级大片 | 久久久影片 | 欧美三人交 | 亚洲精品国偷拍自产在线观看 | 狠狠狠狠狠狠狠狠干 | 亚洲更新最快 | 五月天六月婷 | 欧美一级电影在线观看 | 国产精品欧美一区二区 | 天天摸天天操天天爽 | 国产精品美女久久久久久久网站 | 欧美贵妇性狂欢 | 色久天| 日韩精品久久久久久久电影99爱 | 成人黄视频| 国产91亚洲精品 | 日本黄色大片免费看 | 福利久久久 | 国产精品久久二区 | 精品一区久久 | 91高清在线 | 国产精品久久久久久久久久久久午夜 | 美女视频黄在线观看 | 国产色道 | 久久网站av | 日韩欧美综合 | 激情丁香婷婷 | 亚洲一级片在线看 | 成 人 黄 色 片 在线播放 | 中文字幕在线观看一区二区三区 | 欧美日韩在线电影 | 中文区中文字幕免费看 | 国产一区二区在线免费视频 | 久久精品免费观看 | 日韩资源在线观看 | 亚洲专区在线播放 | 日韩欧美视频免费看 | 亚洲资源在线网 | 黄色网www| 成人影片在线播放 | 在线观看视频黄色 | www.久久色 | 911香蕉| 成年人在线看片 | 中文乱码视频在线观看 | 国产在线观看污片 | 91天堂在线观看 | 奇米影视777四色米奇影院 | 亚洲五月综合 | 欧美日本日韩aⅴ在线视频 插插插色综合 | 在线视频精品播放 | 国产高清视频在线播放 |