Skip to main content
IBM Quantum Platform

멀티버스 싱귤래리티 Machine Learning API 참조

  • Qiskit Functions

    Qiskit Functions — 파트너 기관들이 개발한 사전 구축형 도구 — 소프트웨어 개발 워크플로의 일부를 추상화하여, 대규모 알고리즘 탐색 및 애플리케이션 개발을 간소화하고 가속화합니다. 이 Qiskit 함수에 대한 가이드를 보려면 클릭하세요.


행동 중심 접근법

이 함수는 액션 기반 접근 방식을 사용합니다. 이것을 액션을 통해 작업을 수행하거나 상태를 변경하는 가상 환경이라고 생각하면 됩니다. 현재 다음과 같은 기능을 제공합니다: list, create, delete, fit, predict, fit_predict, 및 create_fit_predict. 다음 예제는 해당 create_fit_predict 동작을 보여줍니다.

list

list 작업은 공유 데이터 디렉터리에서 지정된 *.pkl.tar 형식으로 저장된 모든 분류기를 불러옵니다. 또한 catalog.files() 메서드를 사용하여 이 디렉터리의 내용에 접근할 수 있습니다. 일반적으로 list 명령어는 공유 데이터 디렉터리에서 지정된 *.pkl.tar 확장자를 가진 파일을 검색하여 목록 형식으로 반환합니다.

  • 고려사항:

action

유형: `str`

, list fit, predict, fit_predict,, create_fit_predict create및 중에서 해당 delete 작업의 이름. 필수: Yes

  • 사용법:
job = singularity.run(action="list")

create

create 작업은 제공된 매개변수를 사용하여 지정된 quantum_classifier 유형의 분류기를 생성하고, 이를 공유 데이터 디렉터리에 저장합니다.

Note

이 기능은 현재. QuantumEnhancedEnsembleClassifier만 지원합니다.

  • 고려사항:

action

유형: `str`

, list fit, predict, fit_predict,, create_fit_predict create및 중에서 해당 delete 작업의 이름.

  • 필수: Yes

name

유형: `str`

예를 들어, 양자 분류기의 spam_classifier 이름은.

  • 필수: Yes

instance

유형: `str`

IBM 예를 들어.

  • 필수: Yes

backend_name

유형: `str`

기본값: `None`

IBM 컴퓨팅 리소스. 기본값은 입니다 None. 즉, 대기 중인 작업이 가장 적은 백엔드가 사용됩니다.

  • 필수: 아니오

quantum_classifier

유형: `str`

예를 들어, 양자 분류기의 유형은 다음과 QuantumEnhancedEnsembleClassifier 같습니다.

  • 필수: 아니오

num_learners

유형: `int`

기본값: 10

앙상블에 속한 학습자의 수.

  • 필수: 아니오

learners_types

유형: `list`

기본값: `[DecisionTreeClassifier]`

학습자의 유형. 지원되는 유형에는, DecisionTreeClassifier GaussianNB, KNeighborsClassifier, MLPClassifier, 및 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 또는 alpha. onsite 이 매개변수는 온사이트(onsite) 용어를 제어하며, 값이 클수록 앙상블의 밀도가 낮아집니다. alpha 상호작용과 온사이트 항 간의 균형을 조절하며, 값이 낮을수록 앙상블의 밀도가 낮아집니다. 목록이 제공되면 각 유형에 대해 모델을 훈련하고, 그중에서 가장 성능이 우수한 모델을 선택합니다.

  • 필수: 아니오

regularization

유형: `str` or `float` or `list`

기본값: `0.01`

정규화 값. 정규화 유형이 일 경우 onsite, +inf0 사이에 제한된다. 정규화 유형이 일 경우 alpha, 10 사이에 제한된다. 값을 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이어야 합니다.

  • 필수: Yes

name

유형: `str`

삭제할 분류기의 이름.

  • 필수: Yes
  • 사용법:
