1.データ標準化の目的
データの標準化とは、データを特定の小さな間隔にスケーリングすることを意味します。一般的な目的は、データの単位制限を削除し、それをディメンションの純粋な値に変換して、さまざまな単位または桁数のインジケーターを比較できるようにすることです。加重。。データの正規化は典型的なケースです。
1.1データの正規化
- 数値を(0,1)の間の小数に変換します
- 次元式を無次元式に変換する
1.2正規化の利点
正規化の利点は、多重指数評価システムでは、各評価指数の性質により、通常、次元と大きさが異なることです。さまざまな指標のレベルが大きく異なる場合、元の指標値を直接分析に使用すると、包括的な分析で値の高い指標の役割が強調され、値の低い指標の役割が比較的弱くなりますレベル。したがって、結果の信頼性を確保するためには、元のデータを標準化する必要があります。
経験的に言えば、正規化とは、異なる次元間の特徴にある程度の数値比較を持たせることであり、これにより分類器の精度を大幅に向上させることができます。
2.最小-最大標準化
2.1定義
シーケンスx1、x 2、...、Xn x_1、x_2、...、x_nの場合バツ1、バツ2、。。。、バツn個変換変換换:yi = xi −min1≤j≤n {xj} max1≤j≤n {xj} −min1≤j≤n
{xj} y_i = \ frac {x_i-min_ {1≤j≤n\ {x_j \}}} {max_ {1≤j≤n\ {x_j \}}-min_ {1≤j≤n\ {x_j \}}}Y私=m a x1 ≤ J ≤ N {
XJ}−m i n1 ≤ J ≤ N {
XJ}バツ私−m i n1 ≤ J ≤ N {
XJ}
则新序列y1、y 2、。。。、yn∈[0、1] y_1、y_2、...、y_n∈[0,1]Y1、Y2、。。。、Yn個∈[ 0 、1 ]そして無次元。一般的なデータが必要な場合は、正規化された処理を最初に検討できます。
最小-最大標準化は、元のデータに対して線形変換を実行し、値を[0,1]にマップすることです。
2.2実装コード
import numpy as np
import math
"""
around(arr,decimals=?)?maintain x decimals
"""
class DataNormalization:
def __init__(self):
self.arr = np.array([1,2,3,4,5,6,7,8,9])
self.x_max = self.arr.max()
self.x_min = self.arr.min()
self.x_mean = self.arr.mean()
self.x_std = self.arr.std()
def Min_MaxNorm(self):
arr = np.around(((self.arr - self.x_min) / (self.x_max - self.x_min)), decimals = 4)
print("Min_MaxNorm:{}".format(arr))
if __name__ == "__main__":
a = DataNormalization()
a.Min_MaxNorm()
操作の結果は次のとおりです。
Min_MaxNorm:[0. 0.125 0.25 0.375 0.5 0.625 0.75 0.875 1. ]
この記事の参照リンク:データ標準化の一般的な方法(最小-最大標準化、Zスコア標準化など)