首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >预测模型的精度

预测模型的精度
EN

Stack Overflow用户
提问于 2017-04-06 14:20:10
回答 1查看 2.9K关注 0票数 1

我想得到我的模型预测x_test标签的准确性

代码语言:javascript
复制
   from __future__ import print_function
    from keras.models import Sequential
    from keras.layers import Dense
    import keras
    import numpy as np
    model = Sequential()
    model.add(Dense(2000, input_dim=3072, activation='relu'))
    model.add(Dense(500, activation='relu'))
    model.add(Dense(66, activation='softmax'))
    model.fit(x_train,y_train, epochs=100, batch_size=128)
    scores = model.evaluate(x_train, y_train)
    print("\n%s: %.2f%%" % (model.metrics_names[1], scores[1]*100))

现在我想得到预测的精确性

代码语言:javascript
复制
predictions = model.predict(x_test)

我试过:

代码语言:javascript
复制
  print("\n%s: %.2f%%" % (model.metrics_names[1], predictions*100))

我发现了以下错误:

代码语言:javascript
复制
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-262-edbcf292f31c> in <module>()
----> 1 print("\n%s: %.2f%%" % (model.metrics_names[1], predictions*100))

TypeError: float argument required, not numpy.ndarray
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-06 15:19:15

model.predict生成一个与float完全不同的numpy.array。您可以尝试使用print(predictions)打印该字符串,但是在这种情况下,在float中使用格式化字符串绝对行不通。尝试:

代码语言:javascript
复制
print("\n%s:" % (model.metrics_names[1]))
print(100 * predictions)

代码语言:javascript
复制
print("\n%s: %s" % (model.metrics_names[1], np.array_str(predictions*100)))

或者如果你在x_test中只有一个病例

代码语言:javascript
复制
print("\n%s: %.2f%%" % (model.metrics_names[1], predictions[0]*100))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43257910

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档