job = singularity.run(
    action="delete",
    name="classifier_name",  # specify the name of the classifier to delete here
)
  • 검증:

    • name:
      • 이름은 고유해야 하며, 최대 64자까지의 문자열이어야 합니다.
      • 영문자와 숫자, 그리고 밑줄만 포함할 수 있습니다.
      • 이름은 반드시 알파벳으로 시작해야 하며, 밑줄(_)로 끝날 수 없습니다.
      • 동일한 이름의 분류기가 공유 데이터 디렉터리에 이미 존재해야 합니다.

fit

fit 메서드는 제공된 훈련 데이터를 사용하여 분류기를 학습시킵니다.

  • 고려사항:

action

유형: `str`

액션의 이름입니다. fit이어야 합니다.

  • 필수: Yes

name

유형: `str`

훈련할 분류기의 이름.

  • 필수: Yes

X

유형: `array` or `list` or `str`

훈련 데이터. 이는 NumPy 배열, 리스트 또는 공유 데이터 디렉터리에 있는 파일 이름을 참조하는 문자열일 수 있습니다.

  • 필수: Yes

y

유형: `array` or `list` or `str`

훈련 목표값. 이는 NumPy 배열, 리스트 또는 공유 데이터 디렉터리에 있는 파일 이름을 참조하는 문자열일 수 있습니다.

  • 필수: Yes

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이어야 합니다.

  • 필수: Yes

name

유형: `str`

사용할 분류기의 이름.

  • 필수: Yes

X

유형: `array` or `list` or `str`

테스트 데이터. 이는 NumPy 배열, 리스트 또는 공유 데이터 디렉터리에 있는 파일 이름을 참조하는 문자열일 수 있습니다.

  • 필수: Yes

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이어야 합니다.

  • 필수: Yes

name

유형: `str`

사용할 분류기의 이름.

  • 필수: Yes

X_train

유형: `array` or `list` or `str`

훈련 데이터. 이는 NumPy 배열, 리스트 또는 공유 데이터 디렉터리에 있는 파일 이름을 참조하는 문자열일 수 있습니다.

  • 필수: Yes

y_train

유형: `array` or `list` or `str`

훈련 목표값. 이는 NumPy 배열, 리스트 또는 공유 데이터 디렉터리에 있는 파일 이름을 참조하는 문자열일 수 있습니다.

  • 필수: Yes

X_test

유형: `array` or `list` or `str`

테스트 데이터. 이는 NumPy 배열, 리스트 또는 공유 데이터 디렉터리에 있는 파일 이름을 참조하는 문자열일 수 있습니다.

  • 필수: Yes

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`

, list fit, predict, fit_predict,, create_fit_predict create및 중에서 해당 delete 작업의 이름.

  • 필수: Yes

name

유형: `str`

사용할 분류기의 이름.

  • 필수: Yes

quantum_classifier

유형: `str`

기본값: `QuantumEnhancedEnsembleClassifier`

예를 들어, 분류기의 유형은 다음과 QuantumEnhancedEnsembleClassifier 같습니다.

  • 필수: 아니오

X_train

유형: `array` or `list` or `str`

훈련 데이터. 이는 NumPy 배열, 리스트 또는 공유 데이터 디렉터리에 있는 파일 이름을 참조하는 문자열일 수 있습니다.

  • 필수: Yes

y_train

유형: `array` or `list` or `str`

훈련 목표값. 이는 NumPy 배열, 리스트 또는 공유 데이터 디렉터리에 있는 파일 이름을 참조하는 문자열일 수 있습니다.

  • 필수: Yes

X_test

유형: `array` or `list` or `str`

테스트 데이터. 이는 NumPy 배열, 리스트 또는 공유 데이터 디렉터리에 있는 파일 이름을 참조하는 문자열일 수 있습니다.

  • 필수: Yes

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에서 버그, 오타를 보고하거나 컨텐츠를 요청하십시오.