Riferimento API di Multiverse Singularity Machine Learning
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.
Guida alle funzioni di Qiskit in Singularity Machine Learning
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.
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_solutions | integer | Il numero di soluzioni | No | 1024 |
reps | integer | Il numero di ripetizioni | No | 4 |
sparsify | float | La soglia di sparsificazione | No | 0.001 |
theta | float | Il valore iniziale di theta, un parametro variazionale del QAOA | No | None |
simulator | boolean | Se utilizzare un simulatore o una QPU | No | False |
classical_optimizer | str | Nome dell'ottimizzatore classico per il QAOA. Tutti i risolutori offerti da SciPy,, come elencati qui, sono utilizzabili. Dovrai impostare classical_optimizer_options di conseguenza | No | COBYLA |
classical_optimizer_options | dictionary | Opzioni classiche dell'ottimizzatore. Per un elenco completo delle opzioni disponibili, consultare la documentazione su SciPy | No | {"maxiter": 60} |
optimization_level | integer | La profondità del circuito QAOA | No | 3 |
num_transpiler_runs | integer | Numero di esecuzioni del transpiler | No | 30 |
pass_manager_options | dictionary | Opzioni per la creazione di un gestore di pass predefiniti | No | {"approximation_degree": 1.0} |
estimator_options | dictionary | Opzioni di calcolo. Per un elenco completo delle opzioni disponibili, consultare la documentazione per i clienti all'indirizzo Qiskit Runtime | No | None |
sampler_options | dictionary | Opzioni del campionatore. Per un elenco completo delle opzioni disponibili, consultare la documentazione del client Qiskit Runtime | No | None |
- I valori predefiniti
estimator_optionssono:
Nome | Tipo | Valore |
|---|---|---|
default_shots | integer | 1024 |
resilience_level | integer | 2 |
twirling | dictionary | {"enable_gates": True} |
dynamical_decoupling | dictionary | {"enable": True} |
resilience_options | dictionary | {"zne_mitigation": False, "zne": {"amplifier": "pea", "noise_factors": [1.0, 1.3, 1.6], "extrapolator": ["linear", "polynomial_degree_2", "exponential"],}} |
- I valori predefiniti
sampler_optionssono:
Nome | Tipo | Valore |
|---|---|---|
default_shots | integer | 1024 |
resilience_level | integer | 1 |
twirling | dictionary | {"enable_gates": True} |
dynamical_decoupling | dictionary | {"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_data | tuple | I dati di convalida e le etichette. | No | None |
pos_label | integer oppure str | L'etichetta della classe da associare al numero 1. | No | None |
optimization_data | str | Set di dati su cui ottimizzare l'ensemble. Può essere uno dei seguenti: train, validation, both. | No | train |
- 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
.jsonl'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
.jsonl'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 suTrue:- 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.
- Se
-
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
.jsonl'estensione.
-