ミニマックス、データ標準化の一般的な方法

1.データ標準化の目的

  データの標準化とは、データを特定の小さな間隔にスケーリングすることを意味します。一般的な目的は、データの単位制限を削除し、それをディメンションの純粋な値に変換して、さまざまな単位または桁数のインジケーターを比較できるようにすることです。加重。。データの正規化は典型的なケースです。

1.1データの正規化

  1. 数値を(0,1)の間の小数に変換します
  2. 次元式を無次元式に変換する

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]Y1Y2Yn個[ 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スコア標準化など)

おすすめ

転載: blog.csdn.net/weixin_43624728/article/details/113546847