[PYTHON] Feature Engineering für maschinelles Lernen ab Teil 3 Google Colaboratory-Scale

Einführung

Dieser Artikel beschreibt die Skalierung und Normalisierung. Dieser Artikel basiert hauptsächlich auf "Feature Quantity Engineering für maschinelles Lernen". Bitte probieren Sie es aus, wenn Sie werden.

Was ist Skalierung?

Der Bereich der numerischen Daten, die erfasst werden können, kann festgelegt sein oder nicht. Der Bereich, der für Zähldaten verwendet werden kann, wird grundsätzlich nicht bestimmt, und im Fall eines Modells, das für die Skala von Merkmalsgrößen wie die lineare Regression empfindlich ist, ist das Lernen aufgrund von Abweichungswerten oder Skalendifferenzen zwischen Merkmalsgrößen möglicherweise nicht erfolgreich. .. Die Vereinheitlichung der Skalierung wird in einem solchen Fall als Skalierung bezeichnet. Es gibt Min-Max-Skalierung, Standardisierung, L2-Normalisierung usw. für die Skalierung. Lassen Sie uns sie der Reihe nach einführen. Wenn Sie mehr über Skalierung erfahren möchten, lesen Sie bitte den Artikel hier.

Min-Max-Skalierung

Die Min-Max-Skalierung setzt den Minimalwert auf 0 und den Maximalwert auf 1. Wenn ein Ausreißer enthalten ist, kann der Bereich der Normalwerte, die genommen werden können, aufgrund des Einflusses des Ausreißers zu eng werden, sodass grundsätzlich die Standardisierung verwendet wird.

\tilde{x} = \frac{x - min(x)}{max(x) - min(x)}
import numpy as np
import pandas as pd
from sklearn.preprocessing import MinMaxScaler

##Feste Zufallszahl
np.random.seed(100)
data_array = []
for i in range(1, 100):
  s = np.random.randint(0, i * 10, 10)
  data_array.extend(s)
data_array.extend(np.zeros(100))
data = pd.DataFrame({'Listen Count': data_array})

print(data.max()) # 977.0
print(data.min()) # 0

scaler = MinMaxScaler()
data_n = scaler.fit_transform(data)
data_n = pd.DataFrame(data_n)

print(data_n.max()) ## 1.0
print(data_n.min()) ## 0

Standardisierung

In der Standardisierung ist der Mittelwert 0 und die Varianz 1. Wenn die ursprüngliche Merkmalsmenge eine Normalverteilung ist, ist die standardisierte Merkmalsmenge eine Standardnormalverteilung.

\tilde{x} = \frac{x - mean(x)}{sqrt(var(x))}
import numpy as np
import pandas as pd
from sklearn.preprocessing import StandardScaler

##Feste Zufallszahl
np.random.seed(100)
data_array = []
for i in range(1, 100):
  s = np.random.randint(0, i * 10, 10)
  data_array.extend(s)
data_array.extend(np.zeros(100))
data = pd.DataFrame({'Listen Count': data_array})

scaler = StandardScaler()
data_n = scaler.fit_transform(data)
data_n = pd.DataFrame({'Listen Count': data_n.ravel()})

print(data_n.var()) ##1.000918
print(data_n.mean()) ##6.518741e-17

L2 Normalisierung

Die L2-Normalisierung normalisiert die Merkmalsmenge durch Teilen durch die L2-Norm.

\tilde{x} = \frac{x}{||x||_2} \\
||x||_2 = \sqrt{x_1^2 + x_2^2+ ...+x_m^2 }
import numpy as np
import pandas as pd
from sklearn.preprocessing import normalize

##Feste Zufallszahl
np.random.seed(100)
data_array = []
for i in range(1, 100):
  s = np.random.randint(0, i * 10, 10)
  data_array.extend(s)
data_array.extend(np.zeros(100))
data = pd.DataFrame({'Listen Count': data_array})

##L2 Normalisierung
data_l2_normalized = normalize([data['Listen Count']],norm='l2')
data_l2 = pd.DataFrame({'Listen Count': data_l2_normalized.ravel()})

print(np.linalg.norm(data_l2_normalized,ord=2)) ## 0.999999999

Schließlich

Ich denke darüber nach, ein Video über IT auf YouTube zu veröffentlichen. Bitte abonnieren Sie den Kanal und geben Sie uns eine hohe Bewertung, da dies Sie motivieren wird, Youtube und Qiita zu aktualisieren. YouTube: https://www.youtube.com/channel/UCywlrxt0nEdJGYtDBPW-peg Twitter: https://twitter.com/tatelabo

Recommended Posts

