Я пытаюсь подобрать модель, используя SVM, но получаю следующую ошибку:
ValueError: setting an array element with a
sequence.
Эта ошибка находится в функции подбора этого кода:
from sklearn import svm
from numpy import array
X_tn = array(X_train)
Y_tn = array(Y_train)
modelo = svm.SVC(kernel = 'linear', C =
1.0)
X_tn = X_tn.reshape(Y_tn.shape)
modelo.fit(X_tn,Y_tn)
modelo.score(X_tn,Y_tn)
prediccion = modelo.predict(X_test)
print(prediccion)
X_train иY_train имеют одинаковое количество элементов.
X_train и Y_train изначально являются списками, созданными с этим кодом:
imags = os.path.join(os.sep,'home','alex','Curso_DH','Algoritmos_avanzados','Practica','AlgoritmosAvanzadosPractica','imagenes')
imgPath = gb.glob(imags+'/*.jpg')
X_train = []
for i in (imgPath):
X_train.insert(j,imageio.imread(i))
j = j + 1
imags_ext = os.path.join(os.sep, 'home', 'alex', 'Curso_DH', 'Algoritmos_avanzados', 'Practica', 'AlgoritmosAvanzadosPractica','trainingdata','outdoor')
imgPath = gb.glob(imags_ext+'/*.jpg')
Y_train = []
j = 0
for i in (range(len(imgPath))):
Y_train.insert(j,1)
j = j + 1
imags_ext = os.path.join(os.sep, 'home', 'alex', 'Curso_DH', 'Algoritmos_avanzados', 'Practica', 'AlgoritmosAvanzadosPractica','trainingdata','indoor')
imgPath = gb.glob(imags_ext+'/*.jpg')
j = 0
for i in (range(len(imgPath))):
Y_train.insert(j,0)
j = j + 1
imags = os.path.join(os.sep,'home','alex','Curso_DH','Algoritmos_avanzados','Practica','AlgoritmosAvanzadosPractica','imagenes_test')
imgPath = gb.glob(imags+'/*.jpg')
X_test = []
j = 0
for i in (imgPath):
X_test.insert(j,imageio.imread(i))
j = j + 1
imags_ext = os.path.join(os.sep, 'home', 'alex', 'Curso_DH', 'Algoritmos_avanzados', 'Practica', 'AlgoritmosAvanzadosPractica','testdata','outdoor')
imgPath = gb.glob(imags_ext+'/*.jpg')
Y_test = []
j = 0
for i in (range(len(imgPath))):
Y_test.insert(j,1)
j = j + 1
imags_ext = os.path.join(os.sep, 'home', 'alex', 'Curso_DH', 'Algoritmos_avanzados', 'Practica', 'AlgoritmosAvanzadosPractica','testdata','indoor')
imgPath = gb.glob(imags_ext+'/*.jpg')
j = 0
for i in (range(len(imgPath))):
Y_test.insert(j,0)
j = j + 1
Учебный набор - это изображения, а тестовый набор - это метки, которые равны 0 для изображения в помещении и1 для наружного изображения.
Как я могу соответствовать модели?
Спасибо