この記事の内容は、Python で多次元配列を正規化する方法を共有することです。必要な友人はそれを参照できます。
今日、私は多次元配列を正規化する必要がある問題に遭遇しました。しかし、オンラインで調べてみると、多くの情報は正規化された配列の行または列です。ただし、tensorflow では、トレーニングに多次元データが必要になることがよくあります。ニューラルネットワーク。したがって、多次元配列の正規化は非常に必要です。
多くの情報を調べた結果、sklearn ライブラリの前処理で多次元配列を直接正規化できることがわかりました。
1. sklearn.preprocessing.scale() 関数を使用して、指定されたデータを標準化します。具体的な式は (x - 平均)/std です。その意味は、この列のデータから各列の平均を引き、この列のデータの標準偏差で割ることです。取得された最終データはすべて 0 に近く、分散は 1 です。具体的なプログラムの例は次のとおりです。
from sklearn import preprocessing data_normal = preprocessing.scale(data)#data是多维数据
2、 sklearn.preprocessing.StandardScaler クラスを使用します。このクラスは、データの各列の平均と分散を計算し、平均と分散に基づいて元のデータを直接正規化できます。簡単な例は次のとおりです:
from sklearn import preprocessing #计算原始数据每行和每列的均值和方差,data是多维数据 scaler = preprocessing.StandardScaler().fit(data) #得到每列的平均值,是一维数组 mean = scaler.mean_ #得到每列的标准差,是一维数组 std = scaler.std_ #标准化数据 data_nomal = scaler.transform(data) #可以直接使用训练集对测试集数据进行转换 scaler.transform([[-1., 1., 0.]])
3、sklearn.preprocessing.MinMaxScaler クラスは、データを指定された範囲にスケーリングします。具体的な例は次のとおりです。
from sklearn import preprocessing min_max_scaler = preprocessing.MinMaxScaler() #标准化训练集数据 data_train_nomal = min_max_scaler.fit_transform(data_train) #对测试集数据进行相同的归一化处理 data_test_minmax = min_max_scaler.transform(data_test) #获取缩放因子属性,结果是一维数组 min_max_scaler.scale_ min_max_scaler.min_
4. 添付の sklearn.preprocessing は正規化も行うことができます
(1) preprocessing.normalize() はデータを正規化します
data_normalized = preprocessing.normalize(data, norm='l2')
(2) preprocessing( ) まずデータを適合させ、次にデータに対して正則化変換を実行します
normalizer = preprocessing.Normalizer().fit(data) #拟合原始数据,data是多维数组 normalizer.transform(data) #正则化
関連する推奨事項:
Python の分割統治メソッドを使用して、二次元配列を見つけるローカルピークメソッド_python
以上が多次元配列を正規化するPythonメソッドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。