python - 值错误: could not convert string to float: b'user1'

标签 python numpy tensorflow keras

我正在测试和训练文本数据集,但收到此错误。 CSV 文件包含文本。

当我运行代码时,它会给出输出:

ValueError:无法将字符串转换为 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'

最佳答案

根据官方文档numpynumpy.loadtxt() 生成的数组的 dtypefloat。现在,user1 是一个字符串,无法转换为float,因此您会收到此错误。您可以尝试以下操作:

np.genfromtxt('/path/to/csv', dtype=None, delimiter=',', names=True, case_sensitive=True, invalid_raise=False)

关于python - 值错误: could not convert string to float: b'user1',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53791626/

相关文章:

Python:访问与循环数组的当前位置相匹配的移动窗口数组的索引

python - 如何使用python计算周期数

python - 迭代定义的 Numpy 数组创建

tensorflow - 如何通过 PyCharm 将命令行参数传递给 tf.app.flags?

python - 如何使表面(次表面)围绕矩形居中? (缩放 Sprite 碰撞箱/碰撞矩形)

python - 如何从全局设置模块在 Django 中设置特定设置

cronjob中的python多线程问题

python - 矢量化是不确定的

tensorflow - 在训练和测试数据集中随机拆分 tf 数据集

python - ValueError : Tensor Tensor ("dense_2/Softmax:0", shape=(?, 43), dtype=float32) 不是该图的元素