QSVC的fit函数是否需要float值作为参数?



以下是我的代码。错误似乎是在qsvc.fit()行,但我不明白为什么。其中一条错误行显示"TypeError: Invalid parameter values, expected Sequence[Sequence[float]]."我很确定我已经在fit函数中传递了数组作为参数,但它们需要是float类型吗?因为标签通常是字符串。对不起,这是我第一次尝试,所以这些可能看起来很幼稚。

import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
from sklearn.model_selection import train_test_split
from qiskit import Aer
from qiskit.circuit.library import ZFeatureMap
from qiskit_machine_learning.kernels import FidelityQuantumKernel
from qiskit.algorithms.state_fidelities import ComputeUncompute
from qiskit.primitives import Sampler
from qiskit.utils import QuantumInstance
from qiskit_machine_learning.algorithms import PegasosQSVC
data=pd.read_csv('train.csv')
X = data.loc[1:1000,["marital","balance","loan"]].values
Y = data.iloc[:1000,-1].values
x_train, x_test, y_train, y_test = train_test_split(X, Y)
data_feature_map = ZFeatureMap(feature_dimension=3, reps=1 )
sampler = Sampler()
fidelity = ComputeUncompute(sampler=sampler)
data_kernel = FidelityQuantumKernel(fidelity=fidelity, feature_map=data_feature_map)
pegasos_qsvc = PegasosQSVC(quantum_kernel=data_kernel, C=1000, num_steps=100)
pegasos_qsvc.fit(x_train, y_train)
qsvc_score = pegasos_qsvc.score(x_test, y_test)
print(f"QSVC classification test score: {qsvc_score}")

您可以使用值0,1和2来表示&;marital", &;balance"one_answers";loan"。sklearn有一个LabelEncoder来帮助这样的转换。

相关内容

最新更新