Feature Engineering für maschinelles Lernen ab Teil 3 Google Colaboratory-Scale
Feature Engineering für maschinelles Lernen Beginnend mit Teil 2 Google Colaboratory-Logistic Conversion und Box-Cox Conversion
Feature Engineering für maschinelles Lernen Beginnend mit dem 4. Google Colaboratory - Interacting Features
Beginnend mit maschinellem Python-Lernen
Feature Engineering für maschinelles Lernen ab Teil 1 Google Colaboratory - Validierung und Diskriminierung von Zähldaten
Vorhersage des Strombedarfs durch maschinelles Lernen Teil 2
Verstärken Sie Bilder für maschinelles Lernen mit Python
[Shakyo] Begegnung mit Python zum maschinellen Lernen
Einheit 5 Feature Engineering für die Auswahl maschineller Lernfunktionen
Maschinelles Lernen beginnend mit Python Personal Memorandum Part2
Maschinelles Lernen beginnend mit Python Personal Memorandum Part1
[Python] Sammeln Sie Bilder mit Icrawler für maschinelles Lernen [1000 Blatt]
Einfaches maschinelles Lernen mit AutoAI (Teil 4) Jupyter Notebook
Neuerstellung der Umgebung für maschinelles Lernen mit Miniconda (Windows-Version)
Maschinelles Lernen mit Pokemon gelernt
Datensatz für maschinelles Lernen
Japanische Vorverarbeitung für maschinelles Lernen
Leistungsüberprüfung der Datenvorverarbeitung für maschinelles Lernen (numerische Daten) (Teil 2)
Über das Lernen mit Google Colab
Maschinelles Lernen mit Python! Vorbereitung
Für diejenigen, die mit TensorFlow2 maschinelles Lernen beginnen möchten
Maschinelles Lernen Minesweeper mit PyTorch
Leistungsüberprüfung der Datenvorverarbeitung für maschinelles Lernen (numerische Daten) (Teil 1)
Versuchen Sie es mit Kaggle leicht maschinell
Empfehlung von Manga durch maschinelles Lernen Teil 1 Lassen Sie uns zunächst teilen, ohne über irgendetwas nachzudenken
Erstellen einer Windows 7-Umgebung für eine Einführung in das maschinelle Lernen mit Python
Maschinelles Lernen mit Docker (42) Programmieren von PyTorch für Deep Learning Von Ian Pointer
[PyTorch Tutorial ⑤] PyTorch anhand von Beispielen lernen (Teil 2)
Ich habe maschinelles Lernen mit liblinear versucht
Maschinelles Lernen mit Python (1) Gesamtklassifizierung
Versuchen Sie es mit TensorFlow Part 2
Feature Quantity Engineering auf Reisen mit Pokemon-Kategorie-Variablen-
SVM versucht maschinelles Lernen mit Scikit-Learn
<Für Anfänger> Python-Bibliothek <Für maschinelles Lernen>
OpenCV-Funktionserkennung mit Google Colaboratory
Informationen zum maschinell erlernten Meeting für HRTech
[PyTorch Tutorial ⑤] PyTorch anhand von Beispielen lernen (Teil 1)
[Empfohlenes Tagging für maschinelles Lernen # 4] Skript für maschinelles Lernen ...?
Quanteninspiriertes maschinelles Lernen mit Tensornetzwerken
Beginnen Sie mit dem maschinellen Lernen mit SageMaker
"Scraping & maschinelles Lernen mit Python" Lernnotiz
Feature Quantity Engineering auf Reisen mit Pokemon-Numerical Version-
Erste Schritte für Anfänger des maschinellen Lernens (KI)
Unausgeglichenes Datenlernen mit maschinellem Lernen k-NN
Eine Einführung in OpenCV für maschinelles Lernen
Warum Python für maschinelles Lernen ausgewählt wird
Eine Geschichte über maschinelles Lernen mit Kyasuket
"Verwendbare" One-Hot-Codierungstechnik für maschinelles Lernen
[Python] Webanwendungsdesign für maschinelles Lernen
Eine Einführung in Python für maschinelles Lernen
Erstellen einer Entwicklungsumgebung für maschinelles Lernen
Aufbau einer KI / maschinellen Lernumgebung mit Python
EV3 x Pyrhon Maschinelles Lernen Teil 3 Klassifizierung
Kaggle: Einführung in das manuelle Feature Engineering Teil 1
Datenerfassung von der Analytics-API mit dem Google API-Client für die Python Part 2-Webanwendung
Richten Sie die Anzahl der Stichproben zwischen Datenklassen für maschinelles Lernen mit Python aus
Python-Lernnotiz für maschinelles Lernen von Chainer Kapitel 11 und 12 Einführung in Pandas Matplotlib
Kaggle House Preise ~ ~ Feature Engineering ~
Memo
Feature Quantity Engineering auf Reisen mit Pokemon-Kategorie-Variablen-
Memo
Memo
Feature Quantity Engineering auf Reisen mit Pokemon-Numerical Version-
Vorhersage des Kreditkartenfehlers Feature Quantity Engineering
Einheit 5 Feature Engineering für die Auswahl maschineller Lernfunktionen
Kaggle: Einführung in das manuelle Feature Engineering Teil 1