ValueError: не удалось преобразовать строку в float: b'user1 ' - PullRequest
0 голосов
/ 15 декабря 2018

Я тестирую и обучаю набор текстовых данных, но получаю эту ошибку.CSV-файл содержит тексты.

Когда я запускаю код, он выдает:

ValueError: could not convert string to float: b'user1'

и здесь user1 - текст внутри набора данных

Код:

from keras.models import Sequential
from keras.layers.core import Dense
from sklearn.model_selection import train_test_split
import numpy as np


seed = 9
np.random.seed(seed)

dataset = np.loadtxt('E:/7th Semester/FYP/ini/New 
folder/MBAT/DataSet/train_data.csv', delimiter=',', skiprows=1)


X = dataset[:,0:8]
Y = dataset[:,8]

(X_train, X_test, Y_train, Y_test) = train_test_split(X, Y, test_size=0.33, 
random_state=seed)


model = Sequential()
model.add(Dense(8, input_dim=8, init='uniform', activation='relu'))
model.add(Dense(6, init='uniform', activation='relu'))
model.add(Dense(1, init='uniform', activation='sigmoid'))


model.compile(loss='binary_crossentropy', optimizer='adam', metrics= 
['accuracy'])
model.fit(X_train, Y_train, validation_data=(X_test, Y_test), nb_epoch=100, 
batch_size=5)

scores = model.evaluate(X_test, Y_test)
print ("Accuracy: %.2f%%" %(scores[1]*100))

Полная ошибка трассировки :

File "C:\Users\Lenovo\Anaconda3\lib\site-packages\numpy\lib\npyio.py", line 725, in floatconv
    return float(x)

ValueError: could not convert string to float: b'user1'

1 Ответ

0 голосов
/ 15 декабря 2018

Согласно официальной документации для numpy , dtype для результирующего массива из numpy.loadtxt() равно float.Теперь user1 - это строка, которую нельзя преобразовать в float, и поэтому вы получаете эту ошибку.Вы можете попробовать следующее:

np.genfromtxt('/path/to/csv', dtype=None, delimiter=',', names=True, case_sensitive=True, invalid_raise=False)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...