定量資料的分布分析
這就不用多說了,直方圖。求極差--> 設定組距-->決定分點 --> 統計頻率
定性資料的分布分析
這也不用多說了,扇形圖,條形圖統計法
對比分析
折線圖統計量分析
均值,中位數,極差,標準之類的就不說了,介紹一下變異係數,它是 標準差除以平均值 。反映了標準差相對於均值的離中趨勢。資料:catering_sale.xls
#-*- coding:utf-8 -*-
import pandas as pd
# 餐飲資料
catering_sale = "wajue/catering_sale.xls"
# 讀取資料,指定 "日期" 列為索引列
data = pd.read_excel(catering_sale,index_col = u"日期")
# 過濾資料
data = data[(data[u"銷量"] > 400) & (data[u"銷量"] < 5000)]
statistics = data.describe() # 利用裡面的基本統計量計算
# 極差
statistics.loc["range"] = statistics.loc["max"] - statistics.loc["min"]
# 變異係數
statistics.loc["var"] = statistics.loc["std"] / statistics.loc["mean"]
# 四分數間距 iqr
週期性分析主要分析時間週期對資料的影響
貢獻度分析
貢獻度分析又稱為 帕累託分析,它的原理是帕累託法則,又稱 2/8 定律。例如,對乙個公司來說,80% 的利潤來自20% 最暢銷的產品,而其他的 80% 的產品只產生了 20% 的利潤。例如對餐飲菜品盈利資料 catering_dish_profit.xls 進行帕累託分析如下
#-*- coding:utf-8 -*-
import pandas as pd
# 餐飲菜品盈利資料
dish_profit = 'wajue/catering_dish_profit.xls'
data = pd.read_excel(dish_profit,index_col = u"菜品名")
# 獲取盈利資料
data = data[u"盈利"].copy()
# 降序排序
data = data.sort_values(ascending = false)
import matplotlib.pyplot as plt
plt.rcparams['font.sans-serif'] = ['simhei']
plt.rcparams['axes.unicode_minus'] = false
plt.figure()
data.plot(kind = 'bar')
plt.ylabel(u"盈利(元)")
# cumsum 依次給出前 n 個數的和
p = 1.0*data.cumsum()/data.sum()
# 畫出前 n 個和佔總和比的曲線圖
p.plot(color = "red",secondary_y = true,style = '-o',linewidth = 2)
# 新增標註,記錄前 7 個菜品和的比例,保留4個小數
plt.annotate(format(p[6],'.4%'),xy = (6,p[6]),xytext = (6*0.9,p[6]*0.9), \
arrowprops = dict(arrowstyle = "->",connectionstyle = "arc3,rad = .2"))
plt.ylabel(u"盈利比例")
可以看到,前 7 種菜品的利潤達到了總利潤的 85.0033%
相關性分析
1.皮爾森(pearson)相關係數。一般用於分析兩個連續性變數之間的關係,計算公式如下
其中 r = [-1,1] ,r > 0正相關, r<0 負相關,越接近 0 越線性無關
2.斯皮爾曼(spearman)相關係數
皮爾森相關係數要求連續變數的取值滿足正態分佈。不服從正態分佈的變數之間的關聯性可用斯皮爾曼相關係數表示。
其中 ri 和 qi 分別代表兩個變數的 秩次,所謂秩次,就是排序後所在位置的平均值。打個比方 x 從小到大排序(也可以從大到小)依次為 0.1 0.2 0.3 0.3 0.4 0.4 0.5 那麼秩次就依次為 1 2 3.5 3.5 3.5 5.5 5.5 7,如圖
只要兩個變數具有嚴格單調的函式關係,那麼他們就是完全斯皮爾曼相關。這與皮爾森係數不同,皮爾森係數只有在變數具有線性關係時才是完全相關的。也就是皮爾森係數是真正的線性關係。斯皮爾曼係數只是體現了單調相關性,即只能說明變數相關。
3.判定係數
判定係數就是相關係數的平方,用 r^2 表示,r^2 = [0,1] ,越接近1,表明 x 和 y 之間的相關性越強。
使用不同的菜品日銷售資料 catering_sale_all.xls 判斷相關性如下
#-*- coding:utf-8 -*-
import pandas as pd
# 不同菜品日銷售量資料
catering_sale = 'wajue/catering_sale_all.xls'
data = pd.read_excel(catering_sale,index_col = u"日期")
''' 計算不同菜品的日銷售量之間的相關性 '''
# 相關係數矩陣,即給出了任意兩款菜品之間的相關係數
data.corr()
# 只顯示 "百合醬蒸鳳爪" 與其他菜品之間的相關係數
data.corr()[u"百合醬蒸鳳爪"]
# 計算 "百合醬蒸鳳爪" 和 "翡翠蒸香茜餃" 的相關係數
data[u"百合醬蒸鳳爪"].corr(data[u"翡翠蒸香茜餃"])
資料探勘建模 3 特徵工程
3.1數值型特徵 數值變換 非線性變換 編碼 3.2 無監督降維pca 3.3計算型變換 3.4特徵篩選 3.4 索引恢復 1.log變換 x min x max x min x 最大最小值受異常點影響,魯棒性差,比較適合傳統精確資料場景 from sklearn.preprocessing imp...
資料特徵分析 Python資料探勘與分析
1.分布分析 1 定量資料的分布分析 求極差 組距 組數 分點 列出頻率分布表 繪製頻率分布直方圖 2 定性資料的分布分析 定性的資料常常使用變數來分組,然後使用餅圖 柱狀圖等來展示 2.對比分析 兩個相互聯絡的指標進行比較,從數量上展示和說明研究物件規模的大小,水平的高低,速度的快慢等 1 絕對數...
資料探勘 ctr特徵
訓練集分成k fold,用其他k 1 fold計算ctr,然後merge給第k個fold,遍歷k次。然後訓練集整體計算ctr,再merge給測試集。def ctr fea train,test,feature for fea in feature print fea temp train label...