Metrik zur Bewertung der Datenkonsistenz fällt ab
Die Kennzahl für die Datenkonsistenz vergleicht Laufzeittransaktionen mit den Transaktionsmustern in den Trainingsdaten, um Inkonsistenzen zu identifizieren.
Metrikdetails
Die Abnahme der Datenkonsistenz ist eine Driftbewertungsmetrik, die dabei helfen kann, festzustellen, wie gut Ihr Modell die Ergebnisse im Laufe der Zeit vorhersagt.
Bereich
Der Rückgang der Datenkonsistenzmetrik bewertet nur Modelle des maschinellen Lernens.
- Arten von KI-Ressourcen : Modelle für maschinelles Lernen
- Art des Problems beim maschinellen Lernen :
- Binärklassifikation
- Klassifikation in mehrere Klassen
Ergebnisse und Werte
Der Rückgang des Metrikwerts für die Datenkonsistenz gibt an, ob Transaktionen inkonsistent sind, indem sie gegen Trainingsdatenmuster verstoßen.
Wertebereich : 0.0-1.0
Evaluierungsprozess
Jede Transaktion wird auf Dateninkonsistenz analysiert, indem die Laufzeittransaktionen mit den Mustern der Transaktionen in den Trainingsdaten verglichen werden. Wenn eine Transaktion gegen eines oder mehrere der Trainingsdatenmuster verstößt, wird die Transaktion als inkonsistent identifiziert. Um den Rückgang der Datenkonsistenz zu berechnen, wird die Gesamtzahl der Transaktionen durch die Anzahl der Transaktionen geteilt, die als inkonsistent identifiziert wurden. Wenn beispielsweise 10 Transaktionen aus einer Menge von 100 Transaktionen als inkonsistent identifiziert werden, beträgt der Rückgang der Datenkonsistenz 10 %.
Um Dateninkonsistenzen zu erkennen, wird ein Schema generiert, wenn Sie die Drift-Erkennung konfigurieren, indem Sie eine
-Datei erstellen, in der die Regeln festgelegt sind, die Ihre Eingabedaten befolgen müssen. Das Schema wird verwendet, um Ihre Daten auf Abweichungen zu überprüfen, indem Ausreißer identifiziert werden, die nicht innerhalb der festgelegten Grenzen liegen. Das Schema wird als JSON-Objekt mit den Arrays constraints.json
und columns
angegeben, die die Trainingsdaten beschreiben, wie im folgenden Beispiel dargestellt:constraints
{
"columns": [
{
"name": "CheckingStatus",
"dtype": "categorical",
"count": 5000,
"sparse": false,
"skip_learning": false
},
"constraints": [
{
"name": "categorical_distribution_constraint",
"id": "f0476d40-d7df-4095-9be5-82564511432c",
"kind": "single_column",
"columns": [
"CheckingStatus"
],
"content": {
"frequency_distribution": {
"0_to_200": 1304,
"greater_200": 305,
"less_0": 1398,
"no_checking": 1993
}
}
}
Für die Schlüssel
, name
, dtype
, count
und sparse
werden Werte angegeben, um eine Spalte zu beschreiben.skip_learning
Die Schlüssel
und name
beschreiben die Beschriftung und den Datentyp für eine Spalte. Die folgenden Werte, die mit dem Schlüssel dtype
angegeben werden, beschreiben den Datentyp:dtype
categorical
numeric_discrete
numeric_continuous
Der angegebene Datentyp bestimmt, ob weitere statistische Eigenschaften mit Schlüsseln beschrieben werden, wie z. B.
, min
und max
. Wenn beispielsweise der Datentyp mean
oder numeric_discrete
angegeben wird, werden die Eigenschaften wie im folgenden Beispiel beschrieben:numeric_continuous
{
"name": "LoanDuration",
"dtype": "numeric_discrete",
"count": 5000,
"sparse": false,
"skip_learning": false,
"min": 4,
"max": 53,
"mean": 21.28820697954272,
"std": 10.999096037050032,
"percentiles": [
13.0,
21.0,
29.0
],
"count_actual": 4986
}
Der Schlüssel
gibt die Anzahl der Zeilen für eine Spalte an. Boolesche Werte werden angegeben, um die Schlüssel count
und sparse
für eine Spalte zu beschreiben. Der Schlüssel skip_learning
gibt an, ob eine Spalte dünn besetzt ist, und der Schlüssel sparse
gibt an, ob eine Spalte das Lernen einer der im Schema beschriebenen Regeln überspringt. Eine Spalte ist spärlich, wenn die Perzentile 25th und 75th denselben Wert aufweisen.skip_learning
Der Schlüssel
gibt den Beschränkungstyp an. Die folgenden Werte werden zur Beschreibung des Beschränkungstyps angegeben:name
categorical_distribution_constraint
numeric_range_constraint
numeric_distribution_constraint
catnum_range_constraint
catnum_distribution_constraint
catcat_distribution_constraint
Der Schlüssel
identifiziert Einschränkungen mit einer universell eindeutigen Kennung (UUID). Der Schlüssel id
gibt an, ob es sich bei der Einschränkung um eine kind
- oder single_column
-Einschränkung handelt.two-column
Der Schlüssel
gibt eine Reihe von Spaltennamen an. Wenn eine Einschränkung für columns
mit dem Schlüssel single_column
angegeben wird, enthält das Array einen Wert, der mit der Spalte korreliert, die Sie beschreiben möchten. Wenn eine kind
-Einschränkung mit dem two-column
-Schlüssel angegeben wird, enthält das Array Werte, die mit Spalten korrelieren, die zugehörige Daten enthalten.kind
Der Schlüssel
gibt Attribute an, die die statistischen Merkmale Ihrer Daten beschreiben. Der mit dem Schlüssel content
angegebene Einschränkungstyp bestimmt, welches Attribut im Schlüssel name
angegeben wird, wie in der folgenden Tabelle dargestellt:content
Attribut | Einschränkungen |
---|---|
häufigkeitsverteilung | kategorische_Verteilungsbeschränkung |
Bereiche | numerische_Bereichsbeschränkung, Kategorie-Nummernbereichsbeschränkung |
Verteilung | numerische_Verteilungsbeschränkung, Kategorie-Nummer_Verteilungsbeschränkung |
seltene Kombinationen | catcat_distribution_constraint |
quelltextspalte | catcat_distribution_constraint, catnum_range_constraint, catnum_distribution_constraint |
target_column | catcat_distribution_constraint, catnum_range_constraint, catnum_distribution_constraint |
In den folgenden Abschnitten finden Sie Beispiele dafür, wie die einzelnen Beschränkungstypen angegeben werden:
- Kategorische Verteilungsbeschränkung
- Einschränkung des numerischen Bereichs
- Numerische Verteilungsbeschränkung
- Kategorisch – kategorische Verteilungsbeschränkung
- Kategorisch-numerische Bereichsbeschränkung
- Kategorisch-numerische Verteilungsbeschränkung
Kategorische Verteilungsbeschränkung
{
"name": "categorical_distribution_constraint",
"id": "f0476d40-d7df-4095-9be5-82564511432c",
"kind": "single_column",
"columns": [
"CheckingStatus"
],
"content": {
"frequency_distribution": {
"0_to_200": 1304,
"greater_200": 305,
"less_0": 1398,
"no_checking": 1993
}
}
}
In den Trainingsdaten enthält die Spalte
vier Werte, die mit dem Attribut CheckingStatus
angegeben werden. Das Attribut frequency_distribution
gibt die Häufigkeitswerte mit Werten für Kategorien an, wie z. B. frequency_distribution
. Wenn in den Nutzlastdaten Datensätze gefunden werden, die Werte angeben, die sich von den Attributwerten von 0_to_200
unterscheiden, werden die Datensätze als Abweichung identifiziert.frequency_distribution
Einschränkung des numerischen Bereichs
{
"name": "numeric_range_constraint",
"id": "79f3a1f5-30a1-4c7f-91a0-1613013ee802",
"kind": "single_column",
"columns": [
"LoanAmount"
],
"content": {
"ranges": [
{
"min": 250,
"max": 11676,
"count": 5000
}
]
}
}
Die Spalte "
" enthält Mindest- und Höchstwerte, die mit dem Attribut " LoanAmount
" angegeben werden, um einen Bereich für die Trainingsdaten festzulegen. Das Attribut ranges
gibt die Bereiche hoher Dichte in der Spalte an. Bereiche, die in den Trainingsdaten selten vorkommen, werden nicht berücksichtigt. Wenn in den Nutzlastdaten Datensätze gefunden werden, die nicht in den Bereich und einen vordefinierten Puffer passen, werden die Datensätze als Abweichung identifiziert.ranges
Numerische Verteilungsbeschränkung
{
"name": "numeric_distribution_constraint",
"id": "3a97494b-0cd7-483e-a1c6-adb7755c1cb0",
"kind": "single_column",
"columns": [
"LoanAmount"
],
"content": {
"distribution": {
"name": "norm",
"parameters": {
"loc": 3799.62,
"scale": 1920.0640064678398
},
"p-value": 0.22617155797563282
}
}
}
Die Spalte
enthält Werte, die mit dem Attribut LoanAmount
angegeben werden, um eine Normalverteilung für die Trainingsdaten festzulegen. Wenn in den Nutzlastdaten Datensätze gefunden werden, die nicht in die Normalverteilung passen, werden die Datensätze als Abweichung identifiziert. Die Verteilungen, in die sie eingepasst werden, sind Gleichverteilung, Exponentialverteilung oder Normalverteilung. Wenn keine Datensätze gefunden werden, die in diese Verteilungen passen, wird diese Einschränkung nicht gelernt.distribution
Kategorisch – kategorische Verteilungsbeschränkung
{
"name": "catcat_distribution_constraint",
"id": "99468600-1924-44d9-852c-1727c9c414ee",
"kind": "two_column",
"columns": [
"CheckingStatus",
"CreditHistory"
],
"content": {
"source_column": "CheckingStatus",
"target_column": "CreditHistory",
"rare_combinations": [
{
"source_value": "no_checking",
"target_values": [
"no_credits"
]
}
]
}
}
Für die Spalten
und CheckingStatus
gibt das Attribut CreditHistory
eine Kombination von Werten an, die in den Trainingsdaten selten vorkommen. Wenn in den Nutzlastdaten Datensätze gefunden werden, die die Kombination enthalten, werden die Datensätze als Drift identifiziert.rare_combinations
Kategorisch-numerische Bereichsbeschränkung
{
"name": "catnum_range_constraint",
"id": "f252033c-1635-4974-8976-3f7904d0c37d",
"kind": "two_column",
"columns": [
"CheckingStatus",
"LoanAmount"
],
"content": {
"source_column": "CheckingStatus",
"target_column": "LoanAmount",
"ranges": {
"no_checking": [
{
"min": 250,
"max": 11676,
"count": 1993
}
],
"less_0": [
{
"min": 250,
"max": 7200,
"count": 1398
}
],
"0_to_200": [
{
"min": 250,
"max": 9076,
"count": 1304
}
],
"greater_200": [
{
"min": 250,
"max": 9772,
"count": 305
}
]
}
}
}
Das Attribut
gibt Mindest- und Höchstwerte für die Spalten ranges
und CheckingStatus
an, die einen Bereich für die Trainingsdaten festlegen. Wenn in den Nutzlastdaten Datensätze gefunden werden, die keine Spaltenwerte für LoanAmount
und LoanAmount
enthalten, die in den Bereich und einen vordefinierten Puffer passen, werden die Datensätze als Abweichung identifiziert.CheckingStatus
Kategorisch-numerische Verteilungsbeschränkung
{
"name": "catnum_distribution_constraint",
"id": "3a97494b-0cd7-483e-a1c6-adb7755c1cb0",
"kind": "two_column",
"columns": [
"CheckingStatus",
"LoanAmount"
],
"content": {
"source_column": "CheckingStatus",
"target_column": "LoanAmount",
"distribution": {
"greater_200": {
"name": "norm",
"parameters": {
"loc": 3799.62,
"scale": 1920.0640064678398
},
"p-value": 0.22617155797563282
}
}
}
}
Die Spalten
und LoanAmount
enthalten Werte, die mit dem Attribut CheckingStatus
angegeben werden, um eine Normalverteilung für die Trainingsdaten festzulegen. Wenn in den Nutzlastdaten Datensätze gefunden werden, die keine distribution
- und LoanAmount
-Spaltenwerte enthalten, die in die Normalverteilung passen, werden die Datensätze als Abweichung identifiziert.CheckingStatus
Nächste Schritte
Um Abweichungen zu minimieren, nachdem sie erkannt wurden, müssen Sie eine neue Version des Modells erstellen, die das Problem behebt. Ein guter Ausgangspunkt für die Problembehebung sind die Datenpunkte, die als Abweichungsursachen hervorgehoben wurden. Fügen Sie die neuen Daten in das Vorhersagemodell ein, nachdem Sie die abweichenden Transaktionen manuell gekennzeichnet haben, und verwenden Sie sie, um das Modell neu zu trainieren.
Übergeordnetes Thema: Bewertungsmetriken