Freigeben über


Technische Referenz zum Microsoft Logistischem Regressionsalgorithmus

Der Microsoft Logistic Regression-Algorithmus ist eine Variation des Microsoft Neural Network-Algorithmus, wobei der HIDDEN_NODE_RATIO-Parameter auf 0 festgelegt ist. Diese Einstellung erstellt ein neurales Netzwerkmodell, das keine ausgeblendete Ebene enthält und daher der logistischen Regression entspricht.

Implementierung des Microsoft Logistic Regression Algorithm

Angenommen, die vorhersagbare Spalte enthält nur zwei Zustände, aber Sie möchten dennoch eine Regressionsanalyse durchführen, die Eingabespalten auf die Wahrscheinlichkeit bezieht, dass die vorhersagbare Spalte einen bestimmten Zustand enthält. Das folgende Diagramm veranschaulicht die Ergebnisse, die Sie erhalten, wenn Sie den Zuständen der vorhersehbaren Spalte 1 und 0 zuweisen, die Wahrscheinlichkeit berechnen, dass die Spalte einen bestimmten Zustand enthält, und eine lineare Regression für eine Eingabevariable ausführen.

Schlecht modellierte Daten mit linearer Regression

Die x-Achse enthält Werte einer Eingabespalte. Die Y-Achse enthält die Wahrscheinlichkeit, dass die vorhersehbare Spalte ein Zustand oder ein anderer ist. Das Problem besteht darin, dass die lineare Regression die Spalte nicht auf einen Wert zwischen 0 und 1 beschränkt, auch wenn dies die Maximal- und Mindestwerte der Spalte sind. Eine Möglichkeit, dieses Problem zu lösen, besteht darin, eine logistische Regression durchzuführen. Anstatt eine gerade Linie zu erstellen, erstellt die Logistische Regressionsanalyse eine "S"-förmige Kurve, die maximale und minimale Einschränkungen enthält. Das folgende Diagramm veranschaulicht beispielsweise die Ergebnisse, die Sie erzielen werden, wenn Sie eine logistische Regression mit denselben Daten wie im vorherigen Beispiel ausführen.

Mit logistischer Regression modellierte Daten

Beachten Sie, wie die Kurve nie über 1 oder unter 0 liegt. Mithilfe der logistischen Regression können Sie beschreiben, welche Eingabespalten wichtig sind, um den Zustand der vorhersagbaren Spalte zu bestimmen.

Featureauswahl

Die Featureauswahl wird automatisch von allen Analysis Services Data Mining-Algorithmen verwendet, um die Analyse zu verbessern und die Verarbeitungslast zu reduzieren. Die methode, die für die Featureauswahl in einem logistischen Regressionsmodell verwendet wird, hängt vom Datentyp des Attributs ab. Da die logistische Regression auf dem Microsoft Neural Network-Algorithmus basiert, verwendet sie eine Teilmenge der Featureauswahlmethoden, die für neurale Netzwerke gelten. Weitere Informationen finden Sie unter Feature Selection (Data Mining).

Bewertungseingaben

Die Bewertung im Kontext eines neuralen Netzwerkmodells oder eines logistischen Regressionsmodells bedeutet, dass der Prozess der Konvertierung der werte, die in den Daten vorhanden sind, in eine Gruppe von Werten, die dieselbe Skala verwenden und daher miteinander verglichen werden können. Angenommen, die Eingaben für Einkommen reichen von 0 bis 100.000, während die Eingaben für [Anzahl der Kinder] zwischen 0 und 5 liegen. Mit diesem Konvertierungsprozess können Sie unabhängig von der Differenz der Werte die Wichtigkeit der einzelnen Eingaben bewerten oder vergleichen.

Für jeden Zustand, der im Schulungssatz angezeigt wird, generiert das Modell eine Eingabe. Für diskrete oder diskretisierte Eingaben wird eine zusätzliche Eingabe erstellt, um den Fehlenden Zustand darzustellen, wenn der fehlende Zustand mindestens einmal im Schulungssatz angezeigt wird. Für fortlaufende Eingaben werden höchstens zwei Eingabeknoten erstellt: eine für fehlende Werte, sofern in den Schulungsdaten vorhanden, und eine Eingabe für alle vorhandenen oder nicht NULL-Werte. Jede Eingabe wird mit der Z-Score-Normalisierungsmethode (x - μ)/StdDev auf ein numerisches Format skaliert.

