Я получаю ошибку во время запуска этой строки кода gnb.fit (df_train, y_train)Python

Программы на Python
Ответить
Anonymous
 Я получаю ошибку во время запуска этой строки кода gnb.fit (df_train, y_train)

Сообщение Anonymous »

title: valueError: не удалось преобразовать строку в float при обучении Gaussiannb для обнаружения SMS -спама
body:

Я строю инструмент обнаружения SMS -спама и сталкиваюсь с ошибкой при прогнозировании с помощью модели Gaussiannb. Вот сообщение об ошибке: < /p>

Код: Выделить всё

UserWarning: X has feature names, but GaussianNB was fitted without feature names
warnings.warn(
---------------------------------------------------------------------------
ValueError: could not convert string to float: 'Dear i am not denying your words please'
Вот соответствующая часть моего кода:

Код: Выделить всё

from sklearn.naive_bayes import GaussianNB
from sklearn.metrics import accuracy_score, confusion_matrix, precision_score

# Training the model
gnb = GaussianNB()
gnb.fit(df_train, y_train)

# Making predictions
y_pred1 = gnb.predict(df_test)  # Error occurs here

# Evaluating the model
print(accuracy_score(y_test, y_pred1))
print(confusion_matrix(y_test, y_pred1))
print(precision_score(y_test, y_pred1))
< /code>
Я подозреваю, что проблема связана с форматом входных данных. df_train 
и df_test содержит столбец с SMS -текстом, но Gaussiannb требует числового ввода.
Я подозреваю, что проблема связана с форматом входных данных. df_train и df_test содержит столбец с SMS -текстом, но Gaussiannb требует числового ввода.
Вопросы: [/b]
  • Как я могу предварительно обрабатывать текстовые данные, чтобы Gaussiannb мог справиться с ним? < /p>
    < /li>

    Как обратиться к предупреждению о именах функций (

    Код: Выделить всё

    X has feature names, but GaussianNB was fitted without feature names
    )?
Вот что я пробовал:
  • Преобразование текстовых данных в числовые с помощью TfidfVectorizer. Однако я не уверен, правильно ли я это реализовал.
  • Обеспечение отсутствия пропущенных значений в наборе данных с помощью .isnull().sum( ).
Будем очень признательны за любые рекомендации или предложения по устранению этой проблемы. Заранее спасибо!

Подробнее здесь: https://stackoverflow.com/questions/793 ... in-y-train
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»