Я работаю над проблемой мультиклассовой классификации. Я двоично кодировал свой зависимый вектор - тот, который я хочу, чтобы моя модель SVM предсказывала. Поскольку я закодировал в двоичном коде "y" - это дает около 6 столбцов. Я не уверен, как поступить из этой части, так как мой метод подбора просто жалуется на «неправильную форму ввода». Причина, по которой я бинарно кодирую, а не labelencoding, потому что, как я понимаю, между классами нет никакой связи, и, следовательно, labelencoding может заставить машину понять, что возраст одного веса для одного больше, чем для другого. Вот упрощенная версия кода, который у меня есть -
import pandas as pd
import numpy as np
from sklearn.feature_extraction.text import TfidfVectorizer
import category_encoders as ce
from sklearn.model_selection import train_test_split
from sklearn.svm import SVC
dataset = pd.read_csv('Training205k.csv',encoding='ISO-8859-1', dtype=str)
X = dataset['Problem_Summary']
y = dataset["NormalisedCategory"]
tv = TfidfVectorizer(lowercase=True)
X = tv.fit_transform(X)
encoder = ce.BinaryEncoder()
z2 = encoder.fit_transform(y)
X_train, X_test, y_train, y_test = train_test_split(X, z2, test_size = 0.05, random_state = 42)
classifier = SVC(kernel = 'rbf')
classifier.fit(X_train,y_train)