У меня есть массив Y формы (это просто пример, у меня огромные данные в этой форме). Массив формируется с использованием numpy vstack и hstack (т.е. я не хочу менять способ получения этого массива, поскольку я получил его с помощью некоторых сложных операций):
Y=array([[1, 1,2],
[1, 2,0],
[-1, 3,1],
[-1, 2,2]])
y=[1,1,-1,-1]
Y1=list(Y)
Теперь я ввожу данные в функцию libsvm, эта библиотека ожидает, что входные параметры будут в форме словаря, списка или кортежа. Следовательно, код для того же:
prob=svm_problem(y, Y1)
Приведенная выше функция выдает ошибку, что «xi должен быть словарем, списком или кортежем». Другой способ, который я знаю, - это преобразовать Y в список итеративно. Способ сделать это:
Y1=[]
for i in range(0, Y.shape[0]):
Y1.append(list(Y[i])
Вышеупомянутый метод работает хорошо, но медленно, учитывая огромные данные, которые у меня есть. Есть ли более быстрый способ сделать то же самое?