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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

pearsonr() python_十分钟搞懂“Python数据分析”

發布時間:2023/12/19 python 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 pearsonr() python_十分钟搞懂“Python数据分析” 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

引言:本文重點是用十分鐘的時間幫讀者建立Python數據分析的邏輯框架。其次,講解“如何通過Python 函數或代碼和統計學知識來實現數據分析”。

本次介紹的建模框架圖分為六大版塊,依次為導入數據,數據探索,數據處理,建模,模型評估,模型調優(完整的邏輯框架圖請看文章末尾處)。

在實際商業項目中,建模前的工作占據整個項目70%左右的時間。讀者可能會問你既然是模型預測,為什么不把更多時間放在模型和調參上?因為巧婦難為無米之炊,數據本身決定了模型預測的上限,而模型或算法只是無限逼近這個上限而已。正所謂兵馬未動糧草先行,數據探索和數據處理能為之后建模打下堅實基礎,因此團隊做項目時會把大量時間投放在這兩個部分,目的在于提高數據質量,發現變量間關系,選取恰當特征變量。下面我會依次介紹這六個版塊,但詳解數據探索和數據處理版塊。

?一?? 導入數據

Python數據分析的第一步是要把數據導入到Python中。導入數據需要做兩件事,第一,告訴Python 你的文件格式,常用的格式有:.csv,.jason, .xlsx, .hdf。第二,告訴Python 你的文件路徑。

舉例:假如文件格式為.csv,??? 文件路徑為:path =“C:\Windows\...\desktop\mydata.csv”

通過df.read_csv(path)函數,即可將數據導入Python。

?

?二?? 數據探索

數據探索版塊主要涉及描述性統計,數據分組,關聯分析,方差分析。會涉及一些Python函數和統計學知識,筆者依次介紹。

描述性統計

?? 基本描述

通過df.describe()函數可對數據有一個基本了解,比如平均值、標準差、四分位數、最大最小值等

?? 數據類型

通過df.dtypes 函數,可知變量的數據類型,比如object型,int型,float型(為后面的數據處理做準備)

?? 分組統計

通過value_counts(),可統計分類變量里不同組的數量

?? 箱形圖

通過sns.boxplot(x,y,data=df),可將數據以‘箱形’展示出來,查看數據分布情況,識別離散值

?? 散點圖

通過plt.scatter(x,y),可發現兩組變量間的關系(正相關、負相關、不相關)

數據分組

數據分組部分主要介紹三個函數,分別為groupby(),pivot(), pcolor(),可視化效果依次提高,有助于快速發現不同組間的關系。

?? 函數groupby(),可對一個或多個分類變量進行分組

?? 函數pivot(), 能提高groupby()分組后的數據的可視化程度,實現更清晰的展示

?? 函數pcolor(), 能把pivot table()處理后的數據轉換成熱圖,更易發現不同組間關系

關聯分析

?? 通過df.corr(), 可得到所有變量間的相關系數

?? 通過pearsonr(x,y),可得到皮爾森相關系數和P值,以此判斷兩個變量間的關聯強度

·??????皮爾森系數接近于1時,正相關;接近于-1時負相關;接近于0時,不相關

·??????P值,用來判斷發生的可能性大小、原假設是否正確。若P<0.05, 有理由拒絕原假設。

方差分析

?? f_oneway()實現方差分析,得到F-testscore 和P 值

?? F-testscore 越大,關聯越強; F-testscore 越小,關聯越弱。

?? P值,同上(參見關聯分析P值)

筆者總結出(二)數據探索版塊的邏輯框架圖,見下圖。

?三?? 數據處理

數據處理版塊主要涉及處理缺失值,數據類型轉換,格式轉換,數據正態化,數據分箱,獨熱碼。會涉及Python代碼和統計學知識,筆者依次介紹。

處理缺失值

?? 查看數據源

直接查看數據源頭,看能否把缺失的數據找回

?? 刪除缺失值

通過函數dataframe.dropna(),可將缺失的數據刪除

?? 替換缺失值

通過函數data.replace(missing_value,new_value),可將缺失的數據替換為平均值或眾數

數據類型轉換

