Skip to main content
IBM Quantum Platform

Multiverse Singularity Machine Learning APIリファレンス

  • Qiskit Functions

    Qiskit Functions — パートナー組織によって開発された既成のツール — ソフトウェア開発ワークフローの一部を抽象化することで、ユーティリティ規模でのアルゴリズムの発見とアプリケーション開発を簡素化し、加速させます。 このQiskit関数のガイドを表示するには、ここをクリックしてください。


行動に基づくアプローチ

この関数はアクションベースのアプローチを採用しています。 これは、アクションを使ってタスクを実行したり、状態を変更したりする仮想環境だと考えてください。 現在、以下のアクションが利用可能です: listcreatedeletefitpredictfit_predict、および create_fit_predict。 次の例は、このアクションの create_fit_predict 動作を示しています。

list

この list アクションは、共有データディレクトリから、指定 *.pkl.tar された形式で保存されているすべての分類器を取得します。 また、このディレクトリの内容には、メソッド catalog.files() を使用してアクセスすることもできます。 一般的に、リスト操作は共有データディレクトリ内で指定 *.pkl.tar された拡張子を持つファイルを検索し、それらをリスト形式で返します。

  • 入力:

action

タイプ: `str`

listfitpredictfit_predict、、 create_fit_predict および の中から create``delete、アクションの名前。 必須:はい

  • 使用方法:
job = singularity.run(action="list")

create

この create アクションは、指定されたパラメータを使用して指定 quantum_classifier されたタイプの分類器を作成し、共有データディレクトリに保存します。

Note

この関数は現在、 QuantumEnhancedEnsembleClassifier. のみをサポートしています。

  • 入力:

action

タイプ: `str`

listfitpredictfit_predict、、 create_fit_predict および の中から create``delete、アクションの名前。

  • 必須:はい

name

タイプ: `str`

量子分類器の名前は、例えば、 spam_classifier

  • 必須:はい

instance

タイプ: `str`

IBM 例。

  • 必須:はい

backend_name

タイプ: `str`

デフォルト値: `None`

IBM コンピューティングリソース。 デフォルトは です None。これは、保留中のジョブが最も少ないバックエンドが使用されることを意味します。

  • 必須:いいえ

quantum_classifier

タイプ: `str`

量子分類器の型は、例えば、 QuantumEnhancedEnsembleClassifier

  • 必須:いいえ

num_learners

タイプ: `int`

デフォルト値: 10

アンサンブルの学習者数。

  • 必須:いいえ

learners_types

タイプ: `list`

デフォルト値: `[DecisionTreeClassifier]`

学習者のタイプ。 サポートされているタイプには、 GaussianNB``DecisionTreeClassifierKNeighborsClassifierMLPClassifier、、およびがあります LogisticRegression。 それぞれの詳細については、scikit-learn のドキュメントを参照してください。

  • 必須:いいえ

learners_proportions

タイプ: `list`

デフォルト値: `[1.0]`

アンサンブルにおける各学習者タイプの割合。

  • 必須:いいえ

learners_options

タイプ: `list`

デフォルト値: `[{`max_depth`: 3, `splitter`: `random`, `class_weight`: None}]`

アンサンブル内の各学習者タイプに対するオプション。 選択した学習アルゴリズムに対応するオプションの完全な一覧については、 scikit-learnのドキュメントを参照してください。

  • 必須:いいえ

regularization_type

タイプ: `str` or `list`

デフォルト値: `onsite`

使用する正則化の種類: onsite または alphaonsite このパラメータはオンサイト項を制御し、値が大きいほどアンサンブルの疎さが増します。 alpha インタラクション項とオンサイト項のバランスを制御し、値を小さくするとアンサンブルがより疎になる。 リストが指定された場合、各タイプごとにモデルを学習させ、最も性能の良いモデルが選択されます。

  • 必須:いいえ

regularization

タイプ: `str` or `float` or `list`

デフォルト値: `0.01`

