自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

解釋模型還只看特征重要性?那你就 OUT 咯!

開發(fā) 前端
為了區(qū)分這兩個(gè)方面,我們引入了兩個(gè)概念: 預(yù)測(cè)貢獻(xiàn)和誤差貢獻(xiàn)。這兩個(gè)概念都基于驗(yàn)證數(shù)據(jù)集的 SHAP 值,在文章中我們看到了計(jì)算它們的 Python 代碼。

特征重要性是解釋機(jī)器學(xué)習(xí)模型最常用的工具。這導(dǎo)致我們常常認(rèn)為特征重要性等同于特征好壞。

事實(shí)并非如此。

當(dāng)一個(gè)特征很重要時(shí),它僅僅意味著模型發(fā)現(xiàn)它在訓(xùn)練集中很有用。但是,這并不能說明該特征在新數(shù)據(jù)上的泛化能力!。

為了說明這一點(diǎn),我們需要區(qū)分兩個(gè)概念:

  • 預(yù)測(cè)貢獻(xiàn):變量在模型預(yù)測(cè)中的權(quán)重。這是由模型在訓(xùn)練集中發(fā)現(xiàn)的模式?jīng)Q定的。這相當(dāng)于特征重要性。
  • 錯(cuò)誤貢獻(xiàn):模型在暫存數(shù)據(jù)集上的錯(cuò)誤中,變量所占的權(quán)重。這可以更好地反映特征在新數(shù)據(jù)上的表現(xiàn)。

在本文中,我將解釋在分類模型中計(jì)算這兩個(gè)量背后的邏輯。我還將舉例說明在特征選擇中使用 "誤差貢獻(xiàn) "比使用 "預(yù)測(cè)貢獻(xiàn)" 會(huì)得到更好的結(jié)果。

假設(shè)我們有一個(gè)分類問題,想要預(yù)測(cè)一個(gè)人的收入是低于還是高于 10k。還假設(shè)我們已經(jīng)有了模型的預(yù)測(cè)結(jié)果:

實(shí)際值和模型預(yù)測(cè)實(shí)際值和模型預(yù)測(cè)

預(yù)測(cè)和誤差貢獻(xiàn)的計(jì)算主要基于模型對(duì)每個(gè)個(gè)體的誤差以及每個(gè)個(gè)體的 SHAP 值。因此,我們必須花一點(diǎn)時(shí)間來討論兩個(gè)相關(guān)問題:

  • 分類模型應(yīng)該使用哪種 "誤差"?
  • 我們應(yīng)該如何管理分類模型中的 SHAP 值?

我將在接下來的兩段中討論這些問題。

在分類模型中使用哪種 "誤差"?

我們的主要目標(biāo)是計(jì)算模型中每個(gè)特征的誤差貢獻(xiàn)(Error Contribution)。因此,最重要的問題是:如何定義分類模型中的 "誤差"?

請(qǐng)注意,我們需要一個(gè)可以在個(gè)體水平上計(jì)算的誤差,然后將其匯總到整個(gè)樣本中,得到一個(gè) "平均誤差"(回歸模型的絕對(duì)誤差請(qǐng)看??顛覆認(rèn)知!這個(gè)特征很重要,但不是個(gè)好特征?。?。

分類模型最常用的損失函數(shù)是對(duì)數(shù)損失(又名交叉熵)。它是否適合我們。

下面是對(duì)數(shù)損失的數(shù)學(xué)公式:

圖片圖片

對(duì)數(shù)損失似乎是最佳選擇,因?yàn)?/p>

  • 公式的外部部分只是一個(gè)簡(jiǎn)單的平均值;
  • "損失",顧名思義意思是越小越好(就像 "誤差")。

試著理解一下,為什么我們可以稱它為 "誤差"。為了簡(jiǎn)單起見,把注意力集中在和里面的數(shù)量上:

圖片圖片

