Skip to main content
IBM Quantum Platform

Multiverse Singularity – API-Referenz für „ Machine Learning “

  • Qiskit Functions

    Qiskit Functions — von Partnerorganisationen entwickelte vorgefertigte Tools — abstrahieren Teile des Softwareentwicklungs-Workflows, um die Erforschung von Algorithmen und die Anwendungsentwicklung im großen Maßstab zu vereinfachen und zu beschleunigen. Klicken Sie hier, um die Anleitung zu dieser Qiskit-Funktion anzuzeigen.


Handlungsorientierter Ansatz

Die Funktion basiert auf einem aktionsorientierten Ansatz. Man kann sich das als eine virtuelle Umgebung vorstellen, in der man mithilfe von Aktionen Aufgaben ausführt oder deren Zustand verändert. Derzeit stehen folgende Aktionen zur Verfügung: list, create, delete, fit, predict, fit_predict, und create_fit_predict. Das folgende Beispiel veranschaulicht die create_fit_predict Aktion.

list

Die list Aktion ruft alle gespeicherten Klassifikatoren im *.pkl.tar Format aus dem gemeinsamen Datenverzeichnis ab. Sie können auch über die catalog.files() Methode auf den Inhalt dieses Verzeichnisses zugreifen. Im Allgemeinen sucht die Listenaktion im Verzeichnis für gemeinsam genutzte Daten nach Dateien mit der *.pkl.tar Erweiterung und gibt diese in Form einer Liste zurück.

  • Eingaben:

action

Typ: `str`

Der Name der Aktion aus der Gruppe create, list, fit, predict, fit_predict, create_fit_predict und delete. Erforderlich: Ja

  • Verwendung:
job = singularity.run(action="list")

create

Die create Aktion erstellt anhand der angegebenen Parameter einen Klassifikator des angegebenen quantum_classifier Typs und speichert ihn im Verzeichnis für gemeinsam genutzte Daten.

Note

Die Funktion unterstützt derzeit nur das QuantumEnhancedEnsembleClassifier.

  • Eingaben:

action

Typ: `str`

Der Name der Aktion aus der Gruppe create, list, fit, predict, fit_predict, create_fit_predict und delete.

  • Erforderlich: Ja

name

Typ: `str`

Der Name des Quantenklassifikators lautet beispielsweise. spam_classifier

  • Erforderlich: Ja

instance

Typ: `str`

IBM Beispiel.

  • Erforderlich: Ja

backend_name

Typ: `str`

Standardwert: `None`

IBM Rechenressource. Die Standardeinstellung ist None, was bedeutet, dass das Backend mit den wenigsten ausstehenden Aufträgen verwendet wird.

  • Erforderlich: Nein

quantum_classifier

Typ: `str`

Der Typ des Quantenklassifikators, zum Beispiel. QuantumEnhancedEnsembleClassifier

  • Erforderlich: Nein

num_learners

Typ: `int`

Standardwert: 10

Die Anzahl der Lernenden im Ensemble.

  • Erforderlich: Nein

learners_types

Typ: `list`

Standardwert: `[DecisionTreeClassifier]`

Lerntypen. Zu den unterstützten Typen gehören: DecisionTreeClassifier, GaussianNB, KNeighborsClassifier MLPClassifier,, und LogisticRegression. Weitere Einzelheiten zu den einzelnen Funktionen finden Sie in der scikit-learn-Dokumentation.

  • Erforderlich: Nein

learners_proportions

Typ: `list`

Standardwert: `[1.0]`

Anteil der einzelnen Lerntypen in der Gruppe.

  • Erforderlich: Nein

learners_options

Typ: `list`

Standardwert: `[{`max_depth`: 3, `splitter`: `random`, `class_weight`: None}]`

Optionen für jeden Lerntyp im Ensemble. Eine vollständige Liste der Optionen für den/die ausgewählten Modelltyp(en) finden Sie in der scikit-learn-Dokumentation.

  • Erforderlich: Nein

regularization_type

Typ: `str` or `list`

Standardwert: `onsite`

Zu verwendende Regularisierungsart(en): onsite oder alpha. onsite steuert den Onsite-Term, wobei höhere Werte zu spärlicheren Ensembles führen. alpha steuert das Gleichgewicht zwischen Interaktions- und Standorttermen, wobei niedrigere Werte zu spärlicheren Ensembles führen. Wenn eine Liste bereitgestellt wird, werden für jeden Typ Modelle trainiert, und das Modell mit der besten Leistung wird ausgewählt.

  • Erforderlich: Nein

regularization

Typ: `str` or `float` or `list`

Standardwert: `0.01`