Während der Z-Score-Normalisierung werden der Mittelwert (μ) und die Standardabweichung über den vollständigen Trainingssatz abgerufen.

Fortlaufende Werte

Der Wert ist vorhanden: (X - μ)/σ // X ist der tatsächliche Wert, der codiert wird)

Der Wert ist nicht vorhanden: - μ/σ // negative mu dividiert durch Sigma)

Diskrete Werte

μ = p - (die vorherige Wahrscheinlichkeit eines Zustands)

StdDev = sqrt(p(1-p))

Wert ist vorhanden: (1 - μ)/σ// (Ein minus Mu) dividiert durch Sigma)

Der Wert ist nicht vorhanden: (- μ)/σ// negative Mu dividiert durch Sigma)

Grundlegendes zu Logistischen Regressionskoeffizienten

Es gibt verschiedene Methoden in der statistischen Literatur zur Durchführung der logistischen Regression, aber ein wichtiger Bestandteil aller Methoden ist die Bewertung der Anpassung des Modells. Es wurden eine Vielzahl von Güte-zu-Anpassungsstatistiken vorgeschlagen, darunter Quotenverhältnisse und kovariate Muster. Eine Diskussion darüber, wie man die Passform eines Modells messen kann, geht über den Rahmen dieses Themas hinaus; Sie können jedoch den Wert der Koeffizienten im Modell abrufen und sie verwenden, um ihre eigenen Passmaße zu entwerfen.

Hinweis

Die Koeffizienten, die als Teil eines logistischen Regressionsmodells erstellt werden, stellen keine Quotenverhältnisse dar und sollten nicht als solche interpretiert werden.

Die Koeffizienten für jeden Knoten im Modelldiagramm stellen eine gewichtete Summe der Eingaben für diesen Knoten dar. In einem logistischen Regressionsmodell ist die verborgene Schicht leer; Daher gibt es nur einen Satz von Koeffizienten, der in den Ausgabeknoten gespeichert wird. Sie können die Werte der Koeffizienten mithilfe der folgenden Abfrage abrufen:

SELECT FLATTENED [NODE_UNIQUE NAME],
(SELECT ATTRIBUTE_NAME< ATTRIBUTE_VALUE
FROM NODE_DISTRIBUTION) AS t
FROM <model name>.CONTENT
WHERE NODE_TYPE = 23

Für jeden Ausgabewert gibt diese Abfrage die Koeffizienten und eine ID zurück, die auf den zugehörigen Eingabeknoten verweist. Außerdem wird eine Zeile zurückgegeben, die den Wert der Ausgabe und des Abfangens enthält. Jede Eingabe X hat einen eigenen Koeffizienten (Ci), aber die geschachtelte Tabelle enthält auch einen "freien" Koeffizienten (Co), der gemäß der folgenden Formel berechnet wird:

F(X) = X1*C1 + X2*C2 + ... +Xn*Cn + X0

Aktivierung: exp(F(X)) / (1 + exp(F(X)) )

Weitere Informationen finden Sie unter "Logistics Regression Model Query Examples".

Anpassen des Logistischen Regressionsalgorithmus

Der Microsoft-Logistische Regressionsalgorithmus unterstützt mehrere Parameter, die sich auf das Verhalten, die Leistung und genauigkeit des resultierenden Miningmodells auswirken. Sie können das Verhalten des Modells auch ändern, indem Sie Modellierungskennzeichnungen für die Spalten festlegen, die als Eingabe verwendet werden.

Festlegen von Algorithmusparametern

In der folgenden Tabelle werden die Parameter beschrieben, die mit dem Microsoft Logistic Regression-Algorithmus verwendet werden können.

HOLDOUT_PERCENTAGE Gibt den Prozentsatz der Fälle innerhalb der Schulungsdaten an, die zum Berechnen des Haltefehlers verwendet werden. HOLDOUT_PERCENTAGE wird als Teil der Stoppkriterien beim Training des Miningmodells verwendet.