這是單個(gè)個(gè)體對(duì)全局對(duì)數(shù)損失的貢獻(xiàn),因此我們可以稱之為 "個(gè)體對(duì)數(shù)損失"。

這個(gè)公式看起來仍然很嚇人,但如果我們考慮到,在二元分類問題中,y只能是 0 或 1,我們就可以得到一個(gè)更簡(jiǎn)單的版本:

圖片圖片

一圖勝千言,現(xiàn)在就很容易理解對(duì)數(shù)損失背后的主要思想了。

圖片圖片

預(yù)測(cè)概率與真實(shí)值(無論是 0 還是 1)相差越遠(yuǎn),損失就越大。此外,如果預(yù)測(cè)值與真實(shí)值相差很遠(yuǎn)(例如,p=.2,y=1 或 p=.8,y=0),那么損失就會(huì)比比例損失更嚴(yán)重。現(xiàn)在我們應(yīng)該更清楚為什么對(duì)數(shù)損失實(shí)際上是一種誤差了。

我們準(zhǔn)備將單個(gè)對(duì)數(shù)損失公式轉(zhuǎn)化為一個(gè) Python 函數(shù)。

為了避免處理無限值(當(dāng) y_pred 恰好為 0 或 1 時(shí)會(huì)出現(xiàn)這種情況),我們將使用一個(gè)小技巧:如果 y_pred 與 0 或 1 的距離小于 ε,我們將其分別設(shè)置為 ε 或 1-ε。對(duì)于 ε,我們將使用 1^-15(這也是 Scikit-learn 使用的默認(rèn)值)。

def individual_log_loss(y_true, y_pred, eps=1e-15):
  """Compute log-loss for each individual of the sample."""
  
  y_pred = np.clip(y_pred, eps, 1 - eps)
  return - y_true * np.log(y_pred) - (1 - y_true) * np.log(1 - y_pred)

我們可以使用該函數(shù)計(jì)算數(shù)據(jù)集中每一行的單個(gè)對(duì)數(shù)損失:

目標(biāo)變量、模型預(yù)測(cè)以及由此產(chǎn)生的個(gè)體對(duì)數(shù)損失目標(biāo)變量、模型預(yù)測(cè)以及由此產(chǎn)生的個(gè)體對(duì)數(shù)損失

可以看出,個(gè)體 1 和個(gè)體 2 的對(duì)數(shù)損失(或誤差)非常小,因?yàn)轭A(yù)測(cè)值都非常接近實(shí)際觀測(cè)值,而個(gè)體 0 的對(duì)數(shù)損失較高。

如何管理分類模型中的 SHAP 值?

最流行的模型是基于樹的模型,如 XGBoost、LightGBM 和 Catboost。在數(shù)據(jù)集上獲取基于樹的分類器的 SHAP 值非常簡(jiǎn)單:

from shap import TreeExplainer

shap_explainer = TreeExplainer(model)
shap_values = shap_explainer.shap_values(X)

# 可以定義一個(gè)函數(shù)來獲取
def get_preds_shaps(df, features, target, ix_trn):
  """Get predictions (predicted probabilities) and SHAP values for a dataset."""
    
  model = LGBMClassifier().fit(df.loc[ix_trn, features], df.loc[ix_trn, target])
  preds = pd.Series(model.predict_proba(df[features])[:,1], index=df.index)
  shap_explainer = TreeExplainer(model)
  shap_expected_value = shap_explainer.expected_value[-1]
  shaps = pd.DataFrame(
    data=shap_explainer.shap_values(df[features])[1],
    index=df.index,
    columns=features)
  return preds, shaps, shap_expected_value

例如,我們計(jì)算了該問題的 SHAP 值,得到了如下結(jié)果:

模型預(yù)測(cè)的 SHAP 值模型預(yù)測(cè)的 SHAP 值

不過,就本文而言,只要知道以下幾點(diǎn)就足夠了:

  • SHAP 正值:該特征導(dǎo)致該個(gè)體的概率增加;
  • SHAP 負(fù)值:該特征導(dǎo)致該個(gè)體的概率降低。

