1. 程式人生 > >2.2 資料的圖形描繪(QQplot)

2.2 資料的圖形描繪(QQplot)

  1. QQplot

橫座標表示的是屬性的其中一個測量值1,縱座標表示另一個測量值2。散點是分位點。點的橫縱座標是這個測量值1和測量值2的分位點的取值。

from scipy import stats
from matplotlib import pyplot as plt
import statsmodels.api as sm
import numpy as np

# example with the new ProbPlot class
#對比兩個不同測試值的分佈,而不是看測試值滿足什麼既定分佈
import numpy as np
X = [5.89,49.59,59.98,159,17.99,56.99,82.75,142.19
,31,125.5,4.5,22,52.9,61,33.5,328,128,142.19,229,189.4]
Y= [1.4,1.5,2.2,2.7,3.2,3.9,4.1,4.1,4.6,4.8
,4.9,5.3,5.5,5.8,6.2,8.9,11.6,18,22.9,38.2]
x=np.array(X)
y=np.array(Y)
pp_x = sm.ProbPlot(x, fit=True)
pp_y = sm.ProbPlot(y, fit=True)
fig3 = pp_x.qqplot(other=pp_y, line='45')
plt.show()

2 normalization

  梯度下降的過程曲折,複雜的問題是因為沒有同等程度的看待各個特徵,即我們沒有將各個特徵量化到統一的區間。

  所以資料標準化(歸一化)處理是資料探勘的一項基礎工作,不同評價指標往往具有不同的量綱和量綱單位,這樣的情況會影響到資料分析的結果,為了消除指標之間的量綱影響,需要進行資料標準化處理,以解決資料指標之間的可比性。原始資料經過資料標準化處理後,各指標處於同一數量級,適合進行綜合對比評價。

 Min-Max Scaling和Z-score normalization是常用的標準化處理方法。

  • 指定空間的min-max scaling(1,10)

     

price

5.89

49.59

59.98

159

17.99

56.99

82.75

142.19

31

125.5

weight

1.4

1.5

2.2

2.7

3.2

3.9

4.1

4.1

4.6

4.8

 

price

4.5

22

52.9

61

33.5

328

128

142.19

229

189.4

weight

4.9

5.3

5.5

5.8

6.2

8.9

11.6

18

22.9

38.2

標準化空間為(1,10):原理公式:

將資料歸一化到[a,b]區間範圍的方法:

(1)首先找到樣本資料Y的最小值Min及最大值Max
(2)計算係數為:k=(b-a)/(Max-Min)
(3)得到歸一化到[a,b]區間的資料:norY=a+k(Y-Min)

"""normolization 1-10
"""
import numpy as np

def MaxMinNormalization(x):
	min_x=np.min(x)
	max_x=np.max(x)
	k=(10-1)/(max_x-min_x)
	norx=(x-min_x)*k+1
	return norx
nums = [5.89,49.59,59.98,159,17.99,56.99,82.75,142.19
,31,125.5,4.5,22,52.9,61,33.5,328,128,142.19,229,189.4]
print(MaxMinNormalization(nums))