Der Standard ist 30.

HOLDOUT_SEED Gibt eine Zahl an, die verwendet werden soll, um den Pseudo-Zufallszahlengenerator zu initialisieren, bei der zufälligen Bestimmung der Haltedaten. Wenn HOLDOUT_SEED auf 0 festgelegt ist, generiert der Algorithmus den Seed basierend auf dem Namen des Miningmodells, um sicherzustellen, dass der Modellinhalt während der Neuverarbeitung gleich bleibt.

Der Standardwert ist 0.

MAXIMUM_INPUT_ATTRIBUTES Definiert die Anzahl der Eingabeattribute, die der Algorithmus verarbeiten kann, bevor die Featureauswahl aufgerufen wird. Legen Sie diesen Wert auf 0 fest, um die Featureauswahl zu deaktivieren.

Der Standardwert ist 255.

MAXIMUM_OUTPUT_ATTRIBUTES Definiert die Anzahl der Ausgabeattribute, die der Algorithmus verarbeiten kann, bevor die Featureauswahl aufgerufen wird. Legen Sie diesen Wert auf 0 fest, um die Featureauswahl zu deaktivieren.

Der Standardwert ist 255.

MAXIMUM_STATES Gibt die maximale Anzahl von Attributzuständen an, die der Algorithmus unterstützt. Wenn die Anzahl der Zustände, die ein Attribut hat, größer als die maximale Anzahl von Zuständen ist, verwendet der Algorithmus die am häufigsten verwendeten Zustände des Attributs und ignoriert die verbleibenden Zustände.

Der Standardwert ist 100.

SAMPLE_SIZE Gibt die Anzahl der Fälle an, die zum Trainieren des Modells verwendet werden sollen. Der Algorithmusanbieter verwendet entweder diese Zahl oder den Prozentsatz der Gesamtanzahl der Fälle, die nicht im Haltewert enthalten sind, wie durch den parameter HOLDOUT_PERCENTAGE angegeben, je nachdem, welcher Wert kleiner ist.

Anders ausgedrückt: Wenn HOLDOUT_PERCENTAGE auf 30 festgelegt ist, verwendet der Algorithmus entweder den Wert dieses Parameters oder einen Wert, der gleich 70 Prozent der Gesamtanzahl der Fälle ist, je nachdem, welcher Wert kleiner ist.

Der Standardwert ist 10000.

Modellierung von Flaggen

Die folgenden Modellierungskennzeichnungen werden für die Verwendung mit dem Microsoft Logistic Regression-Algorithmus unterstützt.

NOT NULL Gibt an, dass die Spalte keinen NULL-Wert enthalten kann. Ein Fehler führt dazu, dass Analysis Services während der Modellschulung auf einen Nullwert stößt.

Gilt für die Spalten von Miningstrukturen.

MODEL_EXISTENCE_ONLY Bedeutet, dass die Spalte mit zwei möglichen Zuständen behandelt wird: Missing und Existing. Ein Nullwert ist ein fehlender Wert.

Gilt für die Miningmodell-Spalte.

Anforderungen

Ein logistisches Regressionsmodell muss eine Schlüsselspalte, Eingabespalten und mindestens eine vorhersagbare Spalte enthalten.

Eingabe- und vorhersagbare Spalten

Der Microsoft Logistic Regression-Algorithmus unterstützt die spezifischen Inhaltstypen für Eingabespalten, vorhersagbare Spalteninhaltstypen und Modellierungskennzeichnungen, die in der folgenden Tabelle aufgeführt sind. Weitere Informationen dazu, was die Inhaltstypen bedeuten, wenn sie in einem Miningmodell verwendet werden, finden Sie unter Content Types (Data Mining).

Kolumne Inhaltstypen
Eingabeattribute Fortlaufend, diskret, diskretisiert, Schlüssel, Tabelle
Vorhersehbares Attribut Fortlaufend, diskret, diskretisiert

Siehe auch

Microsoft Logistic Regression AlgorithmLinear Regression Model Query ExamplesMining Model Content for Logistic Regression Models (Analysis Services - Data Mining)Microsoft Neural Network Algorithm