因此,很明顯,個(gè)體的 SHAP 值總和與模型的預(yù)測(cè)之間存在直接關(guān)系。

然而,由于 SHAP 值可以是任何實(shí)際值(正值或負(fù)值),我們不能期望它等于對(duì)該個(gè)體的預(yù)測(cè)概率(即介于 0 和 1 之間的數(shù)字)。那么,SHAP 值總和與預(yù)測(cè)概率之間的關(guān)系是什么呢?

由于 SHAP 值可以是任何負(fù)值或正值,因此我們需要一個(gè)函數(shù)來將 SHAP 和轉(zhuǎn)化為概率。這個(gè)函數(shù)必須具備兩個(gè)特性

  • 它應(yīng)將任何實(shí)數(shù)值 "擠入" 區(qū)間 [0,1];
  • 它應(yīng)該是嚴(yán)格遞增的(因?yàn)檩^高的 SHAP 和總是與較高的預(yù)測(cè)值相關(guān)聯(lián))。

符合這些要求的函數(shù)就是 sigmoid 函數(shù)。因此,模型對(duì)某一行預(yù)測(cè)的概率等于該個(gè)體 SHAP 值總和的正余弦值。

從 SHAP 值到預(yù)測(cè)概率從 SHAP 值到預(yù)測(cè)概率

下面是 sigmoid 函數(shù)的樣子:

圖片圖片

那么,把這個(gè)公式轉(zhuǎn)換成一個(gè) Python 函數(shù):

def shap_sum2proba(shap_sum):
  """Compute sigmoid function of the Shap sum to get predicted probability."""
  
  return 1 / (1 + np.exp(-shap_sum))

還可以用圖形顯示出來,看看我們的個(gè)體在曲線上的位置:

圖片圖片

既然我們已經(jīng)了解了在分類問題中應(yīng)該使用哪種誤差以及如何處理 SHAP 值,那么我們就可以看看如何計(jì)算預(yù)測(cè)值和誤差貢獻(xiàn)值了。

計(jì)算 "預(yù)測(cè)貢獻(xiàn)"

當(dāng) SHAP 值為高度正值(高度負(fù)值)時(shí),預(yù)測(cè)結(jié)果會(huì)比沒有該特征時(shí)高(低)得多。換句話說,如果 SHAP 值的絕對(duì)值很大,那么該特征就會(huì)對(duì)最終預(yù)測(cè)結(jié)果產(chǎn)生很大影響。

這就是為什么我們可以通過取某一特征的 SHAP 絕對(duì)值的平均值來衡量該特征的預(yù)測(cè)貢獻(xiàn)。

prediction_contribution = shap_values.abs().mean()

在玩具數(shù)據(jù)集中,就得到了這樣的結(jié)果:

預(yù)測(cè)貢獻(xiàn)預(yù)測(cè)貢獻(xiàn)

因此,就特征的重要性而言,job是主要特征,其次是nationality,然后是age。

但誤差貢獻(xiàn)率如何呢?

5. 計(jì)算 "誤差貢獻(xiàn)"

"誤差貢獻(xiàn)" 背后的理念是計(jì)算如果我們?nèi)サ粢粋€(gè)給定的特征,模型的誤差會(huì)是多少。

有了 SHAP 值,回答這個(gè)問題就很容易了:如果我們從 SHAP 總和中剔除某個(gè)特征,就可以得到模型在不知道該特征的情況下會(huì)做出的預(yù)測(cè)。但這還不夠:正如我們所看到的,要獲得預(yù)測(cè)概率,我們首先需要應(yīng)用 sigmoid 函數(shù)。

因此,我們首先需要從 SHAP 總和中減去某個(gè)特征的 SHAP 值,然后再應(yīng)用 sigmoid 函數(shù)。這樣,我們就得到了模型在不知道這些特征的情況下的預(yù)測(cè)概率。