Regularisierungswert. begrenzt zwischen 0 und, +inf wenn regularization_type gleich ist onsite. begrenzt zwischen 0 und, 1 wenn regularization_type gleich ist alpha. Wenn auf autogesetzt ist, wird die automatische Regularisierung verwendet – der optimale Regularisierungsparameter wird durch binäre Suche ermittelt, wobei das gewünschte Verhältnis von ausgewählten Klassifikatoren zur Gesamtzahl der Klassifikatoren (regularization_desired_ratio) und die Obergrenze für den Regularisierungsparameter (regularization_upper_bound) berücksichtigt werden. Wird eine Liste angegeben, werden für jeden Wert Modelle trainiert und das Modell mit der besten Leistung ausgewählt.

  • Erforderlich: Nein

regularization_desired_ratio

Typ: `float` or `list`

Standardwert: `0.75`

Gewünschtes Verhältnis (oder gewünschte Verhältnisse) der ausgewählten Klassifikatoren zur Gesamtzahl der Klassifikatoren für die Autoregularisierung. Wenn eine Liste bereitgestellt wird, werden für jedes Verhältnis Modelle trainiert, und das Modell mit der besten Leistung wird ausgewählt.

  • Erforderlich: Nein

regularization_upper_bound

Typ: `float` or `list`

Standardwert: 200

Obergrenze(n) für den Regularisierungsparameter bei Verwendung der automatischen Regularisierung. Wird eine Liste bereitgestellt, werden für jede Obergrenze Modelle trainiert, und das Modell mit der besten Leistung wird ausgewählt.

  • Erforderlich: Nein

weight_update_method

Typ: `str`

Standardwert: `logarithmic`

Verfahren zur Aktualisierung der Stichprobengewichte aus logarithmic und quadratic.

  • Erforderlich: Nein

sample_scaling

Typ: `boolean`

