python的相關性,python計算相關性的函數

本文目錄一覽:

如何用python進行相關性分析

用python進行相關性分析應該主要根據數據的內容進行分析,如果是帶標註的數據可以通過模型訓練的方式來獲取進行分析,找出對目標結果有最大影響的因素。如果沒有標註的話,可以用python構建網絡知識圖譜手動分析,或者自己構建數據表格,人為觀察數據分布圖找到其中規律。一般來說相關性分析,主要依靠人為的觀察,並用數據和模型來輔助計算,從而獲得相對準確的結果。

python計算多個數組的相關性

線性相關:主要採用皮爾遜相關係數來度量連續變量之間的線性相關強度;

線性相關係數|r| 相關程度

0=|r|0.3 低度相關

0.3=|r|0.8 中度相關

0.8=|r|1 高度相關

1 函數

相關分析函數:

DataFrame.corr()

Series.corr(other)

說明:

如果由數據框調用corr方法,那麼將會計算每個列兩兩之間的相似度

如果由序列調用corr方法,那麼只是計算該序列與傳入序列之間的相關度

返回值:

dataFrame調用:返回DataFrame

Series調用: 返回一個數值型,大小為相關度

2 案例

import pandas

data=pandas.read_csv(‘C:\\Users\\Desktop\\test.csv’)

print(data.corr())

#由數據框調用corr方法,將會計算每個列兩兩之間的相似度,返回的是一個矩形

print(data[‘人口’].corr(data[‘文盲率’]))

#由某一列調用corr方法,只是計算該序列與傳入序列(本例中的’文盲率’)之間的相關度

print(data[‘超市購物率’,’網上購物率’,’文盲率’,’人口’]).corr()

如何利用python進行數據的相關性分析

1. 運算優先級

括號、指數、乘、除、加、減

2

如果你使用了非 ASCII 字符而且碰到了編碼錯誤,記得在最頂端加一行 # — coding: utf-8 —

3. Python格式化字符

使用更多的格式化字符。例如 %r 就是是非常有用的一個,它的含義是“不管什麼都打印出來”。

%s — string

%% 百分號標記 #就是輸出一個%

%c 字符及其ASCII碼

%s 字符串

%d 有符號整數(十進制)

%u 無符號整數(十進制)

%o 無符號整數(八進制)

%x 無符號整數(十六進制)

%X 無符號整數(十六進制大寫字符)

%e 浮點數字(科學計數法)

%E 浮點數字(科學計數法,用E代替e)

%f 浮點數字(用小數點符號)

%g 浮點數字(根據值的大小採用%e或%f)

%G 浮點數字(類似於%g)

%p 指針(用十六進制打印值的內存地址)

%n 存儲輸出字符的數量放進參數列表的下一個變量中

%c 轉換成字符(ASCII 碼值,或者長度為一的字符串)

%r 優先用repr()函數進行字符串轉換(Python2.0新增)

%s 優先用str()函數進行字符串轉換

%d / %i 轉成有符號十進制數

%u 轉成無符號十進制數

%o 轉成無符號八進制數

%x / %X (Unsigned)轉成無符號十六進制數(x / X 代表轉換後的十六進制字符的大小寫)

%e / %E 轉成科學計數法(e / E控制輸出e / E)

%f / %F 轉成浮點數(小數部分自然截斷)

%g / %G : %e和%f / %E和%F 的簡寫

%% 輸出%

輔助符號 說明

* 定義寬度或者小數點精度

– 用做左對齊

+ 在正數前面顯示加號(+)

sp 在正數前面顯示空格

# 在八進制數前面顯示零(0),在十六進制前面顯示“0x”或者“0X”(取決於用的是“x”還是“X”)

0 顯示的數字前面填充“0”而不是默認的空格

m.n m 是顯示的最小總寬度,n 是小數點後的位數(如果可用的話)

學Python有前途么?

毋庸置疑,Python前景很廣闊。首先,對應崗位多。Python被稱為編程語言中的萬能膠水,這是一門應用面很廣的語言,被廣泛的用在Web開發、運維自動化、測試自動化、數據挖掘等多個行業和領域。

無論是國內的百度、字節跳動、阿里巴巴、騰訊、華為還是國外的谷歌、NASA、YouTube、Facebook、工業光魔、紅帽等都在用Python完成各種各樣的任務。其次,市場需求大。從最新Python招聘崗位需求來看,Python工程師的崗位需求量巨大,並且崗位需求量還在呈現上漲的趨勢。全國Python崗位需求量接近10W個。最後,薪資水平。目前初級Python工程師薪資待遇就達10-15K,而隨着開發年限的增加,Python開發者薪資呈直線上升的變化趨勢,工作8年的Python薪資攀升至25K左右。此外,國家也在加大培養Python人才。國務院發布《新一代人工智能發展規劃》,人工智能正式納入國家發展戰略,並且已經有數個省份將Python納入到高考體系,國家計算機二級考試新增 “ Python 語言程序設計”科目。總的來說,Python是很有前途的,符合時代發展的大方向,感興趣的小夥伴,可以放心大膽的去嘗試。關於Python培訓的更多相關知識,建議到千鋒教育進行更詳細的了解,目前,千鋒教育已在北京、深圳、上海、廣州、鄭州、大連等20餘個核心城市建立直營校區,等待你的隨聽。

