99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運營的一線實戰(zhàn)洞察。

從梯度提升決策樹到CatBoost:類別特征、有序提升與參數(shù)調(diào)優(yōu)實戰(zhàn)

從梯度提升決策樹到CatBoost:類別特征、有序提升與參數(shù)調(diào)優(yōu)實戰(zhàn) 簡介面向具備Python與機(jī)器學(xué)習(xí)基礎(chǔ)的中高級研發(fā)人員、數(shù)據(jù)科學(xué)家這份CatBoost梯度提升決策樹技術(shù)報告聚焦分類、回歸、排序任務(wù)中的模型構(gòu)建與特征優(yōu)化系統(tǒng)展開特征工程、模型調(diào)優(yōu)、并行計算、可視化及可解釋性等高級實踐可幫助讀者高效應(yīng)對金融、醫(yī)療、教育等場景的結(jié)構(gòu)化數(shù)據(jù)建模問題。壓縮包內(nèi)含1個docx文檔包體約14KB文檔按核心概述、技術(shù)架構(gòu)、最佳實踐等模塊編排既涵蓋數(shù)據(jù)清洗、缺失值處理、特征轉(zhuǎn)換、模型定制等完整流程又通過CatBoostClassifier、CatBoostRegressor、CatBoostRanker三類基礎(chǔ)示例以及特征選擇、網(wǎng)格搜索、線程加速等進(jìn)階代碼直觀演示了從數(shù)據(jù)準(zhǔn)備到模型評估的落地路徑。報告還介紹了2026年最新特性包括訓(xùn)練速度與內(nèi)存占用優(yōu)化、Python 3.10支持及安全增強(qiáng)便于開發(fā)者在最新環(huán)境下直接應(yīng)用。已有21人學(xué)習(xí)適合希望結(jié)合pandas、scikit-learn、SHAP生態(tài)構(gòu)建端到端可解釋性機(jī)器學(xué)習(xí)管線的技術(shù)人員為實際項目中的參數(shù)調(diào)整與性能優(yōu)化提供清晰參考。1. 機(jī)器學(xué)習(xí)里重新評估梯度提升決策樹CatBoost 為什么值得單獨跑一遍做點擊率預(yù)估的時候我第一次把 CatBoost 放進(jìn)候選模型里。那批數(shù)據(jù)的類別列占了一半缺失值、字符串、高低基數(shù)混在一起。拿到同樣一份特征LightGBM 需要先做一大堆編碼預(yù)處理CatBoost 這邊卻只要把類別列名傳進(jìn) cat_features訓(xùn)練就能跑起來并且效果沒有往下掉。這種情況在梯度提升決策樹Gradient Boosting Decision TreeGBDT的模型族里不太常見。CatBoost 把兩件事做得很徹底一是類別特征的原生目標(biāo)編碼二是有序提升Ordered Boosting的防泄漏機(jī)制。前者大幅降低特征工程的手工工作后者讓訓(xùn)練過程中的預(yù)測偏差更小所以它在分類、回歸、排序三類任務(wù)上都有一席之地。這篇實戰(zhàn)筆記按照「機(jī)制 → 特征工程 → 參數(shù)調(diào)優(yōu) → 避坑」的順序把基于 CatBoost 的梯度提升決策樹模型構(gòu)建路徑完整過一遍。適合剛跑通 XGBoost 或者 LightGBM、想在真實數(shù)據(jù)上比較模型差異的從業(yè)者也適合從零接觸機(jī)器學(xué)習(xí)、需要一套能解釋原理的可復(fù)現(xiàn)方案的讀者。后面所有代碼我都按可直接粘貼到 Jupyter 或命令行腳本里的方式寫。2. CatBoost 的梯度提升決策樹機(jī)制對稱樹、有序提升與原生類別編碼2.1 對稱樹與有序提升CatBoost 在底層解決的兩個問題梯度提升決策樹的核心是每一輪擬合前一輪損失的負(fù)梯度逐步把殘差壓下來。CatBoost 沒有跳出這個框架它改動的是兩處實現(xiàn)細(xì)節(jié)樹的結(jié)構(gòu)和梯度的計算方式。樹的結(jié)構(gòu)上CatBoost 默認(rèn)使用對稱樹oblivious trees。普通梯度提升樹在每個節(jié)點都可以選不同的特征和閾值而對稱樹在每一層強(qiáng)制使用同一個特征、同一個分裂閾值所有葉子共享這一層的分裂規(guī)則。代價是單棵樹的表達(dá)能力弱一點換來兩個實際好處一是樹的形狀固定預(yù)測時可以用數(shù)組連續(xù)存儲推理速度快二是結(jié)構(gòu)更規(guī)則在小樣本和高噪聲數(shù)據(jù)上不容易把局部模式記死過擬合風(fēng)險低一些。實際調(diào)參時這類樹的深度通常要比 XGBoost 里深一點我常用的起步值是 depth6數(shù)據(jù)量大的時候試過 8。梯度的計算方式上CatBoost 做了件事叫 Ordered Boosting。經(jīng)典 GBM 在計算第 k 個樣本的梯度時用的模型已經(jīng)包含過這個樣本自身的信息這樣會產(chǎn)生預(yù)測偏移訓(xùn)練損失會比真實損失小尤其在小數(shù)據(jù)集上表現(xiàn)明顯。CatBoost 的做法是給樣本做一個隨機(jī)排列對排列中的每個位置只用該位置之前的樣本訓(xùn)練一個臨時模型再用這個模型來更新當(dāng)前樣本的梯度。這樣梯度的估計就“干凈”了不再直接依賴樣本自身的標(biāo)簽訓(xùn)練曲線和驗證曲線也不會拉開得太難看。這兩個機(jī)制疊加再加上類別特征的 Target Statistics 編碼構(gòu)成了 CatBoost 在中小規(guī)模表格數(shù)據(jù)上比 XGBoost 和 LightGBM 更穩(wěn)的底層原因。排序任務(wù)里同一個 query 下的文檔之間是有關(guān)聯(lián)的模型的穩(wěn)定性直接影響最終指標(biāo)這也是 CatBoost 在搜索排序場景被廣泛使用的原因。2.2 用 Pool 組織數(shù)據(jù)cat_features 與 text_features 的顯式聲明CatBoost 訓(xùn)練前我習(xí)慣先把數(shù)據(jù)包成 Pool 對象。Pool 的好處是讓數(shù)據(jù)集、標(biāo)簽、類別特征聲明、分組信息固定在同一份結(jié)構(gòu)里后面訓(xùn)練、驗證、特征重要性計算都復(fù)用它不容易出現(xiàn)切分后“聲明丟失”的問題。from catboost import Pool import pandas as pd df pd.read_csv(sample.csv) X df.drop(columns[label]) y df[label] # 類別特征列字符串或整數(shù)都行但一定要顯式列出來 cat_features [channel, region, device, hour] # text_features 放文本原始內(nèi)容CatBoost 內(nèi)部自己分詞 text_features [title, description] pool Pool( X, y, cat_featurescat_features, text_featurestext_features, )這一段最關(guān)鍵的是聲明順序。cat_features 和 text_features 傳的是列名CatBoost 會自動去 DataFrame 里找對應(yīng)的列如果你喂的是 numpy 數(shù)組就得改成傳列索引否則字符串列在內(nèi)部會被當(dāng)成類別特征以外的東西處理。另一個容易忽略的點是如果某一列你既沒放進(jìn) cat_features又不是純數(shù)值CatBoost 在訓(xùn)練時會直接報錯而不是幫你自動推斷。Pool 里還可以傳 group_id這是排序任務(wù)專用的參數(shù)。后面 4.4 節(jié)會專門講 group_id 在排序任務(wù)里的作用這里先記住一句話凡是多個樣本屬于同一個 query 的排序數(shù)據(jù)group_id 必須和 Pool 綁定否則 CatBoost 找不到組邊界排序損失函數(shù)無從計算。2.3 分類、回歸、排序最小訓(xùn)練代碼從 Logloss 到 YetiRank先看分類任務(wù)。二分類最常用的損失函數(shù)是 Logloss評估指標(biāo)業(yè)務(wù)選 AUC 或者 Accuracy。下面的代碼是能跑通的最小子集from catboost import CatBoostClassifier model CatBoostClassifier( iterations500, learning_rate0.05, depth6, loss_functionLogloss, eval_metricAUC, random_seed42, verbose50, ) model.fit(pool, eval_seteval_pool, early_stopping_rounds50)iterations 是樹的數(shù)量learning_rate 是每棵樹的步長兩者要一起調(diào)。early_stopping_rounds 的作用是當(dāng) eval_set 上的指標(biāo)連續(xù) 50 輪不改善就停避免白跑后面幾百棵樹。depth 是樹的深度CatBoost 的對稱樹結(jié)構(gòu)會讓它比 XGBoost 需要更大的深度我一般從 6 起步?;貧w任務(wù)換成 CatBoostRegressor 即可損失函數(shù)默認(rèn) RMSE評估指標(biāo)可以設(shè) MAEfrom catboost import CatBoostRegressor model CatBoostRegressor( iterations800, learning_rate0.03, depth8, loss_functionRMSE, eval_metricMAE, l2_leaf_reg5, random_seed42, ) model.fit(pool, eval_seteval_pool, early_stopping_rounds80)排序任務(wù)略有不同。需要給數(shù)據(jù)集引入 group_id表示哪些樣本屬于同一次搜索會話或者同一個請求。CatBoost 提供 CatBoostRanker 和 YetiRank 損失函數(shù)我一般這樣寫from catboost import CatBoostRanker, Pool # group_id 和 X、y 長度必須一致 pool Pool( X_train, y_train, group_idtrain_group_ids, cat_featurescat_features, ) model CatBoostRanker( iterations1000, learning_rate0.05, depth6, loss_functionYetiRank, eval_metricPFound, random_seed42, ) model.fit(pool, eval_seteval_pool, early_stopping_rounds100)排序任務(wù)的 y 一般是相關(guān)性分級數(shù)值越大越相關(guān)。group_id 決定了 CatBoost 在哪個范圍內(nèi)構(gòu)造文檔對如果 group_id 傳錯模型會拿不同 query 的文檔互相比較指標(biāo)會變得毫無意義。3. 特征工程實戰(zhàn)類別特征、文本特征與交叉特征的構(gòu)造策略3.1 把類別列交給 cat_features為什么不需要獨熱編碼很多從 XGBoost 轉(zhuǎn)過來的人第一反應(yīng)是給類別列做 Label Encoding 或者 One-Hot Encoding。在 CatBoost 里這一步多數(shù)時候是多余的。CatBoost 對類別特征用的是目標(biāo)統(tǒng)計編碼直接用標(biāo)簽信息去估計每個類別對應(yīng)的目標(biāo)均值再通過一個平滑參數(shù)向全局先驗收縮。類別出現(xiàn)次數(shù)少時編碼值會靠近全局均值不容易把低頻類別的噪聲放大。One-Hot 只在類別數(shù)特別少時由 CatBoost 自己處理由 one_hot_max_size 參數(shù)控制默認(rèn)值是 2。也就是說只有兩個類別的列才會走獨熱其他類別列默認(rèn)交給目標(biāo)統(tǒng)計不需要你手工干預(yù)。# 對比不傳 cat_features字符串列會報錯 # 傳了 cat_featuresCatBoost 內(nèi)部自動完成目標(biāo)統(tǒng)計編碼。 pool Pool(X, y, cat_features[channel, region])實際使用中類別列可以保持原始字符串也可以預(yù)先轉(zhuǎn)成整數(shù)兩者效果幾乎一樣。但有一點要注意如果你把類別列提前做成了整數(shù)又忘了傳給 cat_features它會被當(dāng)成數(shù)值特征做連續(xù)分裂模型會按大小去切割編號這在語義上是完全錯誤的。所以只要類別列進(jìn)入 CatBoost無論原本是什么類型都要顯式聲明。另外目標(biāo)統(tǒng)計編碼會把類別列轉(zhuǎn)換成連續(xù)值參與分裂特征重要性報告里看到的也是編碼后的貢獻(xiàn)度而不是原始類別的貢獻(xiàn)度。這一點在向業(yè)務(wù)解釋模型時要特別說明否則容易出現(xiàn)“你們模型把渠道號當(dāng)成數(shù)值用了”這種誤會。3.2 文本特征與自動分詞原始字符串直接進(jìn)模型CatBoost 另一個不太被注意的能力是原生文本特征支持。你在 Pool 里聲明 text_features 后模型內(nèi)部會按默認(rèn)的分詞規(guī)則把字符串切成詞再統(tǒng)計詞頻或者構(gòu)造 n-gram 特征不需要你自己調(diào)分詞器。對于標(biāo)題、描述這類短文本這個能力非常實用。text_features [title, brief] pool Pool(X, y, cat_featurescat_features, text_featurestext_features)默認(rèn)分詞對英文是按空白切分對中文會按字符切分效果能用于基線但達(dá)不到精心調(diào)過分詞器的水平。如果做搜索、內(nèi)容理解這類文本權(quán)重高的任務(wù)我更傾向先在外部做切詞把切詞結(jié)果用空格拼回去再喂給 CatBoost因為這樣模型能拿到更穩(wěn)定的語義單元。文本特征參與訓(xùn)練后模型大小會明顯膨脹。因為 CatBoost 需要為文本詞表建字典哈希表詞表一大特征維度跟著上去。我遇到過文本特征加入后模型文件體積翻倍的情況所以文本特征一般只用于文本字段特別關(guān)鍵的場景普通表格數(shù)據(jù)里沒必要硬塞。特征重要性輸出時一個 text_features 列會被展開成內(nèi)部多個 bag-of-words 特征。換句話說模型報告的特征數(shù)量會大于你輸入的原始列數(shù)。做特征篩選前要對這個變化有預(yù)期。3.3 構(gòu)造業(yè)務(wù)特征與交叉特征降低模型學(xué)習(xí)成本的兩條路盡管 CatBoost 能原生處理類別和文本手工特征工程依然有效。核心思路有兩條一條是把業(yè)務(wù)規(guī)則組合成密度更高的特征另一條是主動構(gòu)造交叉特征讓模型不用在很深的樹里才能發(fā)現(xiàn)兩個字段的關(guān)聯(lián)。# 時間特征拆出小時再做渠道 x 小時的交叉 df[hour] pd.to_datetime(df[time]).dt.hour df[channel_hour] df[channel].astype(str) _ df[hour].astype(str) # 業(yè)務(wù)比率特征替代兩個原始數(shù)值列的除法關(guān)系 df[amount_per_item] df[amount] / (df[item_count] 1e-6) # 用戶歷史行為的統(tǒng)計特征注意只在訓(xùn)練集上計算 df[user_hist_mean] df.groupby(user_id)[target_appr].transform(mean)這個代碼塊里最容易出問題的是最后一行。如果直接對全量數(shù)據(jù)做 groupby transform驗證集和測試集的目標(biāo)信息會混進(jìn)特征造成目標(biāo)泄漏。正確做法是先切分出訓(xùn)練集在訓(xùn)練集內(nèi)部做統(tǒng)計再把統(tǒng)計結(jié)果映射回驗證集和測試集。我自己的慣例是先建立 fold 劃分再對每個 fold 單獨構(gòu)造這類統(tǒng)計特征。交叉特征不是越多越好?;鶖?shù)高的類別互相交叉會產(chǎn)生大量稀疏的類別組合目標(biāo)統(tǒng)計編碼會因為樣本量不足而變得不穩(wěn)定。遇到這種情況我會用模型的特征重要性先跑一輪把貢獻(xiàn)度很低的人工交叉特征刪掉同時觀察是否有比原始兩個特征更高的增量沒有就撤掉。3.4 特征重要性評估與篩選用 get_feature_importance 決定取舍特征工程做完不要急著堆參。先用特征重要性做一輪減法通常能省下不少訓(xùn)練時間。CatBoost 提供 get_feature_importance 方法默認(rèn)返回每個特征對預(yù)測的平均貢獻(xiàn)度。importance model.get_feature_importance(pool) feature_names pool.get_feature_names() # 按重要性排序打印前 20 個特征 ranking sorted(zip(feature_names, importance), keylambda x: x[1], reverseTrue) for name, score in ranking[:20]: print(f{name}: {score:.4f})PredictionValuesChange 是默認(rèn)的重要性指標(biāo)反映特征取值改變時預(yù)測值平均變化多少。還有一個 LossFunctionChange 類型它衡量刪除該特征后損失函數(shù)的惡化程度計算成本更高但對特征選擇的參考價值更直接??梢杂?type 參數(shù)切換model.get_feature_importance(pool, typeLossFunctionChange)。篩選特征時我一般保留累積貢獻(xiàn)達(dá)到百分之九十幾的那一批丟掉尾部長尾特征。CatBoost 對冗余特征不太敏感去掉一部分也不會讓指標(biāo)明顯下降但能縮短訓(xùn)練時間和模型體積。SHAP 值在核對特征方向時更有用。后面第 6 章會演示如何用 SHAP 值驗證特征和業(yè)務(wù)直覺是否一致這一章先記住一個原則特征重要性是排序參考不是因果證據(jù)別只看排名就下結(jié)論。4. 分類、回歸、排序任務(wù)的模型優(yōu)化損失函數(shù)與參數(shù)配合4.1 學(xué)習(xí)率、迭代次數(shù)與 l2_leaf_reg三個參數(shù)的內(nèi)外關(guān)系CatBoost 的參數(shù)多但真正在分類、回歸、排序任務(wù)里起決定作用的參數(shù)是同一組learning_rate、iterations、depth、l2_leaf_reg。其他參數(shù)多數(shù)是錦上添花這組參數(shù)先定下來模型就穩(wěn)了一半。learning_rate 和 iterations 是一對。學(xué)習(xí)率越小每棵樹的修正量越小就需要越多的樹才能擬合到同樣程度。常見做法是先定一個偏小的學(xué)習(xí)率比如 0.03再用早停找到合適的迭代次數(shù)。反過來如果學(xué)習(xí)率設(shè)成 0.3迭代 500 次很容易過擬合這時候把 iterations 降到 100 也可能夠用。我習(xí)慣先跑小學(xué)習(xí)率加早停拿到 baseline 再去對比性能與訓(xùn)練時間的取舍。depth 影響樹結(jié)構(gòu)的復(fù)雜度。對稱樹因為同一層強(qiáng)制共用分裂表達(dá)能力弱于普通二叉樹所以需要更深。數(shù)據(jù)量大、特征多的時候depth8 甚至 10 都試過配合 l2_leaf_reg 一起控制。l2_leaf_reg 是葉節(jié)點權(quán)重的 L2 正則項默認(rèn) 3數(shù)據(jù)噪聲大時調(diào)到 5 到 10能明顯拉低方差。一個容易踩的坑是把這些參數(shù)單獨調(diào)忽略它們的相互作用。比如 depth 從 6 提到 8樹的容量變大l2_leaf_reg 如果不一起上調(diào)模型很可能過擬合。我現(xiàn)在的流程是先固定 learning_rate 和 iterations然后用網(wǎng)格搜索同時掃 depth 和 l2_leaf_reg這樣比逐個參數(shù)單獨調(diào)省事得多。4.2 分類任務(wù)調(diào)優(yōu)Logloss、AUC 與樣本不平衡處理二分類任務(wù)損失函數(shù)默認(rèn) Logloss評估指標(biāo)一般看 AUC。這里有個微妙之處Logloss 關(guān)心的是概率校準(zhǔn)質(zhì)量AUC 關(guān)心的是排序能力兩者不是一回事。同一個模型 Logloss 降不下來但 AUC 高說明排序正確但概率值整體偏移這時可以考慮在輸出端做溫度縮放而不是改模型參數(shù)。樣本不平衡時CatBoost 提供了 auto_class_weights 參數(shù)。設(shè)成 Balanced 會把少數(shù)類的權(quán)重按樣本量反比放大默認(rèn)是 None。我在正負(fù)樣本比超過 1:10 時一般會開啟同時觀察 Precision-Recall 曲線而不是只看 AUC。from catboost import CatBoostClassifier model CatBoostClassifier( iterations500, learning_rate0.05, loss_functionLogloss, eval_metricAUC, auto_class_weightsBalanced, random_seed42, verbose50, )使用 Balanced 后訓(xùn)練集上的 Logloss 會發(fā)生偏移因為進(jìn)入損失函數(shù)的樣本權(quán)重變了。這時候不要把 train 的 Logloss 和 eval_set 的 Logloss 直接對比只關(guān)心 eval_metric 的走勢即可。多分類任務(wù)同理用 MultiClass 損失函數(shù)auto_class_weights 在多分類上依然有效。類別數(shù)很多的分類任務(wù)比如幾十個類別iterations 會比二分類更高因為每一輪能修正的方向更分散。我常以 1000 起步配 0.03 的學(xué)習(xí)率讓早停來決定最終輪數(shù)。4.3 回歸任務(wù)調(diào)優(yōu)RMSE、MAE 與 Quantile 的選擇回歸任務(wù)的損失函數(shù)選擇本質(zhì)取決于你對異常值的容忍度。RMSE 會被大誤差樣本主導(dǎo)如果你的業(yè)務(wù)對極端誤差敏感比如價格預(yù)測少數(shù)偏差很大的樣本會顯著拉高損失MAE 更穩(wěn)健但它對梯度方向不敏感訓(xùn)練時收斂慢一點。實際使用時我會先看標(biāo)簽分布。長尾嚴(yán)重的標(biāo)簽比如收入、成交量這類直接預(yù)測均值往往被少數(shù)大值帶偏。更好的做法是預(yù)測對數(shù)后用 exp 還原或者改用 Quantile 損失函數(shù)預(yù)測特定分位點。from catboost import CatBoostRegressor model CatBoostRegressor( iterations800, learning_rate0.03, depth6, loss_functionQuantile:alpha0.5, eval_metricMAE, random_seed42, )Quantile 損失通過 alpha 參數(shù)指定分位數(shù)alpha0.5 時等價于 MAE 的中位數(shù)回歸。在某些業(yè)務(wù)里預(yù)測中位數(shù)比預(yù)測均值更符合運營需求比如庫存準(zhǔn)備要考慮需求波動的分位數(shù)而不是均值。這時可以把 alpha 調(diào)到 0.7 或 0.9直接輸出偏保守的上限估計?;貧w任務(wù)的 eval_metric 和 loss_function 可以不同比如用 RMSE 訓(xùn)練、用 MAE 做早停判斷這樣可以避免模型被大誤差樣本過度牽著走。只要保證 eval_metric 是可比較的指標(biāo)就行不需要和損失函數(shù)完全一致。4.4 排序任務(wù)調(diào)優(yōu)group_id、YetiRank 與 PFound排序任務(wù)的輸入結(jié)構(gòu)和分類回歸完全不同。一組樣本屬于一個 query模型的任務(wù)是對組內(nèi)樣本排出正確順序。CatBoost 里這個組信息通過 group_id 傳入訓(xùn)練和評估都必須保證組的完整性。損失函數(shù)方面YetiRank 是 CatBoost 較推薦的排序損失。它在每輪迭代中構(gòu)造文檔對用近似排序的梯度和權(quán)重更新模型對噪聲數(shù)據(jù)更穩(wěn)健。另一個可選的是 PairLogitPairwise它在構(gòu)造配對時更嚴(yán)格數(shù)據(jù)量足夠大時效果也不錯。我的經(jīng)驗是數(shù)據(jù)量小優(yōu)先 YetiRank數(shù)據(jù)量大且排序文檔數(shù)集中時再對比 PairLogitPairwise。from catboost import CatBoostRanker model CatBoostRanker( iterations1000, learning_rate0.05, depth6, loss_functionYetiRank, eval_metricNDCG:top10, random_seed42, )評估指標(biāo)上NDCGtop 和 PFound 是兩種常見選擇。NDCG 位置折扣更重PFound 模擬用戶逐條瀏覽的終止概率。做搜索排序我用 NDCG10 比較多做信息流推薦則用 PFound 更貼近真實用戶行為。排序訓(xùn)練對數(shù)據(jù)質(zhì)量的要求更高。相關(guān)性標(biāo)錯一兩個文檔產(chǎn)生的壞配對可能拖累整個 query 的梯度。所以排序任務(wù)上線前一定要做標(biāo)注一致性校驗比如對同一 query 的兩個標(biāo)注版本計算標(biāo)注員的 Kappa 系數(shù)分?jǐn)?shù)太低時先別急著訓(xùn)模型。4.5 用早停與交叉驗證收尾調(diào)參避免無謂的反復(fù)訓(xùn)練參數(shù)調(diào)優(yōu)的最后一步我建議用 early_stopping 加交叉驗證來收尾而不是手動一次一次跑完整訓(xùn)練。from catboost import cv params { iterations: 1000, learning_rate: 0.03, depth: 6, loss_function: Logloss, eval_metric: AUC, random_seed: 42, } cv_results cv( pool, params, fold_count5, stratifiedTrue, early_stopping_rounds100, verboseFalse, )cv 函數(shù)會在 fold 內(nèi)部自動完成訓(xùn)練和驗證返回每一輪的平均指標(biāo)幫你判斷當(dāng)前參數(shù)組合在數(shù)據(jù)上的泛化能力。分類任務(wù)記得開 stratifiedTrue保證每個 fold 里正負(fù)樣本比例一致。排序任務(wù)不能直接分層切分要按 group_id 分組再切 fold這一點在下一章會展開。早停輪數(shù)通常和學(xué)習(xí)率掛鉤。學(xué)習(xí)率小早停閾值也要放寬否則會在訓(xùn)練曲線還沒走穩(wěn)時就提前停掉。我一般的經(jīng)驗是 learning_rate0.03 時early_stopping_rounds 取 100learning_rate0.1 以上取 50 足夠。5. CatBoost 常見問題與避坑指南泄漏、過擬合與排序數(shù)據(jù)切分的五個坑5.1 特征構(gòu)造階段的目標(biāo)泄漏訓(xùn)練分?jǐn)?shù)高得離譜先別高興現(xiàn)象模型在訓(xùn)練集上 AUC 達(dá)到 0.98驗證集卻只有 0.72兩者差距大得反常。原因特征工程時把包含目標(biāo)信息的統(tǒng)計量誤當(dāng)成了特征。最常見的是用 groupby 構(gòu)造用戶歷史均值時不小心把驗證集和測試集的數(shù)據(jù)也統(tǒng)計進(jìn)去了或者把去重后的標(biāo)簽列直接當(dāng)作特征傳入。解決所有涉及目標(biāo)變量的統(tǒng)計特征一律只在訓(xùn)練折內(nèi)部計算。先劃分 fold再用 transform 或 map 把統(tǒng)計結(jié)果映射到對應(yīng)折的驗證集。更保險的做法是給這類特征取一個名字訓(xùn)練完立刻檢查特征重要性的排名如果用戶 ID 或者行為均值排在最前面說明大概率泄漏了。5.2 沒有 eval_set 的過擬合訓(xùn)練誤差一直在降驗證指標(biāo)卻停滯現(xiàn)象iterations 設(shè)了 2000訓(xùn)練曲線一路下探驗證集指標(biāo)從第 400 輪開始就不動了甚至緩慢下降最終提交的模型效果不升反降。原因沒傳 eval_set也沒設(shè) early_stopping_rounds模型一直訓(xùn)練到最后把噪聲也學(xué)進(jìn)去了。CatBoost 的迭代式訓(xùn)練會讓訓(xùn)練損失單調(diào)下降但泛化能力在某個點后開始惡化這個拐點只能靠驗證集捕捉。解決每次訓(xùn)練前必須保留一份獨立的驗證集傳入 eval_set同時設(shè)置 early_stopping_rounds。訓(xùn)練結(jié)束后用 get_best_iteration() 拿到最佳輪數(shù)再用 shrink 把模型修剪到該輪數(shù)后續(xù)預(yù)測和保存都用修剪后的模型。5.3 忘記顯式聲明 cat_features字符串列直接報錯現(xiàn)象輸入是帶字符串的數(shù)據(jù)集訓(xùn)練時 CatBoost 直接報 Invalid cat_features 錯誤或者你把類別列轉(zhuǎn)成了整數(shù)但沒聲明模型不報錯只是把這些編號當(dāng)成連續(xù)值進(jìn)行分裂效果莫名其妙地差。原因CatBoost 對字符串列要求必須顯式聲明為類別特征否則無法區(qū)分它是文本內(nèi)容還是類別。數(shù)值編碼的類別列更隱蔽CatBoost 默認(rèn)全部按數(shù)值特征處理只有在顯式聲明后才知道它們是類別。解決在 Pool 或 fit 調(diào)用里始終顯式傳 cat_features 參數(shù)。從 DataFrame 切換成 numpy 數(shù)組時要特別注意列名會丟失必須改傳列索引。我習(xí)慣在訓(xùn)練前打印 pool.get_cat_feature_indices() 抽查一遍避免聲明錯位。5.4 排序任務(wù)切分不當(dāng)group_id 被隨機(jī)洗牌打散現(xiàn)象排序模型訓(xùn)練時不報錯但 NDCG 評估結(jié)果明顯偏低查看預(yù)測結(jié)果發(fā)現(xiàn)同一個 query 下面的文檔順序和標(biāo)注幾乎對不上。原因用 sklearn 的 train_test_split 直接按行切分同一 query 的文檔被隨機(jī)分到了訓(xùn)練集和驗證集兩邊。訓(xùn)練時模型看到同一組 query 的部分文檔甚至可能記住了 query 內(nèi)部的標(biāo)注傾向驗證集評估失去意義。解決切分必須按 group_id 粒度進(jìn)行先對 query 集合切分再通過 isin 篩選出對應(yīng)樣本。import numpy as np unique_groups np.unique(df[query_id].values) val_groups set(unique_groups[: int(len(unique_groups) * 0.2)]) train_mask ~df[query_id].isin(val_groups) val_mask df[query_id].isin(val_groups)這樣的切分保證同一個 query 的文檔全部在訓(xùn)練側(cè)或全部在驗證側(cè)排序評估才有意義。5.5 忽略模型文件大小與單次推理耗時上線階段才發(fā)現(xiàn)的意外現(xiàn)象離線調(diào)參時指標(biāo)很滿意上線前發(fā)現(xiàn)模型文件很大單次預(yù)測延遲超過接口耗時預(yù)算或者內(nèi)存占用過高導(dǎo)致服務(wù)分配不下。原因iterations 和 depth 設(shè)置過大文本特征又引入了大量內(nèi)部詞表模型體積被成倍放大。CatBoost 的對稱樹推理比普通 GBDT 快但樹的棵樹成倍擴(kuò)展后延遲依然會超預(yù)算。解決訓(xùn)練結(jié)束后用 shrink 修剪到 best_iteration先把冗余輪數(shù)去掉。如果仍然太大檢查 text_features 是否必要文本詞表往往是體積膨脹的主因。再不行就降 depth配合提高 l2_leaf_reg 補(bǔ)回泛化能力。上線前做一次壓測確認(rèn) P99 延遲滿足要求再發(fā)布。6. 模型優(yōu)化的最后閉環(huán)預(yù)測分布回測與模型瘦身技巧6.1 用 SHAP 與特征重要性核對業(yè)務(wù)假設(shè)模型調(diào)完參數(shù)后我會做一次特征歸因的回讀確認(rèn)模型學(xué)到的邏輯和業(yè)務(wù)直覺一致。CatBoost 可以直接輸出 SHAP 值不需要額外裝庫。shap_values model.get_feature_importance(pool, typeShapValues) # 返回維度為 [樣本數(shù), 特征數(shù) 1]最后一列是基線值 shap_importance np.abs(shap_values[:, :-1]).mean(axis0)拿到 SHAP 值后我重點關(guān)注兩件事一是頭部特征是否和業(yè)務(wù)方判斷一致如果業(yè)務(wù)認(rèn)為價格最重要模型卻把某個 ID 類特征排第一就要警惕泄漏二是看看高 SHAP 值對應(yīng)的樣本手工檢查幾條確認(rèn)預(yù)測沒有反業(yè)務(wù)常識。特征重要性只告訴你“哪個特征有用”SHAP 值還能告訴你“特征往哪個方向推高預(yù)測”。這一步雖然不做進(jìn)訓(xùn)練流程但對上線前的風(fēng)險評估很有價值。6.2 模型瘦身與上線前的驗證習(xí)慣上線前我最后一個動作是把模型修剪到最佳輪數(shù)并做一次端到端預(yù)測驗證。best_iter model.get_best_iteration() model.shrink(best_iter) model.save_model(final_model.cbm) # 加載后做小批量預(yù)測確認(rèn)輸入輸出格式 loaded CatBoostClassifier() loaded.load_model(final_model.cbm) pred loaded.predict(X_test[:100])我習(xí)慣在這里同時記錄三樣?xùn)|西訓(xùn)練時的評估指標(biāo)、特征重要性 Top10、模型文件大小。下次迭代時先對比這三樣如果指標(biāo)漲了但模型體積翻倍就要考慮是不是文本特征或者迭代輪數(shù)膨脹帶來的副作用。現(xiàn)在做新任務(wù)時我總會先跑一個小參數(shù)的完整流程確認(rèn)特征和評估指標(biāo)都合理再放大 iterations 和 depth。這個習(xí)慣幫我避開了無數(shù)次“訓(xùn)練跑了一整晚結(jié)果發(fā)現(xiàn)特征泄漏”的翻車。希望幫到你。本文還有配套的精品資源點擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
久久久噜噜噜久久人妻| 国产AV国片偷人妻麻豆| 五月五婷婷网| 色色色色色色色五月| 色噜噜狠噜噜视频| 天天成人丁香美女AV| 九九精品re免费视频| 999精品乱码77777| 久久人妻在线| 久久成人性爱| 婷婷激情中文综合| 91人妻人人做人碰人人爽九色| 噜噜噜狠狠色综合| 亚洲精品视频在线播放| 激情六月天| 很操日本7| 久婷婷五月综合欧美| 思思久久99| 婷婷五月天在线观看第二页| 激情亚洲婷婷六月| 婷婷国产日本欧美| .操區COm| 91操人| 99爱在线| 激情婷婷激情在线不卡| 久久5 9视频免费观看| 天天干天天干天天| 91人碰| 九色视频这里只有精品| 九九婷婷五月天影视| 五月丁香美女视频| 日韩一区二区在线播放| 99在线观看视频蜜臀| 99热1| 9色在线视频精品观看| 国产99热| 国产伦亲子伦亲子视频观看| 99精品偷自拍| 欧美在线视频99| 丁香婷婷色| 色吧五月婷婷| 色五月丁香婷婷| 五月婷婷婷婷婷| 色五月婷婷成人视频| 91九色熟女| 色色色色色日韩午夜激情| 国产67194| 91一起操| 熟女人妻一区二区三区免费看| 丁香五月色| 国产性爱一级| 日本色婷婷| 国产一级片| 变态另类9| 狠狠干狠狠干| 欧美激情VA永久在线播放| 九热精品| 激情婷婷| 美女久久天堂| 欧美99视频| A级毛片高清免费不卡播放谢谢谢谢| 3p九色在线| 国产婷婷色综合AV蜜臀AV | 婷婷五月天在线观看| 五月天激情图片| 深爱综合网| 色情成人五月天| 99亚州综合精品成人网| 亚洲美女裸体被操在线观看| 操人久久| WWW、日本色丁香、co m| 亚洲综合丁香婷婷六月天| 97婷婷丁香五月| 99 这里只有精品| 五月丁香六月综合激情网| 99热99精品在线观看| 五月天婷婷久久综合| 色五月激情综合| 战争与艾拉电影免费观看| 五月婷婷亚洲| 9色在线| 天海翼中文字幕高| 色三级色三级| 丁香五月激情啪啪| 丁香六月婷婷久久综合| 精品网站:999WWW| 色色婷婷五月| 丁香涩涩爱| 色婷婷AV在线| 亚州欧美黄色电影| 丁香色情五月天| 97韩国久久电影院| 99热亚洲| 91视频一起草| 久久黄色片| 日本在线视频www色| site:pnnrt.com| 久久精品一区二区三区四区| 无码激情| 91人操人人人操人| 91性人人| 激情开心五月亚洲| 五月婷婷丁香五月| 激情六月天婷婷| 亚洲日韩26uuu| 可以看的av网站| 狠狠干天天日| 99久久精品色老| 思思热在线视频99| 中文字幕无码人妻少妇免费视频 | 伊人综合婷婷| 色小说五月婷婷| 色综合色五月| 天天插天天射天天干| 天天日,天天射,天天插| www99热| 秋霞网在线免费基地五月婷婷丁香| 色色色色色色色色五月先| 五月天婷婷色小说| 内射爽无广熟女亚洲| …亚洲黄色在线播放日韩、av中文a…| 丁香 婷婷 激情 综合 五月| 五月激情站| 91日精品| 日本五月天激情| 99五月香婷婷丁香在线视频| www.操逼comm| 国产亚洲精品久久久久久久久动漫| AAA久久| 婷婷色丁香六月| 成人精品一区日本无码网| 97色97干| 亚洲成人在线免费| 久久狠狠干| 天天干电影| 新激情五月天| 久狠日av| 久操人| 五月婷婷网站| 怡红院91a√| 日韩视频99| 激情网 久久| 婷婷六月天精品| 91丨九色丨大屁股| 天天天天天天天操| 婷婷综合国产| 婷婷六月亚洲综合| 婷婷五月花| 色噜噜狠狠色综合成人网| 色五月大香蕉婷婷| 久草性爱| 国产xxxxx在线观看| 激情婷婷六月天| 国产脫衣舞一区二区三区| 亚洲丁香五月天视频| 亚州精品成人片| 色婷婷视频在线| 丁香五月婷婷老师网站| 性视频久久| 丁香六月婷婷久久高清| 久久婷综合| 九九99视频精品| 欧美精品999| 色婷婷成人丁香| 色播六月| 婷婷五月天激情五月天网站| 五月天丁香成人社| 久热这里| 十月色综合| 久热伊人在91| AV人人操| 国产VA亚洲VA96| 狠干综合| 久久久久久久人妻| 婷婷丁香小说| 欧美日韩大黄| 91丁香| 中文字幕AV在线播放| 无码人妻电影| 精品热青草| 丁香五月天激情视频| 国产成人AV在线播放| 人妻激情综合| 久热这里只有精品66| 黄色AAAAAAA| 欧美啪啪9| 九九激情网| 日本欧美成人片AAAA| 伊人网色婷婷五月天| 操操日韩| 一区二区三区四日本| 青草激情综合| 色色色视频免费无码 | 久色网| 激情又色又爽又黄的A片| 这里只有精彩亚洲视频推荐| 99热免费网站| 开心五月婷婷婷美女| 狠狠色成人影片| 五月婷婷九| 色九月婷婷丁香| 久热婷婷| 99九九精品视频| 丁香婷婷久久激情| 99热99在线| ztEJj| 亚洲精品成人| www.婷婷.com| 亚洲精品性色| 99热成人永久免费| 超碰操网| 99超级碰碰| 欧美特大片黄| 二色av| 五月开心激情| 色五开心五月五月深深爱| 97热这里精品在线视频| 五月天丁香欧美激情| 婷婷综合视频| 能看的av| 饮料下药迷倒漂亮女同事强干| 婷婷十月激情综合网| 97人人射| 午夜丁香婷婷| 久草大| 国产第99页| 丁香五月av| 99色色| 啪啪小说五月天| 婷婷色系婷色| 人人人人人人人人人草| 亚洲美女婷婷五月天| 婷婷五月天情色| 91久女| 99热精品在线观看| 五月婷婷大香蕉| 999婷婷综合| 五月综合激情视频在线| 六月丁香五月天| 亚洲综合网激情小说| 99re这里只有精品99| 色综合久久88色综合天天| 狠狠操狠狠插| 亚洲精品久久久无码| 五月婷婷成人| 婷婷99狠狠躁天天躁| 天天爽天天爽| 中国女人做爰A片| 色婷婷婷婷| 99视频35精品视频在线观看| 丁香色色网| 啪啪操超碰| 色色A| 丁香五月成人av| 天天精品视频免费观看| 婷婷激情五月| 99思思| 99热最新网址| 国产精品VIDEOSSEX久久发布| 99精品网| 999热在线观看视频| 欧美私人家庭影院| 熟美女麻豆| 丁香六月婷婷久久亚洲天堂| 久久在线大香蕉| 操逼巨乳91| 操逼六区| 狠狠五月天婷婷| 五月丁香WWW| 中文字幕丁香五月| 亚洲第79页| 中文av网站| 五月丁香黄色| 五月丁香av中文| 99九九精品| 天天做天天爱天天搞| 九九色热| 亚州AV超碰人人操| av色婷婷| 成人国产欧美大片一区| 97电影99热| 久久丝丝热| 狠狠五月天婷婷| 不卡影院午夜理论片| 婷婷丁香色五月| 开心五月激情网| 9久国产精品| 欧美日韩999| 亚洲综合激情五月久久| 伊人丁香五月婷婷潮吹| 中文字幕丰满乱孑伦无码专区| 婷婷丁香色五月天久久88| 激情五月天之六月婷婷| 五月丁香婷草| 精品一区久热| 九九热超碰| 亚洲色小说在线综合| 婷婷五月深深爱| 无码人妻电影| 99热6精品| 九九色精品| 亚洲成人AV高清字幕| 婷婷基地成人五月天| 少妇激情基地| 亚洲热热视频| 成人国产欧美大片一区| 色综合婷婷| 激情五月亚洲| 99热久久这里只有精品| 丁香婷婷五月综合影院| 婷婷五月深爱五月| 国产乱人偷精品人妻A片| 激情九九六月激情免费视频| 亚洲人人操BD| 色婷婷丁香五月| caopeng97人人| 天天日狠狠| 类似婷婷激情综合网站| 亚洲天堂婷婷| 中文字幕日韩无码制服诱或| 五月婷婷中文| 99久久99久久| 99久久五月婷婷| 艳妇野外情欲放荡HD| 日韩五月婷婷久久| 亚洲另类婷婷五月丁香在线播放| 婷婷色丁香五月| 久久最新色色色| www.人人操人人看人人想人人摸 人人人人操,COM | 色婷操逼| 中国操逼99| 精品九九久久| 激情美女五月天| 欧美色色色| www.99热| 丰满少妇乱A片无码| 丁香九月综合在线| 中文字幕丰满乱孑伦无码专区| 日日肏夜夜干| 九九热视频精品| 无码视频国内精品久久久| 99视频综合网| 国产成人VA| 色色日本| 内射爽无广熟女亚洲| 婷婷色色宗合网| 91热在线| 久色欧美| 欧美性做爰大片免费看办公室| 五月婷久久综合| 婷色五月| 亚洲婷婷欧美婷婷| 丁香五月五月婷婷欧美大香蕉| 成人片在线免费看| 丁香六月激情综合网| 五月激情小说| 天天干天天av天天射| 色婷婷综合久久久久| 色五月丁香激情视频| 色综合五月天| 天天日P天天射P| 五月婷丁香花| 狼人狠狠操| 97人妻超级碰碰碰碰碰| 99re在线视频精品,这里只有精品18,| 99精品福利视频| 婷婷导航| 五月婷婷免费在线| 操碰99| 新激情五月天| 五月丁香六月婷婷免费| 99热这里只有精品在线观看| 六月婷婷色色色| 五月天婷婷永久免费视频| 狠狠综合久久| 婷婷午夜精品久久久| 五月花亭亭| 五月丁香六月婷婷啪啪| 婷婷五月花| 激情婷婷五月| 91人无码久久久久久| 婷婷丁香午夜综合影视| 六月婷婷色| 亚洲综合无码| www,com,五月色色| 4399欧美另类视频| 丁香五月天堂| 中文字幕不卡视频| 深情五月天| 99热在线观看| 手机激情网| 亚洲五月天激情| 综合久久综合久久| 9999三级片| 国产精品视频网| wwwwww.色| 欧美顶级少妇做爰HD| 久久激情网| 婷婷五月综激情| 超碰中文字幕在线| 成年人丁香五月| 欧美婷婷色五月网| 久久国产色| 麻豆忘忧草午夜| 精品色色网| 久久er99热精品一区二区| 亚洲激情校园| 人妻体体内射精一区二区| 少妇丁香婷婷 | 久久最新色| 五月天 婷 欧美亚洲| 另类亚洲电影| 丁香六月婷婷综合| 在线视频你懂得| 欧美久热| 五月天天天开心激情网| 丰满少妇猛烈A片免费看观看 | 成人在线视频男人的天堂4399| 婷婷.com| 激情视频综合| www.色99| 五月激情丁香久久综合网| 色综合久| 婷婷五月色丁香在线看| 97精品综合久久内射| 婷婷久久色| 9精品视频在线| 五月丁香色婷婷久久| 婷婷99狠狠躁天天躁中文| 欧美在线视频免费播放| 狠狠爱综合网| 国产成人精品一区二三区熟女在线| 五月婷婷久久开心网| 国产AV一区二区三区最新精品| 五月综合六月丁| 久久婷五月影院| 月婷婷婷婷五月| 欧美在线操| 99热这里精品| 五月婷婷六月激情网| 国产乱轮一区二区三区| 五月丁香精品| 六月婷五月丁香| 五月丁香久久激情综合| 大香蕉五月丁香| 性韩日色婷婷五月天激情啪啪XXX| 五月花婷婷| 中出内射的人妻视频| 五月婷婷亚洲综合在线 | 九色在线观看91av| 这里只有精品视频在线| 思思热久久爱| 思思99久久| 综合久久婷婷| 狠狠色成人影片| 91色久| 九九日伊人| 五月综合激情视频在线| 天天做综合| 东北熟女视频99| 五月婷婷AV| 五月婷婷激情色情网| 超碰人人操人人9| 亚洲综合激情五月久久| 五月丁香婷婷激激激综合网色播| 久婷五月| 碰超在线九色| 日本不卡高字幕在线2019| 丰满熟女人妻一区二区三| 婷婷五月av| 99网址在线观看| 五月丁香婷婷中文| 色婷婷丁香| 久久精品性爱视频,| 五月婷久久久久综合| 久久92| 久久机只有这里精品| 五月丁香好婷婷A片网| ..真实国产乱子伦对白在线_欧| 五月天色不卡| 色五月成人网| 欧美五月丁香啪啪响视频| 伊人青涩网| 9l视频自拍9l九色成人| 成人一级片| 色情五月天A片| 久久五月婷| 91丨九色丨国产在线| 婷婷五月色| 99热碰碰| 日韩精品二三区| 凹凸探花电影| 天天肏视频| 丁香五月WWW| 国精产品一区一区三区免费视频| 婷婷伊人网| 综合成人小说婷婷| 俺也去在线视频| 99热www.| 天天综合激情| 国产精品大香蕉| se99热久久一本| www.婷婷com| 99热这里只有精品9| 色婷婷超碰| 五月丁香六月婷婷亚洲综合| 五月欧美色色五月| 五月综合激情图片| 做爱夜夜干天天操| 婷婷五月天黄色| 色婷婷四色| 婷婷色综合网日韩国产| 五月日韩中文字幕| 国产毛片欧美毛片久久久| 无码人妻电影| www.91九色| 六月婷婷中文字幕| 丁香五月天啪啪| 五月丁香婷爱在线| 涩婷婷五月天| 五月香六月婷| 性99网站| 成人丁香婷婷五月天| 人人爱天天摸摸天天爱| 婷婷五月免费观看| 婷丁香五月天| 九九亚洲小视频| 色五月在线| 五月激情五月丁香| 五月六月丁香激情视频| 激情综合自拍五月婷婷色五月| 五月丁香啪啪激情| 色情五月婷婷| 欧美天天五月丁香免费观看| 天天摸天天爽| 五月婷婷m| sewuyue第四色| 婷婷久久国产视频| 色狠狠综合| 婷婷五月天亚洲丁香| www.热99热| 亚洲人人操BD| 久久这里只有精品热在99| www.操.com| 九九99热| 色婷婷在线视频| 久久香蕉网| 成人无码髙潮喷水A片| 中文字幕欧美日韩VA免费视频| 中文字幕人妻熟女在线| 91九色PORNY肉丝在线| 婷婷9月天| 九九热99在线视频| 色一情一乱一乱一区91| 天天插天天玩天天干| 婷婷综合另类小说| 激情网开心网| 九九色色| 99日韩| 99ree6| 东京热人妻一区二区三区在线| 丁香五月天堂网AV| 26uuu欧美日韩| 无码毛片992367| 这里只有精品视频一区| 玖玖爱综合网| 欧美精品中文字幕亚洲专区| 激情五月天福利| av在线激情| aaaaaa片| 色色色色网站| 五月天婷婷无码| 日本精品人妻无码77777| 成人五月天。COM| 狼友超碰| 色 五月婷婷基地| 久久婷婷视频| 色色色999| 精品自拍99| 啪啪综合| 国产在线另类五月婷婷| 九九精品热播| 久久人妻熟女一区二区| 婷丁香五月天| 久久性爱网站| 亲子乱AV一区二区三区下载| 五月丁香婷婷伊人| 伊人久久婷婷| 五月丁香淫淫婷婷婷| 91人人操人人| 亚洲啪啪自拍| 噜噜色五月| 欧美成人A片AAA片在线播放| 色墦五月丁香| 97日在线视频| 密乳视频| 99re这里| 婷婷激情啪啪| 婷婷五月天99| 亚洲综合五月| 神马欧美精| 色五月婷婷激情五月| 伊人婷婷大香蕉| 在线不卡AC| 99免费综合网| 国产色网站| 亚洲12p| 丁香五月首页| 天天操比比| 精品国产AV色一区二区深夜久久| 综合网色| 五月婷婷亚洲色视频| WWW.桔色成人.COM| 91热在线| 人人干99| 91综合在线观看首页| 六月婷伊人| 五月色婷| 久久婷婷人人| www99热| 国产XXXX搡XXXXX搡麻豆| 丁香六月狠狠干| 99热精品在线播放| 婷婷综合仓库中文| 美女婷婷六月色| 色婷婷小说| 在线观看免费狠狠色丁香香综合| 青青草激情网| 色婷婷亚洲综合网站| 婷婷瑟五月天久久综合| 思思热在线视频精品| 丁香五月91| 影音先锋偷偷色男人站| 九九re视频在线视频| 五月婷六月丁| 婷婷综合性爱网| 日韩狠狠色婷婷| 玖玖婷婷五月天| 丁香五月欧美成人| 日韩精品999| 久久精品99久久| 国产精品久久久海的味道| 色婷婷av综合网| 丁香婷婷色五月天| 久久婷婷午夜| 婷婷五月天资源| 婷婷大香焦| 亚洲久久婷婷丁香五月天| 日韩成人电影AV| 伊人春天av| 婷婷久久大香蕉| 久久五月六月| 成人做爰高潮A片免费视频| 99在线精品视频观看免费下载| 婷婷久热| eeuss人妻| 狠狠干五月天| 色婷婷精品小视频| 日韩无码AV电影网站| 日日射天天射| 婷婷99狠| 囯产精品久久欠久久久久久九大| 日本久久超碰| 色爱综合网| 亚洲sesesese| 欧美人与性动交CCOO| 婷婷激情综合网| www.久99| 六月丁香五月婷婷| WWW久久久| 六月婷婷中文字幕| 欧美色播综合在线观看| 不卡成人免费| 日本色色网站| 色色热99| 激情五月天婷婷播播久久综合91| 色XX综合网| 日本免费91| se99视频| 国产一级婬片毛片| 午夜日韩久久久网站| 九九99热| 青青草搞屄视频网站| 99精品丁香五月| 婷婷色五月在线视频| 日韩色五月| 中文字幕在线观看视频www| wwccc久久久| 岛国资源站| 色婷婷基地| 天天射射夜| 色婷婷操逼网| 精品久热| 26uuu精品国产| 天天操B| 777影视理论片大全在线观看| 不卡影院午夜理论片| 日韩欧美老妇性视频91久久久| 五月丁香婷婷成人网| 爱草视频在线| 一起草无码| 99自拍视频在线| 天天综合网亚洲网站| 五月丁香综合在线| 天天躁日日躁狠狠躁日日躁2022年5月9日 | 深爱婷婷色| 中文成人在线| 丁香色色网| 婷婷5月九九| 色婷婷在线播放| 爱99干99| 亚洲午夜AV| 丁香婷婷久久老熟女综合网| www久久久久久久97| 极品人妻VIDEOSSS人妻| 99这里只有精品| 色五月天天| 久操激情| 久9草在线观看视频| 婷婷五月天色播| 天天五月天综合网址| 日本本土色网第一区| 综合婷| 亚洲爆乳无码精品AAA片蜜桃 | 精品九九婷婷| 国外亚洲成AV人片在线观看| 久久激情天堂| 日日肏天天操| 婷婷五月天av网| 成人资源在线| 99综合五月免费视频色婷婷| 婷婷综合五月| 99热这里只有精品中文字幕| 九九草热在线观看| 色婷五月| 色www.con| 婷婷综合仓库中文| 五月婷婷六月色| 日本久热| 激情第四色| 丁香美女主播视频在线观看 | www.婷婷六月天| 91久久电影| 日日夜夜天天爽| 久久老码第一| 婷婷五月四狠狠| 激情文学第四色婷婷丁香五月| 日本eVa一区=区视频| 99热首页| 超碰人人操人人干| 五月天丁香综合久久国产| 17.c黄色| 婷婷五月天男人影院色色网| 色五月天综合| 99这里有精品免费| 五月色婷婷亚洲| 午夜色婷婷| 色五月色图| 成人资源在线| 丁香五月天婷婷91| 国产伊人大香蕉| 久9精品视频在线| 中国丰满熟女A片免费观| 久久久97| 99精品综合视频| 大香蕉综合在线| 五月婷婷亚洲| 丁香五月婷婷av| 蜜臀av粉嫩av懂色av| 天天色天天| 中文av网站| 婷婷 色 丁香 夜| 色噜噜五月天| 婷婷五月天激情小说| 五月天天天色| 九九婷婷网五月天| www.激情五月| 亚洲99在线| 久久婷狠狠色| 男女99免费视频| 91久久久久久久久| 欧美色婷婷| 9色在线| 五月丁香婷婷综合| 国产人妻777人伦精品HD| 色噜噜狠狠色综无码久久合欧美| 久久久天堂国产精品女人| 天天射天天插天天干| 男人先锋久久| 在线不卡AC| 丁香婷婷综合喷| 久久一品区| 色婷婷综合综合网| 丝袜人妻| 超黄亚洲瑟瑟网站| 亚洲精| 五月天久久网站| 五月丁香六月婷| 久久草大香蕉| 可以看的av| 五月丁香久久久| 任你干嘛免费视频播放| 色私五月婷婷| 都市激情久久| 1995年关宝慧版蜘蛛女| 狠狠干无码| 久久新地址| 公的粗大挺进了我的密道 | 五月永久激情| 色五月综合在线| www.五月天色色.com| 激情小说婷婷| AV中文网| 色欲婷婷五月天丁香| 激情五月综合| 婷婷综合五月色播| 五月天婷婷AV| 色色五月婷婷| 丁香九色不卡aaa| 五月丁香色色| 久久这里只有精品网| 五月婷婷丁香五月 | 欧美噜噜久久久XXX| 婷婷丁香五月六月激情| 天天日本夜夜谢| 综合色99| 五月天婷婷丁香成人网| 99ri精品在线| 色国产五月| 五月开心久久| 日日操天天操| 91色干| 国产色色网址网站| 99热在这里只有精品| 夜夜爱网站| 超级碰碰99| 色婷婷WWW| 激情六月日韩| 激情五月天婷婷| 久久久九九视频精品18| 天天摸天天舔在线视频| 婷婷五月天精品| 婷婷狠狠操| 碰超在线九色| 99爱免费在线观看| 婷香五月激情视频| 99色热| 先锋资源91| 丁香五月激情六月| 亚洲综合色婷婷| 91丁香色五月| 九九成人高清视频| 大香蕉久久久| 色五月婷婷成人| 久er免费视频| 人。妻久久| 国产又粗又大又爽又黄| 久久伊人9| 中文字幕 久久9999| 久久视频这里有精品99| 伊人综合婷婷| 婷婷香五月综合激情| 丁香婷婷影院| 大香蕉 伊人夜| 色五月婷婷DVD| 99日韩| 人人九色| 天天草比天天爽| 国产精品久久久久久久久久| 欧美 日韩 成人在线| 天天天天天天噜| 成人精品一区日本无码网| 91丨九色丨熟女| 热99这就是精品视频| 国产精品久久久久9999小说| 激情小说五月天社区丁香| 99re6久热只有精品6在线直播| 三级黄色大片视频| 爱爱色五月天| 亭亭五月色男人| 午夜爱爱网站| www.婷婷五月天| 激情五月天.色网| 《》【无码】想被搞到爽AV应募而来的超M素人 西纯子 10musume-011723-01 | 色婷婷婷综合五月天| 日韩一级片| 婷婷伊人75| 天天做天天爱天天要| 婷色天堂| 日韩婷婷五月天| 99热这里都是精品| 伊人久久五月天| 91偷拍视频| 伊人玖玖精品| 激情五月天婷婷| 亚洲AV无码一区二| 激情综合网五月激情| 国产女18毛片多18精品| www夜夜操wwwcon| 91九色最新视频| 五月激激网w'w'w| 拍真实国产伦偷精品| 思思热国产视频| 综合色色色| 丁香亭亭久久| 99色色| 狠狠艹狠狠艹| 色99色| 插插插色综合网| 欧美成人AAA片一区国产精品| 思思久久精品视频| 99精品视频在线观看| 五月丁香啪啪拍| 亚洲视频在线观看| 秋霞影音91人妻久久| av操逼网| 天天天天爽爽天干| 日韩婷久| 天天射影院| 琪琪色五月天| 五月丁香婷婷综合| 国产婷婷色五月| 99爱在线视频| 五月永久激情| 91色五月在线观看| 久久开心五月天激情| 色综合狠狠色| 99ri精品| 青青操avbb| 91肏肏肏| 国产性爱亚洲是图| 91狠狠综合网| 婷婷五月六月丁香| 久久AAAA片一区二区| 性爱五月婷| www91精品| 五月婷婷偷拍| 丁香五月性| 国外亚洲成AV人片在线观看| 久99久热只有精品国产99| 99碰碰碰| www.99精品在线| 五月天激情综合网俺也去| 国产FREESEXVIDEOS性中国| 色青五月天| 九九久久高清| 婷色五月| 午夜精品777| 91人人爽人人操| 大香蕉久艹| 婷婷伊人无码| 五月精品99综合| 色婷婷精品视频| 色频玖玖五月天| 亚韩精品视频1区| 大天天伊人| 欧美狠狠一在草| 亚洲日比视频| 99色网站| 五月天婷婷伊人| 亚洲婷婷五月| 色玖玖| 亚洲综合热| 99久久9| 婷婷丁香日韩五月| 五月天天综合| 婷婷六月开心网| 狠狠久久婷| 亚洲综合九九| 人妻操逼视频| 中海油常州环保涂料有限公司| 色五月天婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷 | 久久9视频欧美| 成人做爰黄A片免费看直播室男男| 婷婷五月丁香综合激情| 亚洲婷婷视频| 中文字幕av久久爽| 精品色色| 思思热在线精品视频| 丁香六月婷婷综合色| 亚洲婷婷综合视频| 超碰在线人妻| 五月丁香影院| 99爱最新免费视频在线观看| 第五婷婷伊人丁香色| 婷色天堂| 日韩aaa| 深爱婷婷网| 狠狠五月天婷婷| 国产av影片| 99在线视频操999| www五月| 精品人妻伦一二三区久久| 婷婷五月天xxx| 色综合中文| 久草婷| 国产看真人毛片爱做A片| 国产亚洲精品久久一区二区三区| 亚洲无码成人性爰网| 亚洲av日韩无码| 欧美,日韩成人在线| 九九热最新| 97婷婷丁香| 99这里只有精彩视频| 日本a片网址| 操逼六区| 六月丁香啪| 久久99久久99精品,久国产,久久精品免费,99久在线,久久久久国产精品免费网站,9 | 狠狠草婷婷| 久久婷婷色| 色五月大| 涩涩激情五月婷婷| 色欲一区二区三区精品A片| 婷婷99视频精品| 开心五月网| 狠狠色狠狠鲁| 天天干夜夜操A片| 色婷婷大香蕉| 亚洲色色五月天| 亲子乱av一区二区三区的| 三人荫蒂添的好舒服A片| 激情五月六月婷婷| 久99久热| 狠狠干五月天| 九九热精品6| 天天成人综合视频| 激情婷婷五六月天| 激情婷婷| 超碰激情网| 久操福利| 欧美大香蕉视频| 久婷婷五月综合欧美| 99热大| 五月婷婷性爱网| 色婷婷成人色网| 亚洲精品又粗又大又爽A片| 99热亚洲| 99热思思| 大香蕉综合在线| 亚洲免费婷婷| 大香蕉av在线| 色情综合| 日日.c| 日本色五月| 99色天堂| 大香蕉伊人久久| 狠狠色色| 最近中文字幕大全免费版在线| 人妻人人操| 大香蕉综合网| 国产精产国品一二三在观看| 大学生高潮无套内谢视频| 丁香网站| 日韩黄色中文字幕| 亚洲狠狠丁香婷婷香蕉| 天天综合网~91| 在线播放 精品| 狠狠色噜噜色狠狠狠综合色 | 五月丁香婷草| 色欲天天综合网| 婷婷婷婷色| 五月丁香综合啪啪| 99婷婷| 日韩黄色中文字幕| 抽插特写| 久久日九九| 丁香五月综合激情啪啪| Av大香蕉| 婷婷日| 婷婷五月天成人基地| 五月天五月天激情网| 激情五月天综合| 久久婷网| 亚洲无码99| 亚洲国产精品二二三三区| 色网五月婷婷| 国产色香蕉精品五夜婷| www.婷婷,com| 五月激情视频| 无码G高清天| 99热久草| 色在线99| 在线只有精品| 无码一区精品一区视频| 国产探花一片区| 五月色婷婷影院| 亭亭丁香aV| 五月丁香 啪啪啪| 激情婷婷五月| 婷婷五月天激情文学| 香蕉久久av一区二区三区| 狠狠色噜噜狠狠狠777奇米| 综合超碰熟| 色婷婷影视| 日本玖玖在线| 九九色大香蕉| 五月天婷婷日日爱| 五月婷婷丁香狠狠撸久久| 久久亚洲无码| 亚洲成人网站在线观看| yirenjiqingshiping| 色欲影香| 色亚洲视频| 26uuu精品一区二区| 99热这里精品| www.婷婷久久五月天| www.精品99| 欧美视频在线观看噜噜| 日本五月天网站| 99久久婷婷| 碰碰碰97免费精彩视频| 婷婷五月色播网| 天天射色五月天| 日本综合久久| 91在线视频观看午夜福利| 五月婷婷色影院| 丁香五月六月激情| 91成人品| 91日在线视频| 丁香六月激情综合| 精品草原久久视频| 色综合色色| 91丁香婷婷综合久久欧美| 久久久五月天| 婷婷五月综合激情免费视频| 99在线观看| cao视频,现在观看| 丁香五月色色色色| 五月婷婷开心五月| 丁香五月色| 婷婷五月天AV在线| 99秘 在线| 九九久久99| 综合久久8| 色五月婷婷成人视频| 欧美日比视频| 久久丁香综合香蕉| 狠狠大香婷婷爱| 26UUU精品一区二区| 四LLL少妇BBBB槡BBBB| 天堂综合久久| 激情五月婷婷综合色播小说| 五月丁香六月激情在线| 亚洲一级AV在线免费播放| 久热最新视频| 另类激情中文| 色婷婷a| 九九爱激情| 婷婷五月色| 中文无码婷婷| 亚洲热综合| 婷婷.com| 99re这里只有精品国产99| YJLZZJLZZ亚洲乱熟无码| 99热免费18| 色香五月天| 337p大胆噜噜噜噜噜91Av| 国产五月天婷婷| 婷婷久久色| 亚洲182在线观看| 开心四月婷婷在线色播播| 香蕉综合网| 99热在线资源| 精品色| 色五月噜噜| 婷婷六月天激情影院| 97在线视频观看| 久久黄A片| 日韩狠狠色| 亚洲无码yw| 婷婷丁香18| 精品九九婷婷| 久久久精品色色色| 色婷青青| 五月天激情Av| 少妇性BBB搡BBB爽爽爽视頻| 欧美成人Va| 国产成人亚洲综合A∨婷婷| 97色久| 99在线视频精品| 亚洲成人另类| 天天干一干| 超碰在线综合| 五月婷婷av| 综合色色婷婷| 第四色激情网| 激情六月丁香| 色婷婷综合久久久久| 色综合久久44| PORNY九色9l自拍视频成人| 久久狠狠干| 久久免费操| 亚洲综合草草| 五月天操逼网| 久草大| 97色婷| 开心激情综合| 五月伊人综合| 国产精品国产成人国产三级| 久久五月天综合视频网站| 五月婷婷综合网| 五月丁香成人日| 荫道BBWBBB高潮潮喷| 亚洲热综合网在线观看| 欧美婷婷色| 激情五月综合网最新 | 婷婷伊人綜合中文字幕| 五月丁香婷婷福利| 97人人草| 涩涩五| 开心婷婷五月综合| 99热精品在这里| 五月丁香在线观看99| 人妻视频在线| 99综合在线| 久久曰曰| 六月婷婷激情| 热久久66| 国产亚洲成人综合| 九九热在线精品视频| 婷婷五月天亚洲综合| 丁香婷婷五月综合色情| ww亚洲ww在线观看| 99国产精品久久久久久久久久久| 夜夜夜夜操| 激情婷婷22月间| www.99热在线观看| 一级黄色影片| 天天射网站| 五月婷婷激情综合网 | 五月婷婷手机在线| 99玖玖视频| 天天肏在线观看| 激情六月下句是什么| WwW色婷婷| 丁香五月天堂| 色婷婷99| 日韩在线看AV| 久久久噜噜噜久久人妻| 玖玖爱综合网| 色香蕉影院| 五月天社区狠狠| 色情五月婷| 久操婷婷| 激情五月婷婷老师| 久久婷婷网站| 日日做A爰片久久毛片A片英语 | 99热综合在线观看| 991精品在线视频| 欧美天天五月丁香免费观看| www...com黄在线观看| 99视频在线播放大全| 天天日日人| 国产女生爱爱AA| 九九AV| AV79| 激情性爱五月天| www婷婷色| 色婷婷激情| 色五月视频无码播放| aaa9区免费在线观看| 色色丁香| 天天操综合网| 思思热久在线观看视频| 97碰碰碰| 极品少妇XXXX精品少妇偷拍|