在 Python 中,我們可以一次性完成所有特征的預(yù)測(cè):

y_pred_wo_feature = shap_values.apply(lambda feature: shap_values.sum(axis=1) - feature).applymap(shap_sum2proba)

如果刪除相應(yīng)特征,將得到的預(yù)測(cè)結(jié)果如果刪除相應(yīng)特征,將得到的預(yù)測(cè)結(jié)果

這意味著,如果沒有job這一特征,模型預(yù)測(cè)第一個(gè)人的概率為 71%,第二個(gè)人的概率為 62%,第三個(gè)人的概率為 73%。相反,如果我們沒有nationality這一特征,預(yù)測(cè)結(jié)果將分別為 13%、95% 和 0%。

根據(jù)我們移除的特征,預(yù)測(cè)的概率相差很大。因此,得出的誤差(個(gè)體對(duì)數(shù)損失)也會(huì)大不相同。

我們可以使用上面定義的函數(shù)("individual_log_loss")來計(jì)算沒有相應(yīng)特征時(shí)的個(gè)體對(duì)數(shù)損失:

ind_log_loss_wo_feature = y_pred_wo_feature.apply(lambda feature: individual_log_loss(y_true=y_true, y_pred=feature))

如果刪除相應(yīng)特征,我們將獲得的單個(gè)對(duì)數(shù)損失如果刪除相應(yīng)特征,我們將獲得的單個(gè)對(duì)數(shù)損失

例如,如果我們選取第一行,我們可以看到,如果沒有job特征,對(duì)數(shù)損失將為 1.24,但如果沒有nationality特征,對(duì)數(shù)損失僅為 0.13。由于我們要盡量減少損失,在這種情況下,最好是去掉nationality這個(gè)特征。

現(xiàn)在,要知道有或沒有該特征的模型會(huì)更好,我們可以計(jì)算完整模型的單個(gè)對(duì)數(shù)損失與沒有該特征的單個(gè)對(duì)數(shù)損失之間的差值:

ind_log_loss = individual_log_loss(y_true=y_true, y_pred=y_pred)
ind_log_loss_diff = ind_log_loss_wo_feature.apply(lambda feature: ind_log_loss - feature)

模型誤差與沒有該特征時(shí)的誤差之差模型誤差與沒有該特征時(shí)的誤差之差

如果這個(gè)數(shù)字是

  • 負(fù)數(shù),則該特征的存在會(huì)導(dǎo)致預(yù)測(cè)誤差減小,因此該特征對(duì)該觀測(cè)結(jié)果非常有效。
  • 正數(shù),則該特征的存在會(huì)導(dǎo)致預(yù)測(cè)誤差增大,因此該特征對(duì)該觀測(cè)結(jié)果不利。

最后,我們可以按列計(jì)算出每個(gè)特征的誤差貢獻(xiàn)值,即這些值的平均值:

error_contribution = ind_log_loss_diff.mean()

錯(cuò)誤貢獻(xiàn)錯(cuò)誤貢獻(xiàn)

一般來說,如果這個(gè)數(shù)字是負(fù)數(shù),則說明該特征具有積極作用;相反,如果這個(gè)數(shù)字是正數(shù),則說明該特征對(duì)模型有害,因?yàn)樗鶗?huì)增加模型的平均誤差。

在這種情況下,我們可以看到,模型中job特征的存在導(dǎo)致個(gè)體對(duì)數(shù)損失平均減少-0.897,而nationality特征的存在導(dǎo)致個(gè)體對(duì)數(shù)損失平均增加 0.049。因此,盡管nationality是第二重要的特征,但它的效果并不好,因?yàn)樗鼤?huì)使平均個(gè)體對(duì)數(shù)損失增加 0.049。

將以上過程總結(jié)一個(gè)函數(shù)公后續(xù)使用:

