Обучение SVM с выходами гистограмм - PullRequest
0 голосов
/ 07 марта 2020

У меня есть DataFrame в форме (253,3), в котором первый и второй столбцы представляют собой гистограммы некоторых изображений в форме (256,1), а третий столбец просто обозначает «Да» или «Нет». ». Однако при попытке обучить эти данные с помощью SVM я сталкиваюсь со следующей ошибкой: TypeError: только массивы размера 1 могут быть преобразованы в Python скаляры Мой код:

вычисление гистограммы из изображений

hists_matrix = np.empty((len(images),2),dtype=object)


for i in range(len(images)):
    hists_matrix[i][0] = cv2.calcHist([both_sides_matrix[i][0]],[0],None,[256],[0,256])
    hists_matrix[i][1] = cv2.calcHist([both_sides_matrix[i][1]],[0],None,[256],[0,256])

это два столбца, которые я буду использовать в качестве своих функций, а X_train в фрейме данных. после создания фрейма данных, как я уже говорил, я написал следующий код для обучения SVM :

X = df.drop(['output'],axis=1)    
y = df['output']
X_train, X_test, y_train, y_test = train_test_split(X,y,test_size=0.2)
clf = SVC()
clf.fit(X_train,y_train)

, но, как я уже сказал, я получил ошибку value каждая функция в моем фрейме данных, кроме «output», имеет форму (256,1), потому что это гистограмма полутоновых изображений. Я перепробовал все, но ничего не получается :(. Я был бы очень рад, если бы кто-то знал ответ. Если вы тоже не знаете ответ, хотя бы проголосуйте за этот вопрос за меня. Большое спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...