正則化係数。 正規化のタイプが の場合、範囲 +inf は と onsite0 間に限定される。 正規化のタイプが の場合、範囲 1 は と alpha0 間に限定される。 に設定すると auto、自動正則化が使用されます。この場合、選択された分類器の総分類器数に対する比率(regularization_desired_ratio)と、正則化パラメータの上限(regularization_upper_bound)を指定することで、二分探索により最適な正則化パラメータが求められます。リストが指定された場合、各値に対してモデルが学習され、最も性能の良いものが選択されます。

  • 必須:いいえ

regularization_desired_ratio

タイプ: `float` or `list`

デフォルト値: `0.75`

自動正則化のために、選択された分類器と全分類器の比率(複数可)。 リストが指定された場合、各比率についてモデルを学習させ、最も性能の良いものが選択されます。

  • 必須:いいえ

regularization_upper_bound

タイプ: `float` or `list`

デフォルト値: 200

自動正則化を使用する場合の正則化パラメータの上限。 リストが指定された場合、各上限値に対してモデルを学習させ、最も性能の良いモデルが選択されます。

  • 必須:いいえ

weight_update_method

タイプ: `str`

デフォルト値: `logarithmic`

および logarithmic からの quadraticサンプル重みの更新方法。

  • 必須:いいえ

sample_scaling

タイプ: `boolean`