?? 通過astype()函數,能把錯誤的數據類型轉換為正確的數據類型

?? 舉例:若變量‘price’的數據類型為object型時,通過代碼:df[‘price’]= df[‘price’].astype(‘int’),將變量‘price’轉換為 int型。

格式轉換

不同部門(比如市場部、物流部、IT部)通常會有不同的儲存格式,需要對數據統一格式、單位轉換,才可建模。

? ? ????統一格式

舉例:BeiJing的書寫格式有多種,比如BeiJing, BEIJING, BJ, B.J, 需要統一為一種格式。

?? 單位轉換

·?????? 對同一特征變量,要用統一的單位,舉例:在評比汽車耗油量時經常用到兩種單位,每加侖多少英里(mpg)和每百公里多少升(L/100km),在數據分析時需將其統一。

·??????例子:通過函數df[‘city-mpg’]= 235/df[‘city-mpg’] 實現mpg 和 L/100km 單位間的轉換(其實就是加減乘除),再通過df.rename()對變化后的列名進行修改

數據正態化

某些特征變量需要進行數據正態化,正態化后的特征變量才能對模型有相對公平的影響(若沒懂,請看特征縮放中的例子)。常用的數據正態化的方法有三種:特征縮放,最大最小值,Z分數。

? ? ??????特征縮放:Xnew=Xold/Xmax

舉例:變量‘age’的范圍20 – 100 ,變量‘income’ 的范圍20000 – 500000,由于數值大小的差距,變量‘age’和‘income’對模型的影響是完全不同和不公平的。經過特征縮放運算后,兩個變量會擁有相似的取值范圍,也因此對模型影響的程度會變得較為公平合理,代碼見上圖。

????? 最大值最小值:Xnew=(Xold-Xnew)/(Xmax-Xmin)? , 代碼見上圖

????? Z分數: Xnew?= (Xold-μ)/σ,? 代碼見上圖

數據分箱

數據分箱能對數據進行更明了的展示,可把數值變量轉換為分類變量,通過cut()函數可對數據進行分箱,代碼見下圖。

舉例:cut()函數能將變量‘price’的所有數值放入3個箱子中,將變量‘price’的數值變量轉換為分類變量,運行結果見下圖。

?

獨熱碼

模型訓練通常是不會接收object 或 string型,只能接收數值型,但獨熱碼能將分類變量的object 或 string型轉換為定量變量的數值型。

?? 函數:get_dummies()

?? 舉例:‘fuel’ 有gas和dissel兩類,通過pd.get_dummies(df[‘fuel’])將gas 和dissel 重新賦值0或1,將分類變量‘fuel’轉換為數值型,結果見下圖

?

筆者總結出(三)數據處理版塊的邏輯框架圖,見下圖。

?四?? 建模

本文涉及線性回歸和多項式回歸算法,其他眾多算法比如神經網絡、隨機森林、支持向量機、時間序列等,不在此介紹。

?五?? 模型評估

評判模型準確度時經常用到的兩個指標, R方檢驗(R2)和均方誤差檢(MSE)。

?? R2的值越接近于1,擬合效果越好,R2的值越接近于0,擬合效果越差

?? MSE能反應出真實值與預計值間的誤差,MSE越小,模型準確性越高

?六?? 模型調優

模型調參能夠優化模型的準確性,調參指調整參數,那如何找到最佳的參數組合呢? 有如下如下方法:

?? 嶺回歸, 函數: Ridge(alpha),解決過擬合現象

?? 網格搜索:用窮舉法遍歷所有不同的參數組合,篩選出模型效果最好的一組參數組合。函數: GridSearchCV(Ridge(), parameters, cv), cv指交叉驗證次數。

結尾

至此,筆者已介紹如何導數到Python、如何探索和處理數據、如何建模、如何評估模型、如何調參。完整的邏輯框架會讓讀者對‘Python數據分析’有一個全面的認識,快速達到俯瞰全局的高度。最后筆者搭建出完整的邏輯框架圖送給讀者,希望對你們有幫助。

總結

以上是生活随笔為你收集整理的pearsonr() python_十分钟搞懂“Python数据分析”的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。