日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

【数据挖掘】特征相关性挖掘神器-线性非线性关系一键挖掘!

發(fā)布時(shí)間:2025/3/12 编程问答 14 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【数据挖掘】特征相关性挖掘神器-线性非线性关系一键挖掘! 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

作者:杰少

Kaggle競(jìng)賽知識(shí)點(diǎn)--PredictivePowerScore(PPS)

簡(jiǎn) 介

很多時(shí)候,我們?cè)谟?jì)算特征之間相關(guān)性或者繪制相關(guān)性矩陣的時(shí)候習(xí)慣性地會(huì)使用Pearson相關(guān)性,這在諸多問(wèn)題中確實(shí)可以為模型預(yù)測(cè)等方面帶來(lái)很多幫助,但它卻存在著下面三個(gè)比較大的問(wèn)題:

  • 考慮的是特征之間的線性關(guān)系,如果絕對(duì)值越大,那么兩個(gè)變量之間的線性相關(guān)性就越強(qiáng),反之線性關(guān)系就越低;如果兩個(gè)變量之間存在極強(qiáng)的非線性關(guān)系,也會(huì)因?yàn)榫€性關(guān)系較低,而被誤以為沒(méi)什么關(guān)系;

  • 沒(méi)法同時(shí)適用于類別變量和數(shù)值變量的關(guān)系計(jì)算,或者計(jì)算得到的分?jǐn)?shù)價(jià)值也不大;

  • 相關(guān)性系數(shù)矩陣是對(duì)稱的,而在許多問(wèn)題中我們特征變量之間的關(guān)系并不一定是對(duì)稱的;

  • 那么有沒(méi)有一種方法可以同時(shí)緩解上面的幾個(gè)問(wèn)題呢?有的!就是本文介紹的PPS(Predictive Power Score)。

    Predictive Power Score

    假設(shè)我們有兩個(gè)變量,想要計(jì)算變量預(yù)測(cè)的能力,我們通過(guò)下面的方式進(jìn)行計(jì)算:

    • 將變量作為目標(biāo)變量,將作為特征;

    • 使用決策樹(shù)進(jìn)行交叉驗(yàn)證,并依據(jù)評(píng)估指標(biāo)計(jì)算得到分?jǐn)?shù)cross_score;

      • 當(dāng)變量為數(shù)值型,我們使用Decision Tree Regressor并計(jì)算MAE);

      • 當(dāng)變量為類別型,我們使用Decision Tree Classifier并計(jì)算weighted F1);

    • 計(jì)算的值作為我們最終的分?jǐn)?shù);

      • 分類問(wèn)題:final_score = (cross_score - naive_score)/(1-naive_score),這里naive_score是出現(xiàn)最多的類作為最終預(yù)測(cè)結(jié)果計(jì)算得到的分?jǐn)?shù);,使用中位數(shù)作為最終預(yù)測(cè)結(jié)果計(jì)算得到的分?jǐn)?shù);

      • 回歸問(wèn)題:final_score = 1 - (cross_score / naive_mae),這里naive_score是使用中位數(shù)作為最終預(yù)測(cè)結(jié)果計(jì)算得到的分?jǐn)?shù);

    代碼

    此處我們構(gòu)建一個(gè)二次關(guān)系:特征從-2到2的均勻變量,目標(biāo)是的平方加上一些誤差,perfect是的平方。

    import?pandas??as?pd import?numpy???as?np #?!pip?install?-U?ppscore import?ppscore?as?pps import?matplotlib.pyplot?as?plt import?seaborn?as?sns df??????????=?pd.DataFrame() df["x"]?????=?np.random.uniform(-2,?2,?1_000_000) df["error"]?=?np.random.uniform(-0.5,?0.5,?1_000_000) df["y"]?????=?df["x"]?*?df["x"]?+?df["error"] df["y_perfect"]?????=?df["x"]?*?df["x"]? plt.figure(figsize=[10,6]) sns.scatterplot(x?=?'x',?y?='y',?data=df)? <AxesSubplot:xlabel='x', ylabel='y'>

    1.對(duì)稱性分析

    • 變量的分?jǐn)?shù)是不一樣的,非對(duì)稱的;

    pps.score(df,?"x",?"y") {'x': 'x','y': 'y','ppscore': 0.6698987690580689,'case': 'regression','is_valid_score': True,'metric': 'mean absolute error','baseline_score': 1.0177846519084408,'model_score': 0.3359719664287812,'model': DecisionTreeRegressor()} pps.score(df,?"y",?"x") {'x': 'y','y': 'x','ppscore': 0,'case': 'regression','is_valid_score': True,'metric': 'mean absolute error','baseline_score': 1.0030129309668745,'model_score': 1.0892163726367778,'model': DecisionTreeRegressor()}

    2.可視化

    • 基于PPS的相關(guān)性矩陣

    plt.figure(figsize=[10,6]) matrix_df?=?pps.matrix(df)[['x',?'y',?'ppscore']].pivot(columns='y',?index='x',?values='ppscore') sns.heatmap(matrix_df,?vmin=0,?vmax=1,?cmap="Blues",?linewidths=0.5,?annot=True) <AxesSubplot:xlabel='y', ylabel='x'>
    • 基于Person相關(guān)系數(shù)的相關(guān)性矩陣

    plt.figure(figsize=[10,6]) sns.heatmap(df.corr(),?vmin=0,?vmax=1,?cmap="Reds",?linewidths=0.5,?annot=True) <AxesSubplot:>

    3.小結(jié)

    從上面的分析我們可以發(fā)現(xiàn):

    • 基于Person相關(guān)系數(shù)的方法完全沒(méi)有找到與的潛在關(guān)系;

    • 給予PPS的方法則完美的找到了與以及perfect的關(guān)系。

    適用問(wèn)題

    PPS的方法適用的問(wèn)題非常多,應(yīng)用的方面也很廣,此處我們將其歸納為下面幾點(diǎn):

    • 數(shù)據(jù)分析:PPS的方式可以表示兩個(gè)數(shù)據(jù)之間的潛在關(guān)系(線性的非線性的),PPS的相關(guān)性圖是非常好的一種可視化的解釋方式;

    • 特征篩選,其特征篩選的方式和Pearson相關(guān)性的方式類似,如果我們變量與標(biāo)簽之間的PPS分?jǐn)?shù)很低的話,那么該特征可能和我們的目標(biāo)變量并不存在任何關(guān)系,包括線性的和非線性的關(guān)系,可以考慮直接刪除處理;

    • 信息泄漏:使用PPS矩陣檢測(cè)變量之間的信息泄漏-信息泄漏是通過(guò)其他變量導(dǎo)致的。

    當(dāng)然因?yàn)镻PS是基于模型(目前主要是決策樹(shù)相關(guān)的模型)計(jì)算得到的,所以它也帶來(lái)了一些劣勢(shì):

    • 計(jì)算時(shí)間更高;

    • PPS的分?jǐn)?shù)無(wú)法像相關(guān)性那樣容易解釋(線性相關(guān)性的PPS可能為1,二次關(guān)系的PPS也可能為1),所以PPS更適合于發(fā)現(xiàn)模式;

    • 無(wú)法用嚴(yán)格的數(shù)學(xué)方法比較不同目標(biāo)變量的得分,它們是使用不同的評(píng)估指標(biāo)計(jì)算得到的;

    • 目前的PPS是基于決策樹(shù)為主的模型進(jìn)行計(jì)算的,所以決策樹(shù)的劣勢(shì)也會(huì)在PPS計(jì)算中存在;

    參考文獻(xiàn)

  • Predictive Power Score vs Correlation

  • Correlation Vs Predictive Power Score

  • RIP correlation. Introducing the Predictive Power Score

  • https://github.com/8080labs/ppscore

  • 往期精彩回顧適合初學(xué)者入門(mén)人工智能的路線及資料下載機(jī)器學(xué)習(xí)及深度學(xué)習(xí)筆記等資料打印機(jī)器學(xué)習(xí)在線手冊(cè)深度學(xué)習(xí)筆記專輯《統(tǒng)計(jì)學(xué)習(xí)方法》的代碼復(fù)現(xiàn)專輯 AI基礎(chǔ)下載機(jī)器學(xué)習(xí)的數(shù)學(xué)基礎(chǔ)專輯溫州大學(xué)《機(jī)器學(xué)習(xí)課程》視頻 本站qq群851320808,加入微信群請(qǐng)掃碼:

    總結(jié)

    以上是生活随笔為你收集整理的【数据挖掘】特征相关性挖掘神器-线性非线性关系一键挖掘!的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。