ホームページ > バックエンド開発 > Python チュートリアル > 多次元配列を正規化するPythonメソッド

多次元配列を正規化するPythonメソッド

不言
リリース: 2018-04-09 11:38:10
オリジナル
8934 人が閲覧しました

この記事の内容は、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 文字列を 2 次元配列に変換する方法

Python の分割統治メソッドを使用して、二次元配列を見つけるローカルピークメソッド_python



以上が多次元配列を正規化するPythonメソッドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート