ValueError: не удалось преобразовать строку в число с плавающей точкой: '?' - PullRequest
0 голосов
/ 18 октября 2018

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

import numpy as np
import pandas as pd
from sklearn import svm
from sklearn.model_selection import train_test_split
data = pd.read_csv('risk_factors_cervical_cancer.csv')
X = np.array(data[[#some data elements]])
y = np.array(data[#some data elements])
print(X)
print(y)
print(X.shape)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, 
random_state=30)
classifier = svm.SVC()
classifier.fit(X_train, y_train)    #the error occurs here 
y_pred = svm.predict(X_test)
acc = accuracy_score(y_test, y_pred)

`

1 Ответ

0 голосов
/ 19 октября 2018

Как писал @Guimoute, предварительная обработка ваших данных всегда необходима для обучения их любому алгоритму машинного обучения.Попробуйте X.head(10), чтобы получить представление о данных, которые вы используете.Ваша ошибка возникает из-за значения "?"в вашем столбце XЗамените его на какое-то разумное число, например среднее значение столбца, например, чтобы получить лучшие результаты.

...