為什麼要學 Python

① 簡單易學

Python語言相對於其他編程語言來說,屬於比較容易學習的一門編程語言。開發語言在大數據裡面是必不可少的,而簡單易學,上手快的Python語言,將作為大數據的首選語言。

② 語法優美

Python語言力求代碼簡潔、優美,在Python語言中,採用縮進來標識代碼塊,通過減少無用的大括號,去除語句末尾的分號等視覺雜訊,使得代碼的可讀性顯著提高。閱讀一段良好的Python程序就感覺像是在讀英語一樣,它使你能夠專註於解決問題,而不用太糾結編程語言本身的語法

③ 豐富強大的類庫

只要你想到的問題,只要你需要使用的第三方庫,基本上都是Python的接口,無論什麼功能,都有現成的類庫可以使用,如果一個功能比較特殊,標準庫沒有提供相應的支持,那麼,很大概率也會有相應的開源項目提供了類似的功能。

④ 開發效率高

Python的各個優點是相輔相成的。例如,Python語言因為有了豐富強大的類庫,所以,Python的開發效率能夠顯著提高,實現相同的功能,Python代碼的文件往往只有C、C++和Java代碼的1/5~1/3。相對於C、C++和Java等編譯語言,Python開發者的效率提高了數倍,開發效率高的語言,能夠更好的滿足互聯網快速迭代的需求,因此,Python語言在互聯網公司使用非常廣泛。

⑤ 應用領域廣泛

Python語言的另一大優點就是應用領域廣泛,我們可以使用python做很多的事情。例如,Web

開發、網絡編程、自動化運維、Linux系統管理、數據分析、科學計算、人工智能、機器學習等等。

相關性係數介紹+python代碼實現 correlation analysis

參考文獻:

1. python 皮爾森相關係數

2. 統計學之三大相關性係數(pearson、spearman、kendall)

皮爾森係數

重點關注第一個等號後面的公式,最後面的是推導計算,暫時不用管它們。看到沒有,兩個變量(X, Y)的皮爾森相關性係數(ρX,Y)等於它們之間的協方差cov(X,Y)除以它們各自標準差的乘積(σX, σY)。

公式的分母是變量的標準差,這就意味着計算皮爾森相關性係數時,變量的標準差不能為0(分母不能為0),也就是說你的兩個變量中任何一個的值不能都是相同的。如果沒有變化,用皮爾森相關係數是沒辦法算出這個變量與另一個變量之間是不是有相關性的。

皮爾森相關係數(Pearson correlation coefficient)也稱皮爾森積矩相關係數(Pearson product-moment correlation coefficient) ,是一種線性相關係數。皮爾森相關係數是用來反映兩個變量線性相關程度的統計量。相關係數用r表示,其中n為樣本量,分別為兩個變量的觀測值和均值。r描述的是兩個變量間線性相關強弱的程度。r的絕對值越大表明相關性越強。

簡單的相關係數的分類

0.8-1.0 極強相關

0.6-0.8 強相關

0.4-0.6 中等程度相關

0.2-0.4 弱相關

0.0-0.2 極弱相關或無相關

r描述的是兩個變量間線性相關強弱的程度。r的取值在-1與+1之間,若r0,表明兩個變量是正相關,即一個變量的值越大,另一個變量的值也會越大;若r0,表明兩個變量是負相關,即一個變量的值越大另一個變量的值反而會越小。r 的絕對值越大表明相關性越強,要注意的是這裡並不存在因果關係。

斯皮爾曼相關性係數,通常也叫斯皮爾曼秩相關係數。“秩”,可以理解成就是一種順序或者排序,那麼它就是根據原始數據的排序位置進行求解,這種表徵形式就沒有了求皮爾森相關性係數時那些限制。下面來看一下它的計算公式:

計算過程就是:首先對兩個變量(X, Y)的數據進行排序,然後記下排序以後的位置(X’, Y’),(X’, Y’)的值就稱為秩次,秩次的差值就是上面公式中的di,n就是變量中數據的個數,最後帶入公式就可求解結果

帶入公式,求得斯皮爾曼相關性係數:ρs= 1-6 (1+1+1+9)/6 35=0.657

而且,即便在變量值沒有變化的情況下,也不會出現像皮爾森係數那樣分母為0而無法計算的情況。另外,即使出現異常值,由於異常值的秩次通常不會有明顯的變化(比如過大或者過小,那要麼排第一,要麼排最後),所以對斯皮爾曼相關性係數的影響也非常小!

由於斯皮爾曼相關性係數沒有那些數據條件要求,適用的範圍就廣多了。

