人工智能-python-特征選擇-皮爾遜相關系數

以下是關于特征選擇中常用方法的表格總結,并且詳細闡述了皮爾遜相關系數的原理、計算方法、步驟以及示例。

常用特征選擇方法總結

方法原理優點缺點使用場景
過濾法(Filter Method)基于特征的統計信息(如相關性、方差等)篩選特征。簡單、計算效率高,適用于大數據無法考慮特征之間的依賴關系適用于高維數據,快速篩選特征
包裹法(Wrapper Method)使用預測模型評估特征子集的效果,并通過遞歸或貪心算法進行選擇。選擇特征考慮了模型性能計算成本高,可能過擬合適用于較小數據集,模型訓練時間可接受時
嵌入法(Embedded Method)在模型訓練過程中進行特征選擇,如L1正則化(Lasso回歸)等。結合了模型訓練,減少了計算開銷可能對高維數據不夠有效適用于大數據,能夠同時訓練模型和選擇特征
基于相關系數的特征選擇通過計算特征與目標變量之間的相關系數,篩選與目標相關性高的特征,并去除冗余特征。簡單直觀,適用于特征間相關性較強只能處理線性關系,忽略非線性關系適用于線性關系較強的回歸或分類問題
基于樹的方法(如隨機森林)通過訓練樹模型(如隨機森林)來計算特征的重要性,并選擇重要特征。適用于大規模數據集可能過擬合,計算復雜度高適用于分類、回歸任務,數據集較大時
主成分分析(PCA)將數據線性變換到一個新的坐標系,使得新特征的方差最大化,通常用于降維。可以有效降維,減少計算開銷只能處理線性關系,解釋性差適用于大規模數據,特征相關性較強時

皮爾遜相關系數的詳細闡述

1. 原理

皮爾遜相關系數(Pearson Correlation Coefficient,簡稱PCC)是衡量兩個變量之間線性相關程度的一個統計量。它的取值范圍為[?1,1][-1, 1][?1,1],數值越接近1或-1,表示相關性越強,數值接近0則表示無相關性。

  • r=1r = 1r=1:完全正相關,兩個變量的關系是線性且相同方向。
  • r=?1r = -1r=?1:完全負相關,兩個變量的關系是線性且相反方向。
  • r=0r = 0r=0:沒有線性關系。
2. 計算方法

皮爾遜相關系數的計算公式如下:

rxy=∑(xi?xˉ)(yi?yˉ)∑(xi?xˉ)2∑(yi?yˉ)2 r_{xy} = \frac{\sum{(x_i - \bar{x})(y_i - \bar{y})}}{\sqrt{\sum{(x_i - \bar{x})^2}\sum{(y_i - \bar{y})^2}}} rxy?=(xi??xˉ)2(yi??yˉ?)2?(xi??xˉ)(yi??yˉ?)?

其中:

  • rxyr_{xy}rxy? 是變量 xxxyyy 的皮爾遜相關系數。
  • xix_ixi?yiy_iyi? 是數據集中的第 iii 個觀測值。
  • xˉ\bar{x}xˉyˉ\bar{y}yˉ? 是變量 xxxyyy 的均值。
