【问题标题】:Keras model returning AttributeError: 'str' object has no attribute 'ndim'Keras 模型返回 AttributeError:“str”对象没有属性“ndim”
【发布时间】:2019-12-16 17:43:45
【问题描述】:

我正在尝试构建一个简单的 Keras 模型,但由于某些未知原因而收到 AttributeError。我提供给模型的所有数据类型都是 float64。代码如下:

定义特征和目标:

X = rated_df[["content_found", "domain_found","title_found", "url_found", "CPC","Competition","number_of_results","search_vol"]]

y = "Position"

型号如下:

from keras.models import Sequential from keras.layers import Dense

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

model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])

然后是导致错误的模型的拟合:

model.fit(X, y, epochs=150, batch_size=10)

错误是

AttributeError: 'str' 对象没有属性 'ndim'

数据图片如下,如前所述,包含所有 float64 数据类型:

如果有人有任何建议,将不胜感激,谢谢!

【问题讨论】:

  • 这几乎总是意味着某些东西不是预期的类型。检查各种 model 方法所期望的参数,并确保您传递了正确的类型。

标签: python pandas keras


【解决方案1】:

问题是您将y 定义为字符串。

你可能想要

y = df["Position"]

【讨论】:

  • 确实,不敢相信我错过了这么小的东西!谢谢!
猜你喜欢
  • 1970-01-01
  • 2018-07-07
  • 2021-07-31
  • 2018-10-25
  • 1970-01-01
  • 2021-02-19
  • 1970-01-01
  • 1970-01-01
  • 2019-05-21
相关资源
最近更新 更多