Heim  >  Artikel  >  Backend-Entwicklung  >  Python-Methode zur Normalisierung mehrdimensionaler Arrays

Python-Methode zur Normalisierung mehrdimensionaler Arrays

不言
不言Original
2018-04-09 11:38:108911Durchsuche

Der Inhalt dieses Artikels besteht darin, Ihnen die Methode zur Normalisierung mehrdimensionaler Arrays in Python mitzuteilen. Sie hat einen bestimmten Referenzwert.

Heute bin ich auf ein Problem gestoßen, das erforderlich ist Es gibt jedoch relativ wenige Informationen darüber, wie man ein mehrdimensionales Array normalisiert. Zum Trainieren neuronaler Netze werden häufig dimensionale Daten benötigt. Daher ist die Normalisierung mehrdimensionaler Arrays unbedingt erforderlich.

Nachdem ich viele Informationen konsultiert hatte, stellte ich fest, dass die Vorverarbeitung in der Sklearn-Bibliothek mehrdimensionale Arrays direkt normalisieren kann.

1. Verwenden Sie die Funktion sklearn.preprocessing.scale(), um die angegebenen Daten zu standardisieren: Die spezifische Formel lautet (x – Mittelwert)/Std. Seine Bedeutung ist: Subtrahieren Sie den Mittelwert jeder Spalte von den Daten in dieser Spalte und dividieren Sie ihn dann durch die Standardabweichung der Daten in dieser Spalte. Die erhaltenen Enddaten liegen alle nahe bei 0, mit einer Varianz von 1. Spezifische Programmbeispiele sind wie folgt:

from sklearn import preprocessing

data_normal = preprocessing.scale(data)#data是多维数据

2. Verwenden Sie die Klasse sklearn.preprocessing.StandardScaler. Diese Klasse kann den Mittelwert und die Varianz jeder Datenspalte berechnen und direkt konvertieren der ursprüngliche Wert basierend auf dem Mittelwert und der Varianz der Datennormalisierung. Ein einfaches Beispiel lautet wie folgt:

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 Die Klasse

sklearn.preprocessing.MinMaxScaler skaliert die Daten auf einen angegebenen Bereich. Konkrete Beispiele sind wie folgt:

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. Angehängte

sklearn.preprocessing kann auch eine Regularisierung durchführen

(1) Vorverarbeitung . normalize() führt eine Regularisierungstransformation für die Daten durch

data_normalized = preprocessing.normalize(data, norm='l2')
(2)

Vorverarbeitung.Normalizer() passt zuerst die Daten an und führt dann eine Regularisierungstransformation für die Daten durch

normalizer = preprocessing.Normalizer().fit(data)  #拟合原始数据,data是多维数组
normalizer.transform(data) #正则化


Verwandte Empfehlungen:


So konvertieren Sie einen Python-String in ein zweidimensionales Array

Python-Divide-and-Conquer-Methode zum Ermitteln des lokalen Spitzenwerts des zweidimensionalen array_python



Das obige ist der detaillierte Inhalt vonPython-Methode zur Normalisierung mehrdimensionaler Arrays. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn