相關性分析:指對兩個或多個具有相關性的變量元素進行分析
1.散點圖和相關性熱力圖
2.相關系數(shù)
相關系數(shù)最早是由統(tǒng)計學家卡爾 皮爾遜設計的統(tǒng)計指標,是研究變量之間線性相關承兌的值,一般用字母 r 表示。
2.1Pearson相關系數(shù)
Pearson相關系數(shù)是衡量兩個數(shù)據(jù)集合是否在一條線上面,用于衡量變量間的線性關系。
這里是引用如果有兩個變量:X、Y,最終計算出的相關系數(shù)的含義可以有如下理解:
(1)、當相關系數(shù)為0時,X和Y兩變量無關系。
(2)、當X的值增大(減?。琘值增大(減?。?,兩個變量為正相關,相關系數(shù)在0.00與1.00之間。
(3)、當X的值增大(減?。?,Y值減?。ㄔ龃螅?,兩個變量為負相關,相關系數(shù)在-1.00與0.00之間。
相關系數(shù)的絕對值越大,相關性越強,相關系數(shù)越接近于1或-1,相關度越強,相關系數(shù)越接近于0,相關度越弱。
通常情況下通過以下取值范圍判斷變量的相關強度: 相關系數(shù) 0.8-1.0 極強相關
0.6-0.8 強相關
0.4-0.6 中等程度相關
0.2-0.4 弱相關
0.0-0.2 極弱相關或無相關
2.2 Spearman相關系數(shù)
Spearman相關系數(shù)適用于不符合正態(tài)分布或者總體分布類型未知的數(shù)據(jù),Spearman用于描述兩個變量之間關聯(lián)的程度與方向。
待補充
2.3Kendall等級相關系數(shù)
Kendall等級相關系數(shù)是用于反應分類相關變量的相關指標,適用于兩個變量均為有序分類的情況,對相關的有序變量進行非參數(shù)性相關檢驗。
待補充
3.Python代碼講解
3.1 數(shù)據(jù)集
日期,蜜汁焗餐包,鐵板酸菜豆腐,香煎韭菜餃,香煎羅卜糕,原汁原味菜心
2015/1/1,13,18,10,10,27
2015/1/2,9,19,13,14,13
2015/1/3,8,7,11,10,9
2015/1/4,10,9,13,14,13
2015/1/5,12,17,11,13,14
2015/1/6,8,12,11,5,9
2015/1/7,5,10,8,10,7
2015/1/8,7,6,12,11,5
2015/1/12,0,5,5,7,10
2015/1/13,8,6,9,8,9
2015/1/14,4,8,5,3,10
2015/1/15,8,15,9,13,9
2015/1/16,11,14,9,9,15
2015/1/17,14,16,9,4,14
2015/1/18,9,8,12,9,15
2015/1/19,9,10,6,11,11
2015/1/20,11,8,14,6,13
2015/1/21,7,1,5,12,8
2015/1/22,13,13,5,11,11
2015/1/23,5,8,7,8,11
2015/1/24,7,9,7,10,9
2015/1/25,7,14,7,6,8
2015/1/26,6,9,12,7,5
2015/1/27,12,6,12,9,4
2015/1/28,8,7,12,10,6
2015/1/29,7,8,10,10,11
2015/1/30,7,9,16,10,11
2015/1/31,8,8,10,10,9
2015/2/1,6,6,11,6,9
3.2代碼講解
3.2.1 讀取excel文檔,Pearson相關系數(shù)+熱力圖
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
# 讀取菜品銷售量數(shù)據(jù)
filepath = 'C:/Users/14210/Desktop/機器學習代碼/data/cor.xlsx'
cor = pd.read_excel(filepath)
# 計算相關系數(shù)矩陣,包含了任意兩個菜品間的相關系數(shù)
print('5種菜品銷售量的相關系數(shù)矩陣為:\n', cor.corr())
# 繪制相關性熱力圖
plt.subplots(figsize=(8, 8)) # 設置畫面大小
plt.rcParams['font.sans-serif'] = ['SimHei'] # 用來正常顯示中文標簽
plt.rcParams['axes.unicode_minus'] = False # 用來正常顯示負號
sns.heatmap(cor.corr(), annot=True, vmax=1, square=True, cmap="Blues")
plt.title('相關性熱力圖')
plt.show()
3.2.2 結果圖
3.2.3 讀取csv文檔,Pearson相關系數(shù)+熱力圖
# 讀取csv文件
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
filepath = 'C:/Users/14210/Desktop/機器學習代碼/data/cor.csv'
data = pd.read_csv(filepath)
df = pd.DataFrame(data)
# 計算出相關系數(shù)并輸出,這里選擇的是皮爾遜相關系數(shù)
cor = data.corr(method='pearson')
print(cor) # 輸出相關系數(shù)
rc = {'font.sans-serif': 'SimHei',
'axes.unicode_minus': False}
sns.set(font_scale=0.7,rc=rc) # 設置字體大小
sns.heatmap(cor,
annot=True, # 顯示相關系數(shù)的數(shù)據(jù)
center=0.5, # 居中
fmt='.2f', # 只顯示兩位小數(shù)
linewidth=0.5, # 設置每個單元格的距離
linecolor='blue', # 設置間距線的顏色
vmin=0, vmax=1, # 設置數(shù)值最小值和最大值
xticklabels=True, yticklabels=True, # 顯示x軸和y軸
square=True, # 每個方格都是正方形
cbar=True, # 繪制顏色條
cmap='coolwarm_r', # 設置熱力圖顏色
)
plt.savefig("我是相關熱力圖.png",dpi=600)#保存圖片,分辨率為600
plt.ion() #顯示圖片
3.2.4 結果圖
文章來源:http://www.zghlxwxcb.cn/news/detail-752897.html
4.結果分析
根據(jù)熱力圖可以看出,原汁原味菜心與鐵板酸菜豆腐、蜜汁煸餐包這兩種菜品的相關性較強,說明大部分客戶對這3種菜品的偏好程度相當。文章來源地址http://www.zghlxwxcb.cn/news/detail-752897.html
到了這里,關于相關性分析——Pearson相關系數(shù)+熱力圖(附data和Python完整代碼)的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!