Helpers - компьютеры, интернет, программирование

SkLearn: фигуры ValueError не выровнены во время прогнозирования

Я создаю программу, которая назначает несколько меток / тегов текстовым описаниям. Я использую MultiOutputRegressor для маркировки своих текстовых описаний. Когда я предсказываю массив векторизованных текстов, в последней строке выскакивает следующая ошибка (y_pred = clf.predict (yTest)):

ValueError: фигуры (74,28) и (3532,2) не выровнены: 28 (тусклый 1)! = 3532 (тусклый 0)

Ниже мой код:

textList = df.Text
vectorizer2 = TfidfVectorizer(stop_words=stopWords)
vectorizer2.fit(textList)
x = vectorizer2.transform(textList)

tagList = df.Tags
vectorizer = MultiLabelBinarizer()
vectorizer.fit(tagList)
y = vectorizer.transform(tagList)

print("x.shape = " + str(x.shape))
print("y.shape = " + str(y.shape))

xTrain, xTest, yTrain, yTest = train_test_split(x, y, test_size=0.50)

nb_clf = MultinomialNB()
sgd = SGDClassifier()
lr = LogisticRegression()
mn = MultinomialNB()

xTrain = csr_matrix(xTrain).toarray()
xTest = csr_matrix(xTest).toarray()
yTrain = csr_matrix(yTrain).toarray()

print("xTrain.shape = " + str(xTrain.shape))
print("xTest.shape = " + str(xTest.shape))
print("yTrain.shape = " + str(yTrain.shape))
print("yTest.shape = " + str(yTest.shape))

for classifier in [nb_clf, sgd, lr, mn]:
    clf = MultiOutputRegressor(classifier)
    clf.fit(xTrain, yTrain)
    y_pred = clf.predict(yTest)

Ниже приведены инструкции для печати фигур:

x.shape = (147, 3532)
y.shape = (147, 28)
xTrain.shape = (73, 3532)
xTest.shape = (74, 3532)
yTrain.shape = (73, 28)
yTest.shape = (74, 28)

  • почему вы вводите yTest в качестве входных данных для предсказателя? Разве это не должно быть xTest? 07.08.2019

Ответы:


1

Вероятно, это просто потому, что вы вводите yTest в качестве входных данных для clf.test() вместо xTest.

07.08.2019
Новые материалы

Интуитивное понимание тензоров в машинном обучении
Тензор является важной концепцией во многих научных областях, таких как математика, физика, обработка сигналов и компьютерное зрение, и это лишь некоторые из них. В математике тензор — это..

Использование машинного обучения для диагностики болезни Альцгеймера, часть 4
Маркеры семантической согласованности для ранней диагностики болезни Альцгеймера (arXiv) Автор: Давиде Колла , Маттео Дельсанто , Марко Агосто , Бенедетто Витиелло , Даниэле Паоло Радичони..

Почему объяснимость так важна прямо сейчас?
По мере того, как системы искусственного интеллекта и инструменты на основе машинного обучения распространяются в нашей повседневной жизни, как практики, так и критики все чаще заявляют о..

Анимированный математический анализ
Использование Manim для создания математических анимированных визуализаций Визуализация данных помогает понять скрытые закономерности в данных, которые невозможно визуализировать..

Создание простого слайдера изображений с помощью JavaScript
Узнайте, как создать базовый слайдер изображений с помощью HTML, CSS и JavaScript. Введение В этом уроке мы создадим удобный слайдер изображений, используя JavaScript, HTML и CSS. Ползунок..

Создание базы данных с помощью супергероя «Python»
В этом посте мы узнаем, как создать «базу данных SQLite с помощью модуля python sqlite3, создав простую функцию входа и регистрации. Готовы ли вы к этому путешествию? Если да , давайте приступим..

ИИ для чайников: руководство для начинающих по пониманию будущего технологий
Вы чувствуете, что остались позади в мире ИИ? Не волнуйтесь, вы не одиноки! Со всей этой шумихой вокруг искусственного интеллекта может быть трудно понять, с чего начать. Но не позволяйте сленгу..