def get_feature_contributions(y_true, y_pred, shap_values, shap_expected_value):
  """Compute prediction contribution and error contribution for each feature."""

  prediction_contribution = shap_values.abs().mean().rename("prediction_contribution")
  
  ind_log_loss = individual_log_loss(y_true=y_true, y_pred=y_pred).rename("log_loss")
  y_pred_wo_feature = shap_values.apply(lambda feature: shap_expected_value + shap_values.sum(axis=1) - feature).applymap(shap_sum2proba)
  ind_log_loss_wo_feature = y_pred_wo_feature.apply(lambda feature: individual_log_loss(y_true=y_true, y_pred=feature))
  ind_log_loss_diff = ind_log_loss_wo_feature.apply(lambda feature: ind_log_loss - feature)
  error_contribution = ind_log_loss_diff.mean().rename("error_contribution").T
  
  return prediction_contribution, error_contribution

真實(shí)數(shù)據(jù)集示例

具體代碼可參考上一篇內(nèi)容:

下面,我將使用來自Pycaret的數(shù)據(jù)集。該數(shù)據(jù)集名為 "Gold",包含一些金融數(shù)據(jù)的時(shí)間序列。

數(shù)據(jù)集樣本。特征均以百分比表示,因此 -4.07 表示回報(bào)率為 -4.07%數(shù)據(jù)集樣本。特征均以百分比表示,因此 -4.07 表示回報(bào)率為 -4.07%

特征包括觀察時(shí)刻前 22 天、14 天、7 天和 1 天("T-22"、"T-14"、"T-7"、"T-1")的金融資產(chǎn)回報(bào)率。以下是用作預(yù)測(cè)特征的所有金融資產(chǎn):

圖片圖片

可用資產(chǎn)列表。每種資產(chǎn)的觀測(cè)時(shí)間分別為-22、-14、-7 和-1。

我們總共有 120 個(gè)特征。

我們的目標(biāo)是預(yù)測(cè)黃金未來 22 天的回報(bào)率是否會(huì)大于 5%。換句話說,目標(biāo)變量是0/1變量的:

  • 0,如果黃金未來 22 天的回報(bào)率小于 5%;
  • 1,如果黃金未來 22 天的回報(bào)率大于 5%。

圖片圖片

未來 22 天黃金回報(bào)率柱狀圖。標(biāo)為紅色的閾值用于定義我們的目標(biāo)變量:回報(bào)率是否大于 5%

加載數(shù)據(jù)集后,我執(zhí)行了以下步驟:

  1. 隨機(jī)分割整個(gè)數(shù)據(jù)集:33% 的行在訓(xùn)練數(shù)據(jù)集中,另外 33% 在驗(yàn)證數(shù)據(jù)集中,剩下的 33% 在測(cè)試數(shù)據(jù)集中。
  2. 在訓(xùn)練數(shù)據(jù)集上訓(xùn)練 LightGBM 分類器。
  3. 使用上一步訓(xùn)練的模型對(duì)訓(xùn)練、驗(yàn)證和測(cè)試數(shù)據(jù)集進(jìn)行預(yù)測(cè)。
  4. 使用 Python 庫 "shap "計(jì)算訓(xùn)練、驗(yàn)證和測(cè)試數(shù)據(jù)集的 SHAP 值。
  5. 使用我們?cè)谏弦欢沃锌吹降拇a,計(jì)算每個(gè)特征在每個(gè)數(shù)據(jù)集(訓(xùn)練集、驗(yàn)證集和測(cè)試集)上的預(yù)測(cè)貢獻(xiàn)值和誤差貢獻(xiàn)值。

至此,我們就有了預(yù)測(cè)貢獻(xiàn)值和誤差貢獻(xiàn)值,可以對(duì)它們進(jìn)行比較了:

預(yù)測(cè)貢獻(xiàn)與誤差貢獻(xiàn)(驗(yàn)證數(shù)據(jù)集)預(yù)測(cè)貢獻(xiàn)與誤差貢獻(xiàn)(驗(yàn)證數(shù)據(jù)集)

