在进行分类训练时,是否应该将字符串转换为浮点数?

should you convert strings to float when training for classification?

我正在研究深度学习class化代码。我有两个 classes,每个 class 样本都存储在一个 CSV 文件中。当我开始我的代码时,我阅读了那些文件:

file_full=pd.read_csv("FULL.csv")

但是,当我尝试构建模型时:

model = Sequential()

# Add an input layer 
model.add(Dense(12, activation='relu', input_shape=(11,)))

我收到这个错误: ValueError:无法将字符串转换为浮点数:'-0.0041958.1' 将我的列表从字符串转换为浮点数可以解决这个问题吗?如果是这样,我会在之前做:

model = Sequential()

或者在阅读文件后立即开始,这样我就可以 运行:

scaler = StandardScaler().fit(train)

要将标准数据设置为浮点数?

用这么少的信息很难回答,但我假设您正在对提取特征的 CSV 文件训练深度学习分类器。

特征必须是数字,即 python intfloat 类型。因此,当您尝试加载数据时,Keras 正在尝试将您的数据转换为他可以处理的类型。问题在于您的值 -0.0041958.1 有 2 个 . 字符,因此无法转换为浮点数。也许检查您的值并修复此类错误。

最后,我们通常在加载数据后处理数据,并与模型的构建分开处理。