3. 計算步驟
  1. 計算每個變量的均值

    xˉ=1n∑i=1nxi和yˉ=1n∑i=1nyi \bar{x} = \frac{1}{n} \sum_{i=1}^{n} x_i \quad \text{和} \quad \bar{y} = \frac{1}{n} \sum_{i=1}^{n} y_i xˉ=n1?i=1n?xi?yˉ?=n1?i=1n?yi?

  2. 計算每對數據點的偏差(xi?xˉx_i - \bar{x}xi??xˉyi?yˉy_i - \bar{y}yi??yˉ?

  3. 計算偏差的乘積和

    ∑(xi?xˉ)(yi?yˉ) \sum{(x_i - \bar{x})(y_i - \bar{y})} (xi??xˉ)(yi??yˉ?)

  4. 計算各自的方差

    ∑(xi?xˉ)2,∑(yi?yˉ)2 \sum{(x_i - \bar{x})^2}, \quad \sum{(y_i - \bar{y})^2} (xi??xˉ)2,(yi??yˉ?)2

  5. 計算皮爾遜相關系數

    rxy=∑(xi?xˉ)(yi?yˉ)∑(xi?xˉ)2∑(yi?yˉ)2 r_{xy} = \frac{\sum{(x_i - \bar{x})(y_i - \bar{y})}}{\sqrt{\sum{(x_i - \bar{x})^2}\sum{(y_i - \bar{y})^2}}} rxy?=(xi??xˉ)2(yi??yˉ?)2?(xi??xˉ)(yi??yˉ?)?

4. 示例

假設我們有兩個特征 XXXYYY 的數據集如下:

XXXYYY
12
23
34
45

步驟 1:計算均值

Xˉ=1+2+3+44=2.5,Yˉ=2+3+4+54=3.5 \bar{X} = \frac{1 + 2 + 3 + 4}{4} = 2.5, \quad \bar{Y} = \frac{2 + 3 + 4 + 5}{4} = 3.5 Xˉ=41+2+3+4?=2.5,Yˉ=42+3+4+5?=3.5

步驟 2:計算偏差

  • 對于 XXX

    X?Xˉ=[1?2.5,2?2.5,3?2.5,4?2.5]=[?1.5,?0.5,0.5,1.5] X - \bar{X} = [1-2.5, 2-2.5, 3-2.5, 4-2.5] = [-1.5, -0.5, 0.5, 1.5] X?Xˉ=[1?2.5,2?2.5,3?2.5,4?2.5]=[?1.5,?0.5,0.5,1.5]

  • 對于 YYY

    Y?Yˉ=[2?3.5,3?3.5,4?3.5,5?3.5]=[?1.5,?0.5,0.5,1.5] Y - \bar{Y} = [2-3.5, 3-3.5, 4-3.5, 5-3.5] = [-1.5, -0.5, 0.5, 1.5] Y?Yˉ=[2?3.5,3?3.5,4?3.5,5?3.5]=[?1.5,?0.5,0.5,1.5]

步驟 3:計算偏差的乘積和

∑(Xi?Xˉ)(Yi?Yˉ)=(?1.5×?1.5)+(?0.5×?0.5)+(0.5×0.5)+(1.5×1.5)=2.25+0.25+0.25+2.25=5 \sum{(X_i - \bar{X})(Y_i - \bar{Y})} = (-1.5 \times -1.5) + (-0.5 \times -0.5) + (0.5 \times 0.5) + (1.5 \times 1.5) = 2.25 + 0.25 + 0.25 + 2.25 = 5 (Xi??Xˉ)(Yi??Yˉ)=(?1.5×?1.5)+(?0.5×?0.5)+(0.5×0.5)+(1.5×1.5)=2.25+0.25+0.25+2.25=5

步驟 4:計算方差

  • XXX 的方差:

    ∑(Xi?Xˉ)2=(?1.5)2+(?0.5)2+(0.5)2+(1.5)2=2.25+0.25+0.25+2.25=5 \sum{(X_i - \bar{X})^2} = (-1.5)^2 + (-0.5)^2 + (0.5)^2 + (1.5)^2 = 2.25 + 0.25 + 0.25 + 2.25 = 5 (Xi??Xˉ)2=(?1.5)2+(?0.5)2+(0.5)2+(1.5)2=2.25+0.25+0.25+2.25=5

  • YYY 的方差:

    ∑(Yi?Yˉ)2=(?1.5)2+(?0.5)2+(0.5)2+(1.5)2=2.25+0.25+0.25+2.25=5 \sum{(Y_i - \bar{Y})^2} = (-1.5)^2 + (-0.5)^2 + (0.5)^2 + (1.5)^2 = 2.25 + 0.25 + 0.25 + 2.25 = 5 (Yi??Yˉ)2=(?1.5)2+(?0.5)2+(0.5)2+(1.5)2=2.25+0.25+0.25+2.25=5

步驟 5:計算皮爾遜相關系數

rxy=55×5=55=1 r_{xy} = \frac{5}{\sqrt{5 \times 5}} = \frac{5}{5} = 1 rxy?=5×5?5?=55?=1

所以,rxy=1r_{xy} = 1rxy?=1,表明 XXXYYY 完全正相關。


總結:

  • 皮爾遜相關系數用來衡量兩個變量的線性相關性,取值范圍為[?1,1][-1, 1][?1,1]
  • 計算過程包括數據的均值計算、偏差乘積和、方差計算等步驟。
  • 它適用于評估連續數值型特征間的相關性,并廣泛用于特征選擇中,尤其是當我們想要移除冗余特征時。
  • 當然如果你看過另一篇關于特征降維的文章,那么你可能會有疑問,因為PCA和基于樹的選擇在特征選擇和特征降維里面都出現了。
  • 雖然 PCA 和 基于樹的選擇方法(如隨機森林) 經常出現在特征選擇和特征降維的討論中,但它們的作用有所不同:

PCA 更多是通過生成新的特征(主成分)來實現降維,也可以視為一種選擇重要特征的方式。

基于樹的方法,如隨機森林,主要通過選擇最重要的原始特征來達到降維和提高模型準確性的目的。

它們兩者的共同點在于減少特征的數量,但方法和實現方式不同。在實際應用中,它們常常結合使用,以便同時進行特征選擇和降維,優化模型的性能。

如果有更多問題或者需要進一步的解釋,隨時告訴我!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/92540.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/92540.shtml
英文地址,請注明出處:http://en.pswp.cn/web/92540.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

LabVIEW多循環架構

?LabVIEW的多循環架構是一種常見的架構,本文Temperature Monitoring.vi 采用 LabVIEW 典型的多循環并行架構,通過功能模塊化設計實現溫度監測全流程,各循環獨立運行又協同工作,構成完整的監測系統。1. 事件處理循環(E…

深入理解Maven BOM

一、什么是Maven BOM? 1.1 BOM的基本概念 Maven BOM(Bill of Materials,材料清單)是一種特殊的POM文件,它主要用于集中管理多個相關依賴的版本。BOM本身不包含任何實際代碼,而是作為一個 版本管理的"參…

Mysql分頁:高效處理海量數據的核心技術

Mysql分頁:高效處理海量數據的核心技術01 引言 在Web應用、移動應用或數據分析場景中,數據庫常常需要處理百萬甚至千萬級的數據記錄。一次性加載所有數據不僅效率低下,還會消耗大量網絡帶寬和內存資源。數據庫分頁技術正是解決這一挑戰的關鍵…

通過 Docker 運行 Prometheus 入門

Promethues 組件 prometheus serverexporteralertmanager 環境準備 Docker 拉取鏡像備用 # https://hub.docker.com/r/prom/prometheus docker pull m.daocloud.io/docker.io/prom/prometheus:main# https://hub.docker.com/r/prom/node-exporter docker pull m.daocloud.io/do…

Java 8特性(一)

目錄 一、Lambda表達式 1、語法格式: (1)接口名 對象名(參數類型1參數名1,....參數類型n 參數名n)->{方法體;} (2)參數類型h 參數名n:接口中抽象方法的參數項 (3)->:表示連接操作 &a…

【代碼隨想錄|232.用棧實現隊列、225.用隊列實現棧、20.有效的括號、1047.刪除字符串中的所有相鄰重復項】

232.用棧實現隊列 timutimtit232. 用棧實現隊列 - 力扣&#xff08;LeetCode&#xff09; class MyQueue { public:stack<int> Sin;stack<int> Sout;MyQueue() {}void push(int x) {Sin.push(x);}int pop() {if (Sout.empty()) { // 出棧為空就把入棧的數導出來w…

碼上爬第三題【協程+瀏覽器調試檢測】

前言&#xff1a;圖靈第三題就是對用戶瀏覽器調試檢測&#xff0c;檢測鼠標右擊打開控制臺&#xff0c;檢測鍵盤按鍵ctrlshifti&#xff0c;從瀏覽器設置打開開發者工具也不行&#xff0c;應該是有瀏覽器寬高檢測的&#xff0c;所以我們保證瀏覽器頁面寬高不變即可。你如果想右…

windows、linux應急響應入侵排查

windows入侵排查 1.1檢查賬號 1.查看服務器是否有弱口令&#xff0c;遠程管理端口是否對公網開放 2.查看服務器是否存在可疑賬號、新增賬號 檢查方法&#xff1a;打開 cmd 窗口&#xff0c;輸入 lusrmgr.msc 命令&#xff0c;查看是否有新增/可疑的賬號&#xff0c;如有管…

11. 為什么要用static關鍵字

11. 為什么要用static關鍵字 static&#xff1a;通常來說&#xff1a;在new一個對象的時候&#xff0c;數據存儲空間才會被分配&#xff0c;方法才能被外界使用。但是有時只想單獨分配一個存儲空間&#xff0c;不考慮需要創建對象或不創建對象&#xff0c;在沒有對象的情況下也…

[Oracle] MAX()和MIN()函數

MAX() 和 MIN() 是 Oracle 常用的聚合函數&#xff0c;用于從一組值中找出最大值和最小值1.MAX()函數MAX()函數返回指定列或表達式中的最大值語法格式MAX(expression)參數說明expression&#xff1a;可以是列名、計算列或表達式示例-- 返回employees表中salary列的最大值 SELEC…

網絡資源模板--基于Android Studio 實現的麻雀筆記App

目錄 一、測試環境說明 二、項目簡介 三、項目演示 四、部設計詳情&#xff08;部分) 添加頁面 五、項目源碼 一、測試環境說明 電腦環境 Windows 11 編寫語言 JAVA 開發軟件 Android Studio (2020) 開發軟件只要大于等于測試版本即可(近幾年官網直接下載也可以)&…

96-基于Flask的酷狗音樂數據可視化分析系統

基于Flask的酷狗音樂數據可視化分析系統 &#x1f4cb; 目錄 項目概述技術棧系統架構功能特性數據庫設計核心代碼實現數據可視化部署指南項目總結 &#x1f3af; 項目概述 本項目是一個基于Flask框架開發的酷狗音樂數據可視化分析系統&#xff0c;旨在為用戶提供音樂數據的…

Java基礎-紅包雨游戲-多線程

目錄 案例要求&#xff1a; 實現思路&#xff1a; 代碼&#xff1a; Employee RedPacket RedPacketRain 總結&#xff1a; 案例要求&#xff1a; 實現思路&#xff1a; 創建一個員工類,id和搶到的金額&#xff0c;創建一個紅包類&#xff0c;里面就是金額&#xff0c;創…

[激光原理與應用-203]:光學器件 - 增益晶體 - 增益晶體的使用方法

增益晶體是激光器的核心元件&#xff0c;其作用是通過受激輻射放大光信號。正確使用增益晶體需綜合考慮晶體選型、光路設計、熱管理、泵浦方式及安全防護等關鍵環節。以下是增益晶體的詳細使用方法及注意事項&#xff1a;一、晶體選型&#xff1a;根據需求匹配參數材料選擇Nd:Y…

?什么是抽象主義人工智能??

什么是抽象主義人工智能&#xff1f; 傳統的人工智能分為符號主義和連接主義兩個派別&#xff0c;后來又增加了行為主義。 我發現符號主義和連接主義處理的都是文本&#xff0c;而不是語義。原來的專家系統是符號主義的產物。現在的大語言模型是連接主義的產物。它們處理的都…

OpenSpeedy綠色免費版下載,提升下載速度,網盤下載速度等游戲變速工具

下載地址獲取點擊這里打開&#xff1a;OpenSpeedy 簡單介紹OpenSpeedy 是一款開源免費的游戲變速工具&#xff08;對某些網盤或者其他的一些下載也可進行加速&#xff09;&#xff0c;讓你的游戲突破幀率限制&#xff0c;提供更流暢絲滑的游戲加速體驗。1、完全免費且開源2、簡…

Windows 電腦遠程訪問,ZeroTier 實現內網穿透完整指南(含原理講解)

&#x1f9ed; 一、目標場景說明 想從安卓移動端遠程到Windows電腦 實現如下效果&#xff1a; 家中 Windows 電腦開機聯網&#xff1b;安卓手機/平板在外地&#xff0c;只要聯網就能遠程控制電腦桌面&#xff1b;不需要公網 IP&#xff0c;不用設置端口映射&#xff1b;免費…

解決本地連接服務器ollama的錯誤

1. 服務器 ollama 安裝 $ curl -fsSL https://ollama.com/install.sh | sh >>> Cleaning up old version at /usr/local/lib/ollama >>> Installing ollama to /usr/local >>> Downloading Linux amd64 bundle ##################################…

詳解Windows(十四)——PowerShell與命令提示符

詳解Windows&#xff08;十四&#xff09;——PowerShell與命令提示符 一、Windows命令行工具概述 1. 什么是命令行界面(CLI) 命令行界面&#xff0c;簡稱CLI&#xff08;Command Line Interface&#xff09;&#xff0c;是一種通過輸入文字命令來操作電腦的方式。與我們熟悉…

Spring源碼解析 - SpringApplication 屬性-初始化initializers, listeners -Spring提供的鉤子函數

初始化源碼 public SpringApplication(ResourceLoader resourceLoader, Class<?>... primarySources) {~~~setInitializers((Collection) getSpringFactoriesInstances(ApplicationContextInitializer.class));setListeners((Collection) getSpringFactoriesInstances(A…