通過觀察這幅圖,我們可以對(duì)模型有寶貴的了解。

最重要的特征是 T-22 天的美國(guó)債券 ETF,但它并沒有帶來如此大的誤差減少。最好的特征是 T-22 日的 3M Libor,因?yàn)樗茏畲蟪潭鹊販p少誤差。

玉米價(jià)格有一些非常有趣的地方。T-1 期和 T-22 期的收益率都是最重要的特征之一,但其中一個(gè)特征(T-1 期)是過度擬合的(因?yàn)樗鼤?huì)使預(yù)測(cè)誤差變大)。

一般來說,我們可以觀察到所有誤差貢獻(xiàn)較大的特征都是相對(duì)于 T-1 或 T-14(觀察時(shí)刻前 1 天或 14 天)而言的,而所有誤差貢獻(xiàn)較小的特征都是相對(duì)于 T-22(觀察時(shí)刻前 22 天)而言的。這似乎表明,最近的特征容易過度擬合,而較早回報(bào)的特征往往概括性更好。

除了深入了解模型之外,我們還可以很自然地想到使用誤差貢獻(xiàn)來進(jìn)行特征選擇。這就是我們下一段要做的。

"誤差貢獻(xiàn)"進(jìn)行遞歸特征消除

遞歸特征消除(RFE)是從數(shù)據(jù)集中逐步去除特征的過程,目的是獲得更好的模型。

RFE 算法非常簡(jiǎn)單:

  1. 初始化特征列表;
  2. 使用當(dāng)前特征列表作為預(yù)測(cè)因子,在訓(xùn)練集上訓(xùn)練一個(gè)模型;
  3. 從特征列表中刪除 "最差 "特征;
  4. 回到第 2 步(直到特征列表為空)。

在傳統(tǒng)方法中,"最差" = 最不重要。然而,根據(jù)我們的觀察,我們可能會(huì)反對(duì)先刪除危害最大的特征。

換句話說

  • 傳統(tǒng)的 RFE:先去除最無用的特征(最無用 = 驗(yàn)證集上最低的預(yù)測(cè)貢獻(xiàn))。
  • 我們的 RFE:先去除最有害的特征(最有害 = 驗(yàn)證集上最高的誤差貢獻(xiàn))。

為了驗(yàn)證這種直覺是否正確,我使用這兩種方法進(jìn)行了模擬。

這是驗(yàn)證集上的對(duì)數(shù)損失結(jié)果:

兩種策略在驗(yàn)證集上的對(duì)數(shù)損失兩種策略在驗(yàn)證集上的對(duì)數(shù)損失

由于對(duì)數(shù)損失是一個(gè) "越低越好 "的指標(biāo),我們可以看到,在驗(yàn)證數(shù)據(jù)集上,我們的 RFE 版本明顯優(yōu)于經(jīng)典 RFE。

