Multiclass Classification - двоичное кодирование зависимого вектора - PullRequest
0 голосов
/ 23 января 2020

Я работаю над проблемой мультиклассовой классификации. Я двоично кодировал свой зависимый вектор - тот, который я хочу, чтобы моя модель 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)
...