Skip to main content
IBM Quantum Platform

Riferimento API di Multiverse Singularity Machine Learning

  • Qiskit Functions

    Qiskit Functions — strumenti preconfigurati realizzati da organizzazioni partner — astraggono alcune parti del flusso di lavoro dello sviluppo software per semplificare e accelerare la scoperta di algoritmi su larga scala e lo sviluppo di applicazioni. Clicca qui per visualizzare la guida relativa a questa funzione di Qiskit.


Approccio basato sull'azione

La funzione utilizza un approccio basato sulle azioni. Puoi immaginarlo come un ambiente virtuale in cui si utilizzano delle azioni per svolgere compiti o modificarne lo stato. Attualmente offre le seguenti azioni: list, create, delete, fit, predict, fit_predict, e create_fit_predict. L'esempio seguente illustra l'azione create_fit_predict .

list

L'azione list recupera tutti i classificatori memorizzati in *.pkl.tar formato dalla directory dei dati condivisi. È inoltre possibile accedere al contenuto di questa directory utilizzando il catalog.files() metodo. In generale, l'azione "Elenco" cerca i file con *.pkl.tar l'estensione specificata nella directory dei dati condivisi e li restituisce in formato elenco.

  • inputs:

action

Tipo: `str`

Il nome dell'azione tra create, list, fit, predict fit_predict,, create_fit_predict e delete. Obbligatorio: sì

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

create

L'azione create crea un classificatore del tipo quantum_classifier specificato utilizzando i parametri forniti e lo salva nella directory dei dati condivisi.

Note

Attualmente la funzione supporta solo il QuantumEnhancedEnsembleClassifier.

  • inputs:

action

Tipo: `str`

Il nome dell'azione tra create, list, fit, predict fit_predict,, create_fit_predict e delete.

  • Obbligatorio: sì

name

Tipo: `str`

Il nome del classificatore quantistico, ad esempio, spam_classifier.

  • Obbligatorio: sì

instance

Tipo: `str`

IBM ad esempio.

  • Obbligatorio: sì

backend_name

Tipo: `str`

Valore predefinito: `None`

IBM risorsa di calcolo. L'impostazione predefinita è None, il che significa che verrà utilizzato il backend con il minor numero di lavori in sospeso.

  • Obbligatorio: No

quantum_classifier

Tipo: `str`

Il tipo del classificatore quantistico, ad esempio, QuantumEnhancedEnsembleClassifier.

  • Obbligatorio: No

num_learners

Tipo: `int`

Valore predefinito: 10

Il numero di studenti nell'ensemble.

  • Obbligatorio: No

learners_types

Tipo: `list`

Valore predefinito: `[DecisionTreeClassifier]`

Tipi di studenti. Tra i tipi supportati figurano: DecisionTreeClassifier, GaussianNB, KNeighborsClassifier MLPClassifier,, e LogisticRegression. Maggiori dettagli su ciascuna di esse sono disponibili nella documentazione di scikit-learn.

  • Obbligatorio: No

learners_proportions

Tipo: `list`

Valore predefinito: `[1.0]`

Percentuale di ciascun tipo di studente nel gruppo.

  • Obbligatorio: No

learners_options

Tipo: `list`

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

Opzioni per ogni tipo di studente all'interno del gruppo. Per un elenco completo delle opzioni relative al tipo o ai tipi di modello selezionati, consultare la documentazione di scikit-learn.

  • Obbligatorio: No

regularization_type

Tipo: `str` or `list`

Valore predefinito: `onsite`

Tipi di regolarizzazione da utilizzare: onsite o alpha. onsite regola il parametro "onsite", dove valori più elevati determinano insiemi più sparsi. alpha regola il compromesso tra i parametri di interazione e quelli relativi al sito, dove valori più bassi determinano insiemi più sparsi. Se viene fornito un elenco, i modelli verranno addestrati per ciascun tipo e verrà selezionato quello con le migliori prestazioni.

  • Obbligatorio: No

regularization

Tipo: `str` or `float` or `list`

Valore predefinito: `0.01`

Valore di regolarizzazione. Limitato tra 0 e +inf se regularization_type è onsite. Limitato tra 0 e 1 se regularization_type è alpha. Se impostato su auto, viene utilizzata la regolarizzazione automatica: il parametro di regolarizzazione ottimale viene individuato tramite ricerca binaria, tenendo conto del rapporto desiderato tra i classificatori selezionati e il numero totale di classificatori (regularization_desired_ratio) e del limite superiore per il parametro di regolarizzazione (regularization_upper_bound). Se viene fornito un elenco, i modelli verranno addestrati per ciascun valore e verrà selezionato quello con le migliori prestazioni.

  • Obbligatorio: No