肯德爾相關性係數,又稱肯德爾秩相關係數,它也是一種秩相關係數,不過它所計算的對象是分類變量。

分類變量可以理解成有類別的變量,可以分為

無序的,比如性別(男、女)、血型(A、B、O、AB);

有序的,比如肥胖等級(重度肥胖,中度肥胖、輕度肥胖、不肥胖)。

通常需要求相關性係數的都是有序分類變量。

舉個例子。比如評委對選手的評分(優、中、差等),我們想看兩個(或者多個)評委對幾位選手的評價標準是否一致;或者醫院的尿糖化驗報告,想檢驗各個醫院對尿糖的化驗結果是否一致,這時候就可以使用肯德爾相關性係數進行衡量。

pandas.DataFrame.corr()

DataFrame.corr(method=’pearson’, min_periods=1)[source]

Compute pairwise correlation of columns, excluding NA/null values

Parameters:

method : {‘pearson’, ‘kendall’, ‘spearman’}

pearson : standard correlation coefficient

kendall : Kendall Tau correlation coefficient

spearman : Spearman rank correlation

min_periods : int, optional

Minimum number of observations required per pair of columns to have a valid result. Currently only available for pearson and spearman correlation

Returns:

y : DataFrame

numpy.corrcoef(x,y = None,rowvar = True,bias = class’numpy._globals._NoValue’,ddof = class’numpy._globals._NoValue’ )

返回Pearson乘積矩相關係數。

cov有關更多詳細信息,請參閱文檔。相關係數矩陣R和協方差矩陣C之間的關係為

R的值在-1和1之間(含)。

參數:

x:array_like

包含多個變量和觀察值的1維或2維數組。x的每一行代表一個變量,每一列都是對所有這些變量的單獨觀察。另請參閱下面的rowvar。

y:array_like,可選

一組額外的變量和觀察。y的形狀與x相同。

rowvar:布爾,可選

如果rowvar為True(默認),則每行表示一個變量,並在列中有觀察值。否則,該關係將被轉置:每列表示一個變量,而行包含觀察值。

bias : _NoValue, optional Has no effect, do not use. Deprecated since version 1.10.0.

ddof : _NoValue, optional Has no effect, do not use. Deprecated since version 1.10.0.

返回:

R:ndarray 變量的相關係數矩陣。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/295825.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-27 12:57
下一篇 2024-12-27 12:57

相關推薦

  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • Python計算陽曆日期對應周幾

    本文介紹如何通過Python計算任意陽曆日期對應周幾。 一、獲取日期 獲取日期可以通過Python內置的模塊datetime實現,示例代碼如下: from datetime imp…

    編程 2025-04-29
  • 如何查看Anaconda中Python路徑

    對Anaconda中Python路徑即conda環境的查看進行詳細的闡述。 一、使用命令行查看 1、在Windows系統中,可以使用命令提示符(cmd)或者Anaconda Pro…

    編程 2025-04-29
  • Python列表中負數的個數

    Python列表是一個有序的集合,可以存儲多個不同類型的元素。而負數是指小於0的整數。在Python列表中,我們想要找到負數的個數,可以通過以下幾個方面進行實現。 一、使用循環遍歷…

    編程 2025-04-29
  • Python中引入上一級目錄中函數

    Python中經常需要調用其他文件夾中的模塊或函數,其中一個常見的操作是引入上一級目錄中的函數。在此,我們將從多個角度詳細解釋如何在Python中引入上一級目錄的函數。 一、加入環…

    編程 2025-04-29
  • Python清華鏡像下載

    Python清華鏡像是一個高質量的Python開發資源鏡像站,提供了Python及其相關的開發工具、框架和文檔的下載服務。本文將從以下幾個方面對Python清華鏡像下載進行詳細的闡…

    編程 2025-04-29
  • Python字典去重複工具

    使用Python語言編寫字典去重複工具,可幫助用戶快速去重複。 一、字典去重複工具的需求 在使用Python編寫程序時,我們經常需要處理數據文件,其中包含了大量的重複數據。為了方便…

    編程 2025-04-29
  • python強行終止程序快捷鍵

    本文將從多個方面對python強行終止程序快捷鍵進行詳細闡述,並提供相應代碼示例。 一、Ctrl+C快捷鍵 Ctrl+C快捷鍵是在終端中經常用來強行終止運行的程序。當你在終端中運行…

    編程 2025-04-29
  • 蝴蝶優化算法Python版

    蝴蝶優化算法是一種基於仿生學的優化算法,模仿自然界中的蝴蝶進行搜索。它可以應用於多個領域的優化問題,包括數學優化、工程問題、機器學習等。本文將從多個方面對蝴蝶優化算法Python版…

    編程 2025-04-29
  • Python程序需要編譯才能執行

    Python 被廣泛應用於數據分析、人工智能、科學計算等領域,它的靈活性和簡單易學的性質使得越來越多的人喜歡使用 Python 進行編程。然而,在 Python 中程序執行的方式不…

    編程 2025-04-29

發表回復

登錄後才能評論