Standardwert: False`

Ob eine Skalierung der Stichprobe vorgenommen werden soll.

  • Erforderlich: Nein

prediction_scaling

Typ: `float`

Standardwert: `None`

Skalierungsfaktor für Vorhersagen.

  • Erforderlich: Nein

optimizer_options

Typ: `dict`

Optionen des QAOA-Optimierers.

Name
Typ
Beschreibung
Erforderlich
Standard
num_solutionsintegerDie Anzahl der LösungenNein1024
repsintegerDie Anzahl der WiederholungenNein4
sparsifyfloatDer SparsifizierungsschwellenwertNein0.001
thetafloatDer Anfangswert von Theta, einem Variationsparameter von QAOANeinNone
simulatorbooleanOb ein Simulator oder eine QPU verwendet werden sollNeinFalse
classical_optimizerstrName des klassischen Optimierers für das QAOA. Alle hier aufgeführten, von SciPy, angebotenen Rechner können genutzt werden. Sie müssen die classical_optimizer_options entsprechenden Einstellungen vornehmenNeinCOBYLA
classical_optimizer_optionsdictionaryKlassische Optimierungsoptionen. Eine vollständige Liste der verfügbaren Optionen finden Sie in der Dokumentation unter SciPyNein{"maxiter": 60}
optimization_levelintegerDie Tiefe der QAOA-SchaltungNein3
num_transpiler_runsintegerAnzahl der Transpiler-DurchläufeNein30
pass_manager_optionsdictionaryOptionen zur Erstellung eines voreingestellten Pass-ManagersNein{"approximation_degree": 1.0}
estimator_optionsdictionaryOptionen für den Schätzer. Eine vollständige Liste der verfügbaren Optionen finden Sie in der Dokumentation zu „ Qiskit Runtime Client “NeinNone
sampler_optionsdictionarySampler-Optionen. Eine vollständige Liste der verfügbaren Optionen finden Sie in der Dokumentation zum „ Qiskit Runtime “-ClientNeinNone
  • Standardmäßig estimator_options sind dies:
Name
Typ
Wert
default_shotsinteger1024
resilience_levelinteger2
twirlingdictionary{"enable_gates": True}
dynamical_decouplingdictionary{"enable": True}
resilience_optionsdictionary{"zne_mitigation": False, "zne": {"amplifier": "pea", "noise_factors": [1.0, 1.3, 1.6], "extrapolator": ["linear", "polynomial_degree_2", "exponential"],}}
  • Standardmäßig sampler_options sind dies:
Name
Typ
Wert
default_shotsinteger1024
resilience_levelinteger1
twirlingdictionary{"enable_gates": True}
dynamical_decouplingdictionary{"enable": True}
  • Erforderlich: Nein

voting

Typ: `str`

Standardwert: `hard`

Verwenden Sie die Mehrheitsentscheidung (hard) oder den Durchschnitt der Wahrscheinlichkeiten (soft) zur Aggregation der Vorhersagen/Wahrscheinlichkeiten der Lernmodelle.

  • Erforderlich: Nein

prob_threshold

Typ: `float`

Standardwert: `0.5`

Optimaler Wahrscheinlichkeitsschwellenwert.

  • Erforderlich: Nein

random_state

Typ: `int`

Standardwert: `None`

Steuern Sie den Zufallsfaktor, um die Wiederholbarkeit zu gewährleisten.

  • Erforderlich: Nein
  • Verwendung:
job = singularity.run(
    action="create",
    name="classifier_name",  # specify your custom name for the classifier here
    num_learners=10,
    regularization=0.01,
    optimizer_options={"simulator": True},
)
  • Validierungen:

    • name:
      • Der Name muss eindeutig sein und darf maximal 64 Zeichen lang sein.
      • Er darf nur alphanumerische Zeichen und Unterstriche enthalten.
      • Er muss mit einem Buchstaben beginnen und darf nicht mit einem Unterstrich enden.
      • Im gemeinsamen Datenverzeichnis darf noch kein Klassifikator mit demselben Namen vorhanden sein.

delete

Diese delete Aktion entfernt einen Klassifikator aus dem gemeinsamen Datenverzeichnis.

  • Eingaben:

action

Typ: `str`

Der Name der Aktion. Muss delete sein.

  • Erforderlich: Ja

name

Typ: `str`

Der Name des zu löschenden Klassifikators.

  • Erforderlich: Ja
  • Verwendung:
job = singularity.run(
    action="delete",
    name="classifier_name",  # specify the name of the classifier to delete here
)
  • Validierungen:

    • name:
      • Der Name muss eindeutig sein und darf maximal 64 Zeichen lang sein.
      • Er darf nur alphanumerische Zeichen und Unterstriche enthalten.
      • Er muss mit einem Buchstaben beginnen und darf nicht mit einem Unterstrich enden.
      • Ein Klassifikator mit demselben Namen sollte bereits im gemeinsamen Datenverzeichnis vorhanden sein.

fit

Die fit Aktion trainiert einen Klassifikator anhand der bereitgestellten Trainingsdaten.

  • Eingaben:

action

Typ: `str`

Der Name der Aktion. Muss fit sein.

  • Erforderlich: Ja

name

Typ: `str`

Der Name des zu trainierenden Klassifikators.

  • Erforderlich: Ja

X

Typ: `array` or `list` or `str`

Die Trainingsdaten. Dies kann ein Array vom Typ „ NumPy “, eine Liste oder eine Zeichenkette sein, die auf einen Dateinamen im Verzeichnis für gemeinsam genutzte Daten verweist.

  • Erforderlich: Ja

y

Typ: `array` or `list` or `str`

Die Zielwerte für das Training. Dies kann ein Array vom Typ „ NumPy “, eine Liste oder eine Zeichenkette sein, die auf einen Dateinamen im Verzeichnis für gemeinsam genutzte Daten verweist.

  • Erforderlich: Ja

fit_params

Typ: `dict`

Zusätzliche Parameter, die an die fit Methode des Klassifikators übergeben werden sollen. Siehe das unten stehende Wörterbuch.

  • Erforderlich: Nein
Name
Typ
Beschreibung
Erforderlich
Standard
validation_datatupleDie Validierungsdaten und Bezeichnungen.NeinNone
pos_labelinteger oder strDie Klassenbezeichnung, die auf 1 abgebildet werden soll.NeinNone
optimization_datastrDatensatz, anhand dessen das Ensemble optimiert werden soll. Kann eines der folgenden sein: train, validation, both.Neintrain
  • Verwendung:
job = singularity.run(
    action="fit",
    name="classifier_name",  # specify the name of the classifier to train here
    X=X_train,  # or "X_train.npy" if you uploaded it in the shared data directory
    y=y_train,  # or "y_train.npy" if you uploaded it in the shared data directory
    fit_params={},  # define the fit parameters here
)
  • Validierungen:

    • name:
      • Der Name muss eindeutig sein und darf maximal 64 Zeichen lang sein.
      • Er darf nur alphanumerische Zeichen und Unterstriche enthalten.
      • Er muss mit einem Buchstaben beginnen und darf nicht mit einem Unterstrich enden.
      • Ein Klassifikator mit demselben Namen sollte bereits im gemeinsamen Datenverzeichnis vorhanden sein.

predict

Die predict Aktion dient dazu, harte und weiche Vorhersagen (Wahrscheinlichkeiten) zu erhalten.

  • Eingaben:

action

Typ: `str`

Der Name der Aktion. Muss predict sein.

  • Erforderlich: Ja

name

Typ: `str`

Der Name des zu verwendenden Klassifikators.

  • Erforderlich: Ja

X

Typ: `array` or `list` or `str`

Die Testdaten. Dies kann ein Array vom Typ „ NumPy “, eine Liste oder eine Zeichenkette sein, die auf einen Dateinamen im Verzeichnis für gemeinsam genutzte Daten verweist.

  • Erforderlich: Ja

options["out"]

Typ: `str`

Der Dateiname der JSON-Ausgabedatei, in der die Vorhersagen im gemeinsamen Datenverzeichnis gespeichert werden sollen. Sofern nicht anders angegeben, werden die Vorhersagen im Job-Ergebnis zurückgegeben.

  • Erforderlich: Nein
  • Verwendung:
job = singularity.run(
    action="predict",
    name="classifier_name",  # specify the name of the classifier to use here
    X=X_test,  # or "X_test.npy" if you uploaded it to the shared data directory
    options={
        "out": "output.json",
    },
)
  • Validierungen:

    • name:
      • Der Name muss eindeutig sein und darf maximal 64 Zeichen lang sein.
      • Er darf nur alphanumerische Zeichen und Unterstriche enthalten.
      • Er muss mit einem Buchstaben beginnen und darf nicht mit einem Unterstrich enden.
      • Ein Klassifikator mit demselben Namen sollte bereits im gemeinsamen Datenverzeichnis vorhanden sein.
    • options["out"]:
      • Der Dateiname muss eindeutig sein und darf maximal 64 Zeichen lang sein.
      • Er darf nur alphanumerische Zeichen und Unterstriche enthalten.
      • Er muss mit einem Buchstaben beginnen und darf nicht mit einem Unterstrich enden.
      • Es muss die .json Endung haben.

fit_predict

Die fit_predict Aktion trainiert anhand der Trainingsdaten einen Klassifikator und nutzt diesen anschließend, um harte und weiche Vorhersagen (Wahrscheinlichkeiten) zu erhalten.

  • Eingaben:

action

Typ: `str`

Der Name der Aktion. Muss fit_predict sein.

  • Erforderlich: Ja

name

Typ: `str`

Der Name des zu verwendenden Klassifikators.

  • Erforderlich: Ja

X_train

Typ: `array` or `list` or `str`

Die Trainingsdaten. Dies kann ein Array vom Typ „ NumPy “, eine Liste oder eine Zeichenkette sein, die auf einen Dateinamen im Verzeichnis für gemeinsam genutzte Daten verweist.

  • Erforderlich: Ja

y_train

Typ: `array` or `list` or `str`

Die Zielwerte für das Training. Dies kann ein Array vom Typ „ NumPy “, eine Liste oder eine Zeichenkette sein, die auf einen Dateinamen im Verzeichnis für gemeinsam genutzte Daten verweist.

  • Erforderlich: Ja

X_test

Typ: `array` or `list` or `str`

Die Testdaten. Dies kann ein Array vom Typ „ NumPy “, eine Liste oder eine Zeichenkette sein, die auf einen Dateinamen im Verzeichnis für gemeinsam genutzte Daten verweist.

  • Erforderlich: Ja

fit_params

Typ: `dict`

Zusätzliche Parameter, die an die fit Methode des Klassifikators übergeben werden sollen.

  • Erforderlich: Nein

options["out"]

Typ: `str`

Der Dateiname der JSON-Ausgabedatei, in der die Vorhersagen im gemeinsamen Datenverzeichnis gespeichert werden sollen. Sofern nicht anders angegeben, werden die Vorhersagen im Job-Ergebnis zurückgegeben.

  • Erforderlich: Nein
  • Verwendung:
job = singularity.run(
    action="fit_predict",
    name="classifier_name",  # specify the name of the classifier to use here
    X_train=X_train,  # or "X_train.npy" if you uploaded it in the shared data directory
    y_train=y_train,  # or "y_train.npy" if you uploaded it in the shared data directory
    X_test=X_test,  # or "X_test.npy" if you uploaded it in the shared data directory
    fit_params={},  # define the fit parameters here
    options={
        "out": "output.json",
    },
)
  • Validierungen:

    • name:

      • Der Name muss eindeutig sein und darf maximal 64 Zeichen lang sein.
      • Er darf nur alphanumerische Zeichen und Unterstriche enthalten.
      • Er muss mit einem Buchstaben beginnen und darf nicht mit einem Unterstrich enden.
      • Ein Klassifikator mit demselben Namen sollte bereits im gemeinsamen Datenverzeichnis vorhanden sein.
    • options["out"]:

      • Der Dateiname muss eindeutig sein und darf maximal 64 Zeichen lang sein.
      • Er darf nur alphanumerische Zeichen und Unterstriche enthalten.
      • Er muss mit einem Buchstaben beginnen und darf nicht mit einem Unterstrich enden.
      • Es muss die .json Endung haben.

create_fit_predict

Die create_fit_predict Aktion erstellt einen Klassifikator, trainiert ihn anhand der bereitgestellten Trainingsdaten und nutzt ihn anschließend, um harte und weiche Vorhersagen (Wahrscheinlichkeiten) zu erhalten.

Ein Beispiel für diese create_fit_predict Aktion finden Sie im Leitfaden.

  • Eingaben:

action

Typ: `str`

Der Name der Aktion aus der Gruppe create, list, fit, predict, fit_predict, create_fit_predict und delete.

  • Erforderlich: Ja

name

Typ: `str`

Der Name des zu verwendenden Klassifikators.

  • Erforderlich: Ja

quantum_classifier

Typ: `str`

Standardwert: `QuantumEnhancedEnsembleClassifier`

Der Typ des Klassifikators, zum Beispiel. QuantumEnhancedEnsembleClassifier

  • Erforderlich: Nein

X_train

Typ: `array` or `list` or `str`

Die Trainingsdaten. Dies kann ein Array vom Typ „ NumPy “, eine Liste oder eine Zeichenkette sein, die auf einen Dateinamen im Verzeichnis für gemeinsam genutzte Daten verweist.

  • Erforderlich: Ja

y_train

Typ: `array` or `list` or `str`

Die Zielwerte für das Training. Dies kann ein Array vom Typ „ NumPy “, eine Liste oder eine Zeichenkette sein, die auf einen Dateinamen im Verzeichnis für gemeinsam genutzte Daten verweist.

  • Erforderlich: Ja

X_test

Typ: `array` or `list` or `str`

Die Testdaten. Dies kann ein Array vom Typ „ NumPy “, eine Liste oder eine Zeichenkette sein, die auf einen Dateinamen im Verzeichnis für gemeinsam genutzte Daten verweist.

  • Erforderlich: Ja

fit_params

Typ: `dict`

Zusätzliche Parameter, die an die fit Methode des Klassifikators übergeben werden sollen.

  • Erforderlich: Nein

options["save"]

Typ: `bool`

Standardwert: `True`

Ob der trainierte Klassifikator im gemeinsamen Datenverzeichnis gespeichert werden soll.

  • Erforderlich: Nein

options["out"]

Typ: `str`

Der Dateiname der JSON-Ausgabedatei, in der die Vorhersagen im gemeinsamen Datenverzeichnis gespeichert werden sollen. Sofern nicht anders angegeben, werden die Vorhersagen im Job-Ergebnis zurückgegeben.

  • Erforderlich: Nein
  • Verwendung:
job = singularity.run(
    action="create_fit_predict",
    name="classifier_name",  # specify your custom name for the classifier here
    num_learners=10,
    regularization=0.01,
    optimizer_options={"simulator": True},
    X_train=X_train,  # or "X_train.npy" if you uploaded it in the shared data directory
    y_train=y_train,  # or "y_train.npy" if you uploaded it in the shared data directory
    X_test=X_test,  # or "X_test.npy" if you uploaded it in the shared data directory
    fit_params={},  # define the fit parameters here
    options={
        "save": True,
        "out": "output.json",
    },
)
  • Validierungen:

    • name:

      • Wenn auf Truegesetzt options["save"] ist:
        • Der Name muss eindeutig sein und darf maximal 64 Zeichen lang sein.
        • Er darf nur alphanumerische Zeichen und Unterstriche enthalten.
        • Er muss mit einem Buchstaben beginnen und darf nicht mit einem Unterstrich enden.
        • Im gemeinsamen Datenverzeichnis darf noch kein Klassifikator mit demselben Namen vorhanden sein.
    • options["out"]:

      • Der Dateiname muss eindeutig sein und darf maximal 64 Zeichen lang sein.
      • Er darf nur alphanumerische Zeichen und Unterstriche enthalten.
      • Er muss mit einem Buchstaben beginnen und darf nicht mit einem Unterstrich enden.
      • Es muss die .json Endung haben.
War diese Seite hilfreich?
Melden Sie auf GitHub einen Fehler, einen Tippfehler oder fordern Sie Inhalte an.