デフォルト値: False`

サンプルのスケーリングを適用すべきかどうか。

  • 必須:いいえ

prediction_scaling

タイプ: `float`

デフォルト値: `None`

予測のスケーリング係数。

  • 必須:いいえ

optimizer_options

タイプ: `dict`

QAOAのオプティマイザ設定。

名前
タイプ
説明
必須
デフォルト
num_solutionsinteger解の数いいえ1024
repsinteger反復回数いいえ4
sparsifyfloat疎化閾値いいえ0.001
thetafloatQAOAの変分パラメータであるθの初期値いいえNone
simulatorbooleanシミュレータとQPUのどちらを使うかいいえFalse
classical_optimizerstrQAOA用の古典的オプティマイザの名称。 ここに記載されている SciPy, が提供するすべてのソルバーは、ご利用いただけます。 それに応じて classical_optimizer_options 設定する必要がありますいいえCOBYLA
classical_optimizer_optionsdictionary標準的なオプティマイザのオプション。 利用可能なオプションの完全な一覧については、 『 SciPy 』のドキュメントを参照してくださいいいえ{"maxiter": 60}
optimization_levelintegerQAOA回路の深さいいえ3
num_transpiler_runsintegerトランスパイラーの実行回数いいえ30
pass_manager_optionsdictionaryプリセット・パスマネージャーを生成するためのオプションいいえ{"approximation_degree": 1.0}
estimator_optionsdictionary見積もりオプション。 利用可能なオプションの完全な一覧については、 『 Qiskit Runtime 』のクライアント向けドキュメントをご参照くださいいいえNone
sampler_optionsdictionaryサンプラーのオプション。 利用可能なオプションの完全な一覧については、 『 Qiskit Runtime 』クライアントのドキュメントを参照してくださいいいえNone
  • デフォルトは estimator_options 以下の通りです:
名前
タイプ
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"],}}
  • デフォルトは sampler_options 以下の通りです:
名前
タイプ
default_shotsinteger1024
resilience_levelinteger1
twirlingdictionary{"enable_gates": True}
dynamical_decouplingdictionary{"enable": True}
  • 必須:いいえ

voting

タイプ: `str`

デフォルト値: `hard`

学習者の予測値や確率を統合するには、多数決法(hard)または確率の平均(soft)を使用します。

  • 必須:いいえ

prob_threshold

タイプ: `float`

デフォルト値: `0.5`

最適な確率閾値。

  • 必須:いいえ

random_state

タイプ: `int`

デフォルト値: `None`

再現性を確保するために、ランダム性を制御する。

  • 必須:いいえ
  • 使用方法:
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},
)
  • 検証を作成するには、次の手順を実行します。

    • name:
      • 名前は一意である必要があり、最大64文字の文字列でなければなりません。
      • 英数字とアンダースコアのみを含めることができます。
      • 最初の文字はアルファベットでなければならず、末尾にアンダースコアを付けることはできません。
      • 共有データディレクトリには、同じ名前の分類器がすでに存在してはなりません。

delete

この delete 操作により、共有データディレクトリから分類子が削除されます。

  • 入力:

action

タイプ: `str`

アクションの名前。 deleteでなければなりません。

  • 必須:はい

name

タイプ: `str`

削除する分類子の名前。

  • 必須:はい
  • 使用方法:
job = singularity.run(
    action="delete",
    name="classifier_name",  # specify the name of the classifier to delete here
)
  • 検証を作成するには、次の手順を実行します。

    • name:
      • 名前は一意である必要があり、最大64文字の文字列でなければなりません。
      • 英数字とアンダースコアのみを含めることができます。
      • 最初の文字はアルファベットでなければならず、末尾にアンダースコアを付けることはできません。
      • 同じ名前の分類器は、共有データディレクトリにすでに存在しているはずです。

fit

この fit アクションは、指定されたトレーニングデータを使用して分類器を学習させます。

  • 入力:

action

タイプ: `str`

アクションの名前。 fitでなければなりません。

  • 必須:はい

name

タイプ: `str`

学習させる分類器の名前。

  • 必須:はい

X

タイプ: `array` or `list` or `str`

学習データ。 これは、 NumPy 配列、リスト、または共有データディレクトリ内のファイル名を参照する文字列です。

  • 必須:はい

y

タイプ: `array` or `list` or `str`

トレーニングの目標値。 これは、 NumPy 配列、リスト、または共有データディレクトリ内のファイル名を参照する文字列です。

  • 必須:はい

fit_params

タイプ: `dict`

分類器の fit メソッドに渡す追加のパラメータ。 以下の辞書を参照してください。

  • 必須:いいえ
名前
タイプ
説明
必須
デフォルト
validation_datatuple検証データとラベル。いいえNone
pos_labelintegerまたはstr1にマッピングされるクラスラベル。いいえNone
optimization_datastrアンサンブルを最適化するためのデータセット。 次のいずれかになります: train, validation, both.いいえtrain
  • 使用方法:
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
)
  • 検証を作成するには、次の手順を実行します。

    • name:
      • 名前は一意である必要があり、最大64文字の文字列でなければなりません。
      • 英数字とアンダースコアのみを含めることができます。
      • 最初の文字はアルファベットでなければならず、末尾にアンダースコアを付けることはできません。
      • 同じ名前の分類器は、共有データディレクトリにすでに存在しているはずです。

predict

この predict アクションは、ハード予測とソフト予測(確率)を取得するために使用されます。

  • 入力:

action

タイプ: `str`

アクションの名前。 predictでなければなりません。

  • 必須:はい

name

タイプ: `str`

使用する分類器の名前。

  • 必須:はい

X

タイプ: `array` or `list` or `str`

テストデータ。 これは、 NumPy 配列、リスト、または共有データディレクトリ内のファイル名を参照する文字列です。

  • 必須:はい

options["out"]

タイプ: `str`

共有データディレクトリに予測結果を保存する出力JSONファイル名。 指定がない場合、予測結果はジョブの結果として返されます。

  • 必須:いいえ
  • 使用方法:
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",
    },
)
  • 検証を作成するには、次の手順を実行します。

    • name:
      • 名前は一意である必要があり、最大64文字の文字列でなければなりません。
      • 英数字とアンダースコアのみを含めることができます。
      • 最初の文字はアルファベットでなければならず、末尾にアンダースコアを付けることはできません。
      • 同じ名前の分類器は、共有データディレクトリにすでに存在しているはずです。
    • options["out"]:
      • ファイル名は一意である必要があり、最大64文字の文字列でなければなりません。
      • 英数字とアンダースコアのみを含めることができます。
      • 最初の文字はアルファベットでなければならず、末尾にアンダースコアを付けることはできません。
      • 拡張子 .json が付いている必要があります。

fit_predict

この fit_predict アクションは、トレーニングデータを使用して分類器を学習させ、それを用いてハード予測とソフト予測(確率)を取得します。

  • 入力:

action

タイプ: `str`

アクションの名前。 fit_predictでなければなりません。

  • 必須:はい

name

タイプ: `str`

使用する分類器の名前。

  • 必須:はい

X_train

タイプ: `array` or `list` or `str`

学習データ。 これは、 NumPy 配列、リスト、または共有データディレクトリ内のファイル名を参照する文字列です。

  • 必須:はい

y_train

タイプ: `array` or `list` or `str`

トレーニングの目標値。 これは、 NumPy 配列、リスト、または共有データディレクトリ内のファイル名を参照する文字列です。

  • 必須:はい

X_test

タイプ: `array` or `list` or `str`

テストデータ。 これは、 NumPy 配列、リスト、または共有データディレクトリ内のファイル名を参照する文字列です。

  • 必須:はい

fit_params

タイプ: `dict`

分類器の fit メソッドに渡す追加のパラメータ。

  • 必須:いいえ

options["out"]

タイプ: `str`

共有データディレクトリに予測結果を保存する出力JSONファイル名。 指定がない場合、予測結果はジョブの結果として返されます。

  • 必須:いいえ
  • 使用方法:
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",
    },
)
  • 検証を作成するには、次の手順を実行します。

    • name:

      • 名前は一意である必要があり、最大64文字の文字列でなければなりません。
      • 英数字とアンダースコアのみを含めることができます。
      • 最初の文字はアルファベットでなければならず、末尾にアンダースコアを付けることはできません。
      • 同じ名前の分類器は、共有データディレクトリにすでに存在しているはずです。
    • options["out"]:

      • ファイル名は一意である必要があり、最大64文字の文字列でなければなりません。
      • 英数字とアンダースコアのみを含めることができます。
      • 最初の文字はアルファベットでなければならず、末尾にアンダースコアを付けることはできません。
      • 拡張子 .json が付いている必要があります。

create_fit_predict

この create_fit_predict アクションは、分類器を作成し、指定された学習データを用いて学習を行い、その後、その分類器を使用してハード予測とソフト予測(確率)を取得します。

ガイド内のアクション create_fit_predict の例をご覧ください。

  • 入力:

action

タイプ: `str`

listfitpredictfit_predict、、 create_fit_predict および の中から create``delete、アクションの名前。

  • 必須:はい

name

タイプ: `str`

使用する分類器の名前。

  • 必須:はい

quantum_classifier

タイプ: `str`

デフォルト値: `QuantumEnhancedEnsembleClassifier`

分類器のタイプ、例えば、 QuantumEnhancedEnsembleClassifier

  • 必須:いいえ

X_train

タイプ: `array` or `list` or `str`

学習データ。 これは、 NumPy 配列、リスト、または共有データディレクトリ内のファイル名を参照する文字列です。

  • 必須:はい

y_train

タイプ: `array` or `list` or `str`

トレーニングの目標値。 これは、 NumPy 配列、リスト、または共有データディレクトリ内のファイル名を参照する文字列です。

  • 必須:はい

X_test

タイプ: `array` or `list` or `str`

テストデータ。 これは、 NumPy 配列、リスト、または共有データディレクトリ内のファイル名を参照する文字列です。

  • 必須:はい

fit_params

タイプ: `dict`

分類器の fit メソッドに渡す追加のパラメータ。

  • 必須:いいえ

options["save"]

タイプ: `bool`

デフォルト値: `True`

共有データディレクトリに、学習済みの分類器を保存するかどうか。

  • 必須:いいえ

options["out"]

タイプ: `str`

共有データディレクトリに予測結果を保存する出力JSONファイル名。 指定がない場合、予測結果はジョブの結果として返されます。

  • 必須:いいえ
  • 使用方法:
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",
    },
)
  • 検証を作成するには、次の手順を実行します。

    • name:

      • が に設定されている options["save"]``True 場合:
        • 名前は一意である必要があり、最大64文字の文字列でなければなりません。
        • 英数字とアンダースコアのみを含めることができます。
        • 最初の文字はアルファベットでなければならず、末尾にアンダースコアを付けることはできません。
        • 共有データディレクトリには、同じ名前の分類器がすでに存在してはなりません。
    • options["out"]:

      • ファイル名は一意である必要があり、最大64文字の文字列でなければなりません。
      • 英数字とアンダースコアのみを含めることができます。
      • 最初の文字はアルファベットでなければならず、末尾にアンダースコアを付けることはできません。
      • 拡張子 .json が付いている必要があります。
このページは役に立ちましたか?
バグや誤字の報告、またはコンテンツの要求はGitHubで行ってください。