regularization_desired_ratio

Tipo: `float` or `list`

Valore predefinito: `0.75`

Rapporto/i desiderato/i tra i classificatori selezionati e il numero totale di classificatori ai fini dell'autoregolamentazione. Se viene fornito un elenco, i modelli verranno addestrati per ciascun rapporto e verrà selezionato quello con le migliori prestazioni.

  • Obbligatorio: No

regularization_upper_bound

Tipo: `float` or `list`

Valore predefinito: 200

Limite superiore (o limiti superiori) per il parametro di regolarizzazione quando si utilizza l'autoregolarizzazione. Se viene fornito un elenco, i modelli verranno addestrati per ciascun limite superiore e verrà selezionato quello con le migliori prestazioni.

  • Obbligatorio: No

weight_update_method

Tipo: `str`

Valore predefinito: `logarithmic`

Metodo per l'aggiornamento dei pesi dei campioni tra logarithmic e quadratic.

  • Obbligatorio: No

sample_scaling

Tipo: `boolean`

Valore predefinito: False`

Se sia opportuno applicare il ridimensionamento del campione.

  • Obbligatorio: No

prediction_scaling

Tipo: `float`

Valore predefinito: `None`

Fattore di scala per le previsioni.

  • Obbligatorio: No

optimizer_options

Tipo: `dict`

Opzioni dell'ottimizzatore QAOA.

Nome
Tipo
Descrizione
Obbligatorio
Predefinito
num_solutionsintegerIl numero di soluzioniNo1024
repsintegerIl numero di ripetizioniNo4
sparsifyfloatLa soglia di sparsificazioneNo0.001
thetafloatIl valore iniziale di theta, un parametro variazionale del QAOANoNone
simulatorbooleanSe utilizzare un simulatore o una QPUNoFalse
classical_optimizerstrNome dell'ottimizzatore classico per il QAOA. Tutti i risolutori offerti da SciPy,, come elencati qui, sono utilizzabili. Dovrai impostare classical_optimizer_options di conseguenzaNoCOBYLA
classical_optimizer_optionsdictionaryOpzioni classiche dell'ottimizzatore. Per un elenco completo delle opzioni disponibili, consultare la documentazione su SciPyNo{"maxiter": 60}
optimization_levelintegerLa profondità del circuito QAOANo3
num_transpiler_runsintegerNumero di esecuzioni del transpilerNo30
pass_manager_optionsdictionaryOpzioni per la creazione di un gestore di pass predefinitiNo{"approximation_degree": 1.0}
estimator_optionsdictionaryOpzioni di calcolo. Per un elenco completo delle opzioni disponibili, consultare la documentazione per i clienti all'indirizzo Qiskit RuntimeNoNone
sampler_optionsdictionaryOpzioni del campionatore. Per un elenco completo delle opzioni disponibili, consultare la documentazione del client Qiskit RuntimeNoNone
  • I valori predefiniti estimator_options sono:
Nome
Tipo
Valore
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"],}}
  • I valori predefiniti sampler_options sono:
Nome
Tipo
Valore
default_shotsinteger1024
resilience_levelinteger1
twirlingdictionary{"enable_gates": True}
dynamical_decouplingdictionary{"enable": True}
  • Obbligatorio: No

voting

Tipo: `str`

Valore predefinito: `hard`

Utilizza il voto a maggioranza (hard) o la media delle probabilità (soft) per aggregare le previsioni/probabilità degli algoritmi di apprendimento.

  • Obbligatorio: No

prob_threshold

Tipo: `float`

Valore predefinito: `0.5`

Soglia di probabilità ottimale.

  • Obbligatorio: No

random_state

Tipo: `int`

Valore predefinito: `None`

Controllare la casualità per garantire la ripetibilità.

  • Obbligatorio: No
  • Uso:
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},
)
  • Convalide:

    • name:
      • Il nome deve essere univoco e costituito da una stringa di massimo 64 caratteri.
      • Può contenere solo caratteri alfanumerici e trattini bassi.
      • Deve iniziare con una lettera e non può terminare con un trattino basso.
      • Nella directory dei dati condivisi non deve già esistere alcun classificatore con lo stesso nome.

delete

L'operazione delete rimuove un classificatore dalla directory dei dati condivisi.

  • inputs:

action

Tipo: `str`

Il nome dell'azione. Deve essere così delete.

  • Obbligatorio: sì

name

Tipo: `str`

Il nome del classificatore da eliminare.

  • Obbligatorio: sì
  • Uso:
job = singularity.run(
    action="delete",
    name="classifier_name",  # specify the name of the classifier to delete here
)
  • Convalide:

    • name:
      • Il nome deve essere univoco e costituito da una stringa di massimo 64 caratteri.
      • Può contenere solo caratteri alfanumerici e trattini bassi.
      • Deve iniziare con una lettera e non può terminare con un trattino basso.
      • Nella directory dei dati condivisi dovrebbe già esistere un classificatore con lo stesso nome.

fit

L'azione fit addestra un classificatore utilizzando i dati di addestramento forniti.

  • inputs:

action

Tipo: `str`

Il nome dell'azione. Deve essere così fit.

  • Obbligatorio: sì

name

Tipo: `str`

Il nome del classificatore da addestrare.

  • Obbligatorio: sì

X

Tipo: `array` or `list` or `str`

I dati di addestramento. Può trattarsi di un array di tipo NumPy, di una lista o di una stringa che fa riferimento a un nome di file nella directory dei dati condivisi.

  • Obbligatorio: sì

y

Tipo: `array` or `list` or `str`

I valori target di addestramento. Può trattarsi di un array di tipo NumPy, di una lista o di una stringa che fa riferimento a un nome di file nella directory dei dati condivisi.

  • Obbligatorio: sì

fit_params

Tipo: `dict`

Parametri aggiuntivi da passare al fit metodo del classificatore. Vedi il dizionario qui sotto.

  • Obbligatorio: No
Nome
Tipo
Descrizione
Obbligatorio
Predefinito
validation_datatupleI dati di convalida e le etichette.NoNone
pos_labelinteger oppure strL'etichetta della classe da associare al numero 1.NoNone
optimization_datastrSet di dati su cui ottimizzare l'ensemble. Può essere uno dei seguenti: train, validation, both.Notrain
  • Uso:
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
)
  • Convalide:

    • name:
      • Il nome deve essere univoco e costituito da una stringa di massimo 64 caratteri.
      • Può contenere solo caratteri alfanumerici e trattini bassi.
      • Deve iniziare con una lettera e non può terminare con un trattino basso.
      • Nella directory dei dati condivisi dovrebbe già esistere un classificatore con lo stesso nome.

predict

Questa predict operazione serve a ottenere previsioni quantitative e qualitative (probabilità).

  • inputs:

action

Tipo: `str`

Il nome dell'azione. Deve essere così predict.

  • Obbligatorio: sì

name

Tipo: `str`

Il nome del classificatore da utilizzare.

  • Obbligatorio: sì

X

Tipo: `array` or `list` or `str`

I dati di prova. Può trattarsi di un array di tipo NumPy, di una lista o di una stringa che fa riferimento a un nome di file nella directory dei dati condivisi.

  • Obbligatorio: sì

options["out"]

Tipo: `str`

Il nome del file JSON di output in cui salvare le previsioni nella directory dei dati condivisi. Se non specificato, le previsioni vengono riportate nel risultato del processo.

  • Obbligatorio: No
  • Uso:
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",
    },
)
  • Convalide:

    • name:
      • Il nome deve essere univoco e costituito da una stringa di massimo 64 caratteri.
      • Può contenere solo caratteri alfanumerici e trattini bassi.
      • Deve iniziare con una lettera e non può terminare con un trattino basso.
      • Nella directory dei dati condivisi dovrebbe già esistere un classificatore con lo stesso nome.
    • options["out"]:
      • Il nome del file deve essere univoco e consistere in una stringa di massimo 64 caratteri.
      • Può contenere solo caratteri alfanumerici e trattini bassi.
      • Deve iniziare con una lettera e non può terminare con un trattino basso.
      • Deve avere .json l'estensione.

fit_predict

L'azione fit_predict addestra un classificatore utilizzando i dati di addestramento e poi lo utilizza per ottenere previsioni definitive e approssimative (probabilità).

  • inputs:

action

Tipo: `str`

Il nome dell'azione. Deve essere così fit_predict.

  • Obbligatorio: sì

name

Tipo: `str`

Il nome del classificatore da utilizzare.

  • Obbligatorio: sì

X_train

Tipo: `array` or `list` or `str`

I dati di addestramento. Può trattarsi di un array di tipo NumPy, di una lista o di una stringa che fa riferimento a un nome di file nella directory dei dati condivisi.

  • Obbligatorio: sì

y_train

Tipo: `array` or `list` or `str`

I valori target di addestramento. Può trattarsi di un array di tipo NumPy, di una lista o di una stringa che fa riferimento a un nome di file nella directory dei dati condivisi.

  • Obbligatorio: sì

X_test

Tipo: `array` or `list` or `str`

I dati di prova. Può trattarsi di un array di tipo NumPy, di una lista o di una stringa che fa riferimento a un nome di file nella directory dei dati condivisi.

  • Obbligatorio: sì

fit_params

Tipo: `dict`

Parametri aggiuntivi da passare al fit metodo del classificatore.

  • Obbligatorio: No

options["out"]

Tipo: `str`

Il nome del file JSON di output in cui salvare le previsioni nella directory dei dati condivisi. Se non specificato, le previsioni vengono riportate nel risultato del processo.

  • Obbligatorio: No
  • Uso:
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",
    },
)
  • Convalide:

    • name:

      • Il nome deve essere univoco e costituito da una stringa di massimo 64 caratteri.
      • Può contenere solo caratteri alfanumerici e trattini bassi.
      • Deve iniziare con una lettera e non può terminare con un trattino basso.
      • Nella directory dei dati condivisi dovrebbe già esistere un classificatore con lo stesso nome.
    • options["out"]:

      • Il nome del file deve essere univoco e consistere in una stringa di massimo 64 caratteri.
      • Può contenere solo caratteri alfanumerici e trattini bassi.
      • Deve iniziare con una lettera e non può terminare con un trattino basso.
      • Deve avere .json l'estensione.

create_fit_predict

L'azione create_fit_predict crea un classificatore, lo addestra utilizzando i dati di addestramento forniti e poi lo utilizza per ottenere previsioni definitive e approssimative (probabilità).

Guarda un esempio create_fit_predict dell'azione nella guida.

  • inputs:

action

Tipo: `str`

Il nome dell'azione tra create, list, fit, predict fit_predict,, create_fit_predict e delete.

  • Obbligatorio: sì

name

Tipo: `str`

Il nome del classificatore da utilizzare.

  • Obbligatorio: sì

quantum_classifier

Tipo: `str`

Valore predefinito: `QuantumEnhancedEnsembleClassifier`

Il tipo del classificatore, ad esempio, QuantumEnhancedEnsembleClassifier.

  • Obbligatorio: No

X_train

Tipo: `array` or `list` or `str`

I dati di addestramento. Può trattarsi di un array di tipo NumPy, di una lista o di una stringa che fa riferimento a un nome di file nella directory dei dati condivisi.

  • Obbligatorio: sì

y_train

Tipo: `array` or `list` or `str`

I valori target di addestramento. Può trattarsi di un array di tipo NumPy, di una lista o di una stringa che fa riferimento a un nome di file nella directory dei dati condivisi.

  • Obbligatorio: sì

X_test

Tipo: `array` or `list` or `str`

I dati di prova. Può trattarsi di un array di tipo NumPy, di una lista o di una stringa che fa riferimento a un nome di file nella directory dei dati condivisi.

  • Obbligatorio: sì

fit_params

Tipo: `dict`

Parametri aggiuntivi da passare al fit metodo del classificatore.

  • Obbligatorio: No

options["save"]

Tipo: `bool`

Valore predefinito: `True`

Se salvare il classificatore addestrato nella directory dei dati condivisi.

  • Obbligatorio: No

options["out"]

Tipo: `str`

Il nome del file JSON di output in cui salvare le previsioni nella directory dei dati condivisi. Se non specificato, le previsioni vengono riportate nel risultato del processo.

  • Obbligatorio: No
  • Uso:
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",
    },
)
  • Convalide:

    • name:

      • Se options["save"] è impostato su True:
        • Il nome deve essere univoco e costituito da una stringa di massimo 64 caratteri.
        • Può contenere solo caratteri alfanumerici e trattini bassi.
        • Deve iniziare con una lettera e non può terminare con un trattino basso.
        • Nella directory dei dati condivisi non deve già esistere alcun classificatore con lo stesso nome.
    • options["out"]:

      • Il nome del file deve essere univoco e consistere in una stringa di massimo 64 caratteri.
      • Può contenere solo caratteri alfanumerici e trattini bassi.
      • Deve iniziare con una lettera e non può terminare con un trattino basso.
      • Deve avere .json l'estensione.
Questa pagina è stata utile?
Segnala un bug, un errore di battitura o richiedi contenuti su GitHub.