

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Faktorisierungsmaschinen Algorithmus
<a name="fact-machines"></a>

Eine Factorization Machines ist ein allgemeiner überwachter Lernalgorithmus, der sowohl für Klassifizierungs- als auch Regressionsaufgaben eingesetzt werden kann. Diese Erweiterung eines linearen Modells ist darauf ausgelegt, Interaktionen zwischen Funktionen innerhalb von hochdimensionalen Datensätzen mit geringer Dichte wirtschaftlich zu erfassen. Beispielsweise kann das Factorization Machine-Modell in einem System zur Klickprognose die Klickratenmuster erfassen, die bei der Platzierung von Werbung einer bestimmten Werbekategorie auf Seiten einer bestimmten Seitenkategorie beobachtet werden. Factorization Machines sind bei Aufgaben, die hochdimensionale Datensätze mit geringer Dichte umfassen (z. B. Klickprognosen und Artikelempfehlungen), eine gute Wahl.

**Anmerkung**  
Die Amazon SageMaker AI-Implementierung des Factorization Machines-Algorithmus berücksichtigt nur paarweise Interaktionen (2. Ordnung) zwischen Funktionen.

**Topics**
+ [E/A-Schnittstelle für den Factorization Machines-Algorithmus](#fm-inputoutput)
+ [EC2-Instance-Empfehlung für den Factorization Machines-Algorithmus](#fm-instances)
+ [Factorization Machines-Beispiel-Notebook](#fm-sample-notebooks)
+ [Funktionsweise von Factorization Machines](fact-machines-howitworks.md)
+ [Factorization Machines-Hyperparameter](fact-machines-hyperparameters.md)
+ [Optimieren eines Factorization Machines-Modells](fm-tuning.md)
+ [Factorization Machines Antwortformate](fm-in-formats.md)

## E/A-Schnittstelle für den Factorization Machines-Algorithmus
<a name="fm-inputoutput"></a>

Der Factorization Machines-Algorithmus lässt sich entweder im binären Klassifizierungs- oder im Regressionsmodus ausführen. In beiden Modi kann neben dem Datensatz für den Trainingskanal auch eines für den **Testkanal** bereitgestellt werden. Die Bewertung hängt vom verwendeten Modus ab. Im Regressionsmodus wird der Testdatensatz mithilfe von RMSE (Root Mean Square Error, Wurzel des mittleren quadratischen Prognosefehlers) bewertet. Im binären Klassifizierungsmodus wird der Testdatensatz anhand von binärer Kreuzentropie (Protokollverlust), Genauigkeit (Grenzwert = 0,5) und F1-Bewertung (Schwellenwert = 0,5) bewertet.

Für das **Training** unterstützt der Factorization Machines-Algorithmus derzeit nur das `recordIO-protobuf` Format mit `Float32` Tensoren. Da als Anwendungsfall in erster Linie Daten mit geringer Dichte in Frage kommen, ist `CSV` keine gute Wahl. Trainings sowohl im Datei- als auch im Pipe-Modus werden im vom recordIO umschlossenen protobuf-Format unterstützt.

Für die **Inferenz** unterstützen Factorization Machines die `application/json` und `x-recordio-protobuf` Formate. 
+ Für das Problem der **binären Klassifizierung** sagt der Algorithmus eine Bewertung und eine Bezeichnung voraus. Die Bezeichnung ist eine Zahl und kann entweder `0` oder `1` sein. Die Bewertung ist eine Zahl, die angibt, wie stark der Algorithmus glaubt, dass die Bezeichnung `1` sein sollte. Der Algorithmus berechnet zuerst die Bewertung und leitet aus dem Wert die Bezeichnung ab. Wenn die Punktzahl größer oder gleich 0,5 ist, ist die Bezeichnung `1`.
+ Für das Problem der **Regression** wird nur eine Punktzahl zurückgegeben. Dies ist dann der vorausgesagte Wert. Beispiel: Wenn Factorization Machines verwendet wird, um eine Filmbewertung vorherzusagen, ist die Punktzahl die vorausgesagte Bewertung.

Weitere Informationen zu Trainings- und Inferenzdateiformaten finden Sie unter [Factorization Machines-Beispiel-Notebook](#fm-sample-notebooks).

## EC2-Instance-Empfehlung für den Factorization Machines-Algorithmus
<a name="fm-instances"></a>

Der Amazon SageMaker AI Factorization Machines-Algorithmus ist hochgradig skalierbar und kann über verteilte Instanzen hinweg trainiert werden. Wir empfehlen, für Training und Inferenz CPU-Instances bei Datensätzen mit sowohl geringer als auch hoher Dichte zu verwenden. Unter bestimmten Umständen kann das Training mit einem oder mehreren GPUs Daten mit hoher Datendichte einige Vorteile bieten. Das Training mit GPUs ist nur für dichte Daten verfügbar. Verwenden Sie bei Daten mit geringer Dichte CPU-Instances. Der Factorization Machines-Algorithmus unterstützt P2-, P3-, G4dn- und G5-Instances für Training und Inferenz.

## Factorization Machines-Beispiel-Notebook
<a name="fm-sample-notebooks"></a>

Ein Beispielnotizbuch, das den Algorithmus SageMaker AI Factorization Machines verwendet, um die Bilder handgeschriebener Ziffern von Null bis Neun im MNIST-Datensatz zu analysieren, finden Sie unter [Eine Einführung in Faktorisierungsmaschinen](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/factorization_machines_mnist/factorization_machines_mnist.html) mit MNIST. Anweisungen zum Erstellen und Zugreifen auf Jupyter-Notebook-Instanzen, mit denen Sie das Beispiel in KI ausführen können, finden Sie unter. SageMaker [SageMaker Amazon-Notebook-Instanzen](nbi.md) Nachdem Sie eine Notebook-Instanz erstellt und geöffnet haben, wählen Sie den Tab **SageMaker KI-Beispiele** aus, um eine Liste aller KI-Beispiele zu sehen. SageMaker Die Beispiel-Notebooks für die Themenmodellierung, die NTM-Algorithmen verwenden, befinden sich im Abschnitt **Einführung in Amazon-Algorithmen**. Zum Öffnen eines Notebooks klicken Sie auf die Registerkarte **Use (Verwenden)** und wählen Sie **Create copy (Kopie erstellen)** aus.

# Funktionsweise von Factorization Machines
<a name="fact-machines-howitworks"></a>

Die Prognosenaufgabe für ein Factorization Machine-Modell besteht darin, eine Funktion ŷ aus einem Funktionsumfang x i für eine Zieldomain zu schätzen. Diese Domain ist reellwertig für die Regression und binär für die Klassifizierung. Das Factorization Machine-Modell wird überwacht und verfügt somit über ein Trainingsdatensatz (xi,yj). Die Vorteile dieses Modells liegen in der Art und Weise, wie es eine faktorisierte Parametrisierung zum Erfassen der paarweisen Funktionsinteraktionen verwendet. Dies kann mathematisch wie folgt dargestellt werden: 

![\[Ein Bild, das die Gleichung für das Modell Factorization Machines enthält.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/FM1.jpg)


 Die drei Ausdrücke in dieser Gleichung entsprechen den drei Komponenten des Modells: 
+ Der w0 -Ausdruck stellt den globalen Bias-Wert dar.
+ Die wi linearen Ausdrücke modellieren die Stärke der ithVariable.
+ Die <vi,vj> Faktorisierungsbegriffe modellieren die paarweise Interaktion zwischen der ith und jth Variablen.

Die globalen Bias- und linearen Ausdrücke gleichen denen in einem linearen Modell. Die paarweisen Funktionsinteraktionen werden im dritten Ausdruck als inneres Produkt der korrespondierenden Faktoren, die für jede Funktion gelernt wurden, modelliert. Diese gelernten Faktoren können auch als einbettende Vektoren der einzelnen Funktion betrachtet werden. Wenn beispielsweise in einer Klassifizierungsaufgabe ein Funktionspaar häufiger gemeinsam in Stichproben mit positiver Bezeichnung vorkommt, ist das innere Produkt von deren Faktoren groß. Mit anderen Worten: Die einbettenden Vektoren liegen in Kosinus-Ähnlichkeit nahe zusammen. Weitere Informationen über das Factorization Machine-Modell finden Sie unter [Factorization Machines](https://www.ismll.uni-hildesheim.de/pub/pdfs/Rendle2010FM.pdf).

Bei Regressionsaufgaben wird das Modell trainiert, indem der quadratische Fehler zwischen der Modellvorhersage ŷn und dem Zielwert yn minimiert wird. Dies wird als quadratischer Verlust bezeichnet:

![\[Ein Abbild mit der Gleichung für den quadratischen Verlust.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/FM2.jpg)


Für eine Klassifizierungsaufgabe wird das Modell trainiert, indem der Kreuz-Entropie-Verlust, auch als Protokollverlust bezeichnet, minimiert wird: 

![\[Ein Abbild mit der Gleichung für den Protokollverlust.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/FM3.jpg)


Wobei: 

![\[Ein Abbild mit der Logistikfunktion der prognostizierten Werte.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/FM4.jpg)


Weitere Informationen zu Verlustfunktionen für die Klassifizierung finden Sie unter [Loss functions for classification](https://en.wikipedia.org/wiki/Loss_functions_for_classification).

# Factorization Machines-Hyperparameter
<a name="fact-machines-hyperparameters"></a>

Die folgende Tabelle enthält die Hyperparameter für den Algorithmus Factorization Machines. Dies sind Parameter, die von Benutzern festgelegt werden, um die Schätzung der Modellparameter aus Daten zu erleichtern. Die obligatorischen Hyperparameter, die festgelegt werden müssen, sind zuerst aufgelistet (in alphabetischer Reihenfolge). Die optionalen Hyperparameter, die festgelegt werden können, sind als Nächstes aufgeführt (ebenfalls in alphabetischer Reihenfolge).


| Name des Parameters | Description | 
| --- | --- | 
| feature\$1dim | Die Dimension des Eingabefunktionsraums. Dies kann bei geringen Eingaben sehr hoch sein. **Erforderlich** Gültige Werte: positive Ganzzahl. Vorgeschlagener Wertebereich: [10000,10000000]  | 
| num\$1factors | Die Dimensionalität der Faktorisierung. **Erforderlich** Gültige Werte: positive Ganzzahl. Empfohlener Wertebereich: [2,1000], 64 liefert in der Regel gute Ergebnisse und ist ein guter Ausgangspunkt.  | 
| predictor\$1type | Der Prognosetyp. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/fact-machines-hyperparameters.html) **Erforderlich** Gültige Werte: Zeichenfolge: `binary_classifier` oder `regressor`  | 
| bias\$1init\$1method | Die Initialisierungsmethode für den Bias-Ausdruck: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/fact-machines-hyperparameters.html) **Optional** Gültige Werte: `uniform`, `normal` oder `constant` Standardwert: `normal`  | 
| bias\$1init\$1scale | Initialisierungsbereich für den Bias-Ausdruck. Wird wirksam, wenn `bias_init_method` auf `uniform` gesetzt ist.  **Optional** Gültige Werte: positive Gleitkommazahl. Vorgeschlagener Wertebereich: [1e-8, 512]. Standardwert: Keine  | 
| bias\$1init\$1sigma | Die Standardabweichung bei der Initialisierung des Bias-Ausdrucks. Wird wirksam, wenn `bias_init_method` auf `normal` gesetzt ist.  **Optional** Gültige Werte: positive Gleitkommazahl. Vorgeschlagener Wertebereich: [1e-8, 512]. Standardwert: 0.01  | 
| bias\$1init\$1value | Der Initialwert des Bias-Ausdrucks. Wird wirksam, wenn `bias_init_method` auf `constant` gesetzt ist.  **Optional** Gültige Werte: Gleitkommazahl. Vorgeschlagener Wertebereich: [1e-8, 512]. Standardwert: Keine  | 
| bias\$1lr | Die Lernrate für den Bias-Ausdruck.  **Optional** Gültige Werte: positive Gleitkommazahl. Vorgeschlagener Wertebereich: [1e-8, 512]. Standardwert: 0.1  | 
| bias\$1wd | Der Zerfall der Gewichtung für den Bias-Ausdruck.  **Optional** Gültige Werte: positive Gleitkommazahl. Vorgeschlagener Wertebereich: [1e-8, 512]. Standardwert: 0.01  | 
| clip\$1gradient | Clipping Optimizer Gradient-Parameter. Schneidet den Gradienten durch Projektion von [-`clip_gradient`, \$1`clip_gradient`] auf das Intervall.  **Optional** Gültige Werte: Gleitkommazahl. Standardwert: Keine  | 
| epochs | Die Anzahl der auszuführenden Trainingsepochen.  **Optional** Gültige Werte: Positive Ganzzahl Standardwert: 1  | 
| eps | Epsilon-Parameter zur Vermeidung der Division durch 0. **Optional** Gültige Werte: Gleitkommazahl. Vorgeschlagener Wert: klein. Standardwert: Keine  | 
| factors\$1init\$1method | Die Initialisierungsmethode für Faktorisierungsausdrücke: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/fact-machines-hyperparameters.html) **Optional** Gültige Werte: `uniform`, `normal` oder `constant`. Standardwert: `normal`  | 
| factors\$1init\$1scale  | Der Initialisierungsbereich für Faktorisierungsausdrücke. Wird wirksam, wenn `factors_init_method` auf `uniform` gesetzt ist.  **Optional** Gültige Werte: positive Gleitkommazahl. Vorgeschlagener Wertebereich: [1e-8, 512]. Standardwert: Keine  | 
| factors\$1init\$1sigma | Die Standardabweichung bei der Initialisierung von Faktorisierungsausdrücken. Wird wirksam, wenn `factors_init_method` auf `normal` gesetzt ist.  **Optional** Gültige Werte: positive Gleitkommazahl. Vorgeschlagener Wertebereich: [1e-8, 512]. Standardwert: 0.001  | 
| factors\$1init\$1value | Der Initialwert der Faktorisierungsausdrücke. Wird wirksam, wenn `factors_init_method` auf `constant` gesetzt ist.  **Optional** Gültige Werte: Gleitkommazahl. Vorgeschlagener Wertebereich: [1e-8, 512]. Standardwert: Keine  | 
| factors\$1lr | Die Lernrate für Faktorisierungsausdrücke.  **Optional** Gültige Werte: positive Gleitkommazahl. Vorgeschlagener Wertebereich: [1e-8, 512]. Standardwert: 0.0001  | 
| factors\$1wd | Der Zerfall der Gewichtung für Faktorisierungsausdrücke.  **Optional** Gültige Werte: positive Gleitkommazahl. Vorgeschlagener Wertebereich: [1e-8, 512]. Standardwert: 0.00001  | 
| linear\$1lr | Die Lernrate für lineare Ausdrücke.  **Optional** Gültige Werte: positive Gleitkommazahl. Vorgeschlagener Wertebereich: [1e-8, 512]. Standardwert: 0.001  | 
| linear\$1init\$1method | Die Initialisierungsmethode für lineare Ausdrücke: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/fact-machines-hyperparameters.html) **Optional** Gültige Werte: `uniform`, `normal` oder `constant`. Standardwert: `normal`  | 
| linear\$1init\$1scale | Initialisierungsbereich für lineare Ausdrücke. Wird wirksam, wenn `linear_init_method` auf `uniform` gesetzt ist.  **Optional** Gültige Werte: positive Gleitkommazahl. Vorgeschlagener Wertebereich: [1e-8, 512]. Standardwert: Keine  | 
| linear\$1init\$1sigma | Die Standardabweichung bei der Initialisierung linearer Ausdrücke. Wird wirksam, wenn `linear_init_method` auf `normal` gesetzt ist.  **Optional** Gültige Werte: positive Gleitkommazahl. Vorgeschlagener Wertebereich: [1e-8, 512]. Standardwert: 0.01  | 
| linear\$1init\$1value | Der Initialwert der linearen Ausdrücke. Wird wirksam, wenn `linear_init_method` auf *constant* gesetzt ist.  **Optional** Gültige Werte: Gleitkommazahl. Vorgeschlagener Wertebereich: [1e-8, 512]. Standardwert: Keine  | 
| linear\$1wd | Der Zerfall der Gewichtung für lineare Bias-Ausdrücke. **Optional** Gültige Werte: positive Gleitkommazahl. Vorgeschlagener Wertebereich: [1e-8, 512]. Standardwert: 0.001  | 
| mini\$1batch\$1size | Die Größe des im Rahmen des Trainings verwendeten Mini-Stapels.  **Optional** Gültige Werte: Positive Ganzzahl Standardwert: 1000  | 
| rescale\$1grad |  Gradient Rescaling Optimizer-Parameter. Falls gesetzt, wird der Gradient vor der Aktualisierung mit `rescale_grad` multipliziert. Häufige Auswahl ist 1,0/`batch_size`.  **Optional** Gültige Werte: Gleitkommazahl. Standardwert: Keine  | 

# Optimieren eines Factorization Machines-Modells
<a name="fm-tuning"></a>

Die *automatische Modelloptimierung*, auch bekannt als Hyperparameteroptimierung, sucht die beste Version eines Modells, indem viele Aufträge ausgeführt werden, die einen Bereich von Hyperparametern in Ihrem Datensatz testen. Sie wählen die optimierbaren Hyperparameter, eine Reihe von Werten für jeden Parameter und eine objektive Metrik aus. Sie wählen die objektive Metrik aus den Metriken aus, die der Algorithmus berechnet. Die automatische Modelloptimierung durchsucht die ausgewählten Hyperparameter nach der Kombination von Werten, die das Modell ergeben, das die objektive Metrik optimiert.

Mehr Informationen über die Modelloptimierung finden Sie unter [Automatische Modelloptimierung mit KI SageMaker](automatic-model-tuning.md).

## Vom Factorization Machines-Algorithmus berechnete Metriken
<a name="fm-metrics"></a>

Der Factorization Machines-Algorithmus verfügt sowohl über binäre Klassifikations- als auch Regressionsprädiktoren. Der Prognosetyp bestimmt, welche Metrik Sie für die automatische Modelloptimierung verwenden können. Der Algorithmus meldet eine `test:rmse` regressor-Metrik, die während des Trainings berechnet wird. Wählen Sie diese Metrik beim Optimieren des Modells für Regressionsaufgaben als objektive Metrik aus.


| Metrikname | Description | Optimierungsrichtung | 
| --- | --- | --- | 
| test:rmse | Wurzel des mittleren quadratischen Prognosefehlers (Root Mean Square Error) | Minimieren | 

Der Factorization Machines-Algorithmus liefert drei binäre Klassifikationsmetriken, die während des Trainings berechnet werden. Beim Optimieren des Modells für binäre Klassifikationsaufgaben wählen Sie eine der folgenden Optionen als objektive Metrik aus.


| Metrikname | Description | Optimierungsrichtung | 
| --- | --- | --- | 
| test:binary\$1classification\$1accuracy | Accuracy | Maximieren | 
| test:binary\$1classification\$1cross\$1entropy | Kreuz-Entropie | Minimieren | 
| test:binary\$1f\$1beta | Beta | Maximieren | 

## Optimierbare Factorization Machines-Hyperparameter
<a name="fm-tunable-hyperparameters"></a>

Sie können die folgenden Hyperparameter für den Algorithmus Factorization Machines einstellen. Die Initialisierungsparameter, die die Begriffe "bias", "linear" und "factorization" enthalten, hängen von ihrer Initialisierungsmethode ab. Es gibt drei Initialisierungsmethoden: `uniform`, `normal` und `constant`. Diese Initialisierungsmethoden sind nicht optimierbar. Die Parameter, die optimierbar sind, hängen von der Wahl der Initialisierungsmethode ab. Beispiel: Wenn die Initialisierungsmethode `uniform` lautet, dann sind nur die `scale`-Parameter optimierbar. Insbesondere bei `bias_init_method==uniform` sind `bias_init_scale`, `linear_init_scale` und `factors_init_scale` optimierbar. Wenn die Initialisierungsmethode entsprechend `normal` lautet, dann sind nur die `sigma`-Parameter optimierbar. Wenn die Initialisierungsmethode `constant` lautet, dann sind nur die `value`-Parameter optimierbar. Diese Abhängigkeiten werden in der folgenden Tabelle aufgeführt. 


| Name des Parameters | Parametertyp | Empfohlene Bereiche | -Abhängigkeit | 
| --- | --- | --- | --- | 
| bias\$1init\$1scale | ContinuousParameterRange | MinValue: 1e-8,: 512 MaxValue | bias\$1init\$1method==uniform | 
| bias\$1init\$1sigma | ContinuousParameterRange | MinValue: 1e-8,: 512 MaxValue | bias\$1init\$1method==normal | 
| bias\$1init\$1value | ContinuousParameterRange | MinValue: 1e-8,: 512 MaxValue | bias\$1init\$1method==constant | 
| bias\$1lr | ContinuousParameterRange | MinValue: 1e-8,: 512 MaxValue | Keine | 
| bias\$1wd | ContinuousParameterRange | MinValue: 1e-8,: 512 MaxValue | Keine | 
| epoch | IntegerParameterRange | MinValue: 1, MaxValue: 100 | Keine | 
| factors\$1init\$1scale | ContinuousParameterRange | MinValue: 1e-8, MaxValue: 512 | bias\$1init\$1method==uniform | 
| factors\$1init\$1sigma | ContinuousParameterRange | MinValue: 1e-8,: 512 MaxValue | bias\$1init\$1method==normal | 
| factors\$1init\$1value | ContinuousParameterRange | MinValue: 1e-8,: 512 MaxValue | bias\$1init\$1method==constant | 
| factors\$1lr | ContinuousParameterRange | MinValue: 1e-8,: 512 MaxValue | Keine | 
| factors\$1wd | ContinuousParameterRange | MinValue: 1e-8,: 512] MaxValue | Keine | 
| linear\$1init\$1scale | ContinuousParameterRange | MinValue: 1e-8,: 512 MaxValue | bias\$1init\$1method==uniform | 
| linear\$1init\$1sigma | ContinuousParameterRange | MinValue: 1e-8,: 512 MaxValue | bias\$1init\$1method==normal | 
| linear\$1init\$1value | ContinuousParameterRange | MinValue: 1e-8,: 512 MaxValue | bias\$1init\$1method==constant | 
| linear\$1lr | ContinuousParameterRange | MinValue: 1e-8,: 512 MaxValue | Keine | 
| linear\$1wd | ContinuousParameterRange | MinValue: 1e-8,: 512 MaxValue | Keine | 
| mini\$1batch\$1size | IntegerParameterRange | MinValue: 100, MaxValue: 1000 | Keine | 

# Factorization Machines Antwortformate
<a name="fm-in-formats"></a>

Amazon SageMaker AI bietet verschiedene Antwortformate, um Rückschlüsse aus dem Factorization Machines-Modell zu ziehen, wie JSON, JSONLINES und RECORDIO, mit spezifischen Strukturen für binäre Klassifizierungs- und Regressionsaufgaben.

## JSON-Antwortformat
<a name="fm-json"></a>

Binäre Klassifikation

```
let response =   {
    "predictions":    [
        {
            "score": 0.4,
            "predicted_label": 0
        } 
    ]
}
```

Regression

```
let response =   {
    "predictions":    [
        {
            "score": 0.4
        } 
    ]
}
```

## JSONLINES-Antwortformat
<a name="fm-jsonlines"></a>

Binäre Klassifikation

```
{"score": 0.4, "predicted_label": 0}
```

Regression

```
{"score": 0.4}
```

## RECORDIO-Antwortformat
<a name="fm-recordio"></a>

Binäre Klassifikation

```
[
    Record = {
        features = {},
        label = {
            'score’: {
                keys: [],
                values: [0.4]  # float32
            },
            'predicted_label': {
                keys: [],
                values: [0.0]  # float32
            }
        }
    }
]
```

Regression

```
[
    Record = {
        features = {},
        label = {
            'score’: {
                keys: [],
                values: [0.4]  # float32
            }   
        }
    }
]
```