python對樣本進行歸一化處理
阿新 • • 發佈:2018-11-14
資料歸一化處理是資料探勘中一項基本的工作,不同評價指標往往具有不同的量綱和量綱單位,這樣
的情況會影響到資料分析的結果,為了消除指標之間量綱的影響,需要進行資料標準化處理,以解決
資料指標之間的可比性。例如要求解距離(歐氏距離等),需要平方和操作,非常小的數貢獻很小,反之大的
數太大,這樣誤差很大。
下面用min-max標準化方法進行歸一化處理:
# 進行歸一化處理 def maxmin_norm(array): """ :param array: 每行為一個樣本,每列為一個特徵,且只包含資料,沒有包含標籤 :return: """ maxcols = array.max(axis = 0) mincols = array.min(axis = 0) data_shape = array.shape data_rows, data_cols = data_shape t = np.empty((data_rows, data_cols)) for i in range(data_cols): t[:, i] = (array[:, i] - mincols[i]) / (maxcols[i] - mincols[i]) return t
array是樣本的特徵矩陣,t是歸一化後的矩陣