不過,你可能會(huì)懷疑,只看驗(yàn)證集并不公平,因?yàn)檎`差貢獻(xiàn)是在驗(yàn)證集上計(jì)算的。那么,我們來看看測(cè)試集。

兩種策略在測(cè)試集上的對(duì)數(shù)損失兩種策略在測(cè)試集上的對(duì)數(shù)損失

即使現(xiàn)在兩種方法之間的差距變小了,但我們可以看到差距仍然很大,因此足以得出結(jié)論:在這個(gè)數(shù)據(jù)集上,基于誤差貢獻(xiàn)的 RFE 明顯優(yōu)于基于預(yù)測(cè)貢獻(xiàn)的 RFE。

除了對(duì)數(shù)損失,我們還可以考慮一種更有實(shí)用價(jià)值的指標(biāo)。例如,我們來看看驗(yàn)證集上的平均精度:

兩種策略在驗(yàn)證集上的平均精確度兩種策略在驗(yàn)證集上的平均精確度

值得注意的是,盡管貢獻(xiàn)誤差是基于對(duì)數(shù)損失計(jì)算的,但我們?cè)谄骄确矫嬉踩〉昧撕芎玫慕Y(jié)果。

如果我們想根據(jù)平均精度做出決定,那么我們就會(huì)選擇驗(yàn)證集上平均精度最高的模型。這意味著:

  • 基于誤差貢獻(xiàn)的 RFE:具有 19 個(gè)特征的模型;
  • 基于預(yù)測(cè)貢獻(xiàn)的 RFE:具有 14 個(gè)特征的模型;

如果我們這樣做,在新數(shù)據(jù)上會(huì)觀察到什么性能?回答這個(gè)問題的最佳代表就是測(cè)試集:

圖片圖片

兩種策略在驗(yàn)證集上的平均精確度

同樣在這種情況下,基于誤差貢獻(xiàn)的 RFE 性能總體上優(yōu)于基于預(yù)測(cè)貢獻(xiàn)的 RFE。特別是,根據(jù)我們之前的判斷:

  • 基于誤差貢獻(xiàn)的 RFE(包含 19 個(gè)特征的模型): 平均精確度為 72.8%;
  • 基于預(yù)測(cè)貢獻(xiàn)的 RFE(模型有 14 個(gè)特征):平均精度為 65.6%: 平均精度為 65.6%。

因此,通過使用基于誤差貢獻(xiàn)的 RFE,而不是傳統(tǒng)的基于預(yù)測(cè)貢獻(xiàn)的 RFE,我們可以在平均精確度上額外獲得 7.2% 的顯著提高!

結(jié)論

特征重要性的概念在機(jī)器學(xué)習(xí)中扮演著重要角色。然而,"重要性" 的概念常常被誤認(rèn)為是 "好"。

為了區(qū)分這兩個(gè)方面,我們引入了兩個(gè)概念: 預(yù)測(cè)貢獻(xiàn)和誤差貢獻(xiàn)。這兩個(gè)概念都基于驗(yàn)證數(shù)據(jù)集的 SHAP 值,在文章中我們看到了計(jì)算它們的 Python 代碼。

我們還在一個(gè)真實(shí)的金融數(shù)據(jù)集(其中的任務(wù)是預(yù)測(cè)黃金價(jià)格)上對(duì)它們進(jìn)行了嘗試,結(jié)果證明,與傳統(tǒng)的基于預(yù)測(cè)貢獻(xiàn)的 RFE 相比,基于誤差貢獻(xiàn)的遞歸特征消除可使平均精度提高 7%。

責(zé)任編輯:武曉燕 來源: 數(shù)據(jù)STUDIO
相關(guān)推薦

2021-07-19 16:23:55

數(shù)據(jù)安全滴滴大數(shù)據(jù)

2021-04-16 20:46:21

PythonXGBoost 特征

2017-01-03 17:50:04

2023-09-18 15:54:56

Python機(jī)器學(xué)習(xí)

2009-12-25 15:00:48

WPF軟件

2023-10-24 11:07:57

2010-07-30 16:28:06

2013-08-08 10:10:06

備份策略全備份增量備份

2020-08-27 07:00:00

代碼軟件應(yīng)用程序

2017-12-29 10:14:48

IT項(xiàng)目

2009-12-23 15:57:40

WPF傳遞事件

2011-07-05 18:30:44

站內(nèi)優(yōu)化

2017-08-04 08:48:33

公有云云存儲(chǔ)故障

2009-05-05 09:45:56

程序員職場(chǎng)成長(zhǎng)過程

2009-11-25 17:36:38

PHP函數(shù)includ

2016-08-29 20:31:17

2010-07-05 14:27:30

UML各種圖形

2009-03-03 17:25:41

2011-08-11 10:12:11

2021-12-22 23:12:19

物聯(lián)網(wǎng)隱私安全
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)