我的Keras顺序模型给我0的准确率


我正在尝试创建一个能够预测英超联赛比赛结果的模型。当我尝试这样做时,模型在训练时给我50-66的准确率,而在用一些测试数据测试时却给出0的准确率。我刚开始使用Keras和TensorFlow,所以我为我的糟糕代码道歉。

from tensorflow import kerasimport numpy as npimport pandas as pdfrom tensorflow.python.keras.layers.core import Dropoutx_train = np.random.randint(0, 43, size=(4000, 2))x_test = np.random.randint(0, 43, size=(2000, 2))y_train = np.random.randint(0, 2, size=(4000))y_test = np.random.randint(0, 2, size=(2000))model = keras.models.Sequential(    [        keras.layers.Embedding(5000, 43),        keras.layers.Conv1D(            filters=43, kernel_size=3, padding="same", activation="relu"        ),        keras.layers.MaxPooling1D(pool_size=2),        keras.layers.LSTM(100),        keras.layers.Dropout(0.2),        keras.layers.Dense(1, activation="sigmoid"),    ])model.compile(optimizer="adam", loss="binary_crossentropy", metrics=["accuracy"])model.fit(x_train, y_train, epochs=5)acc = model.evaluate(x_test)print(acc)

这是输出结果:

----Epoch 1/5125/125 [==============================] - 1s 4ms/step - loss: 0.6716 - accuracy: 0.5663Epoch 2/5125/125 [==============================] - 1s 4ms/step - loss: 0.6320 - accuracy: 0.6357Epoch 3/5125/125 [==============================] - 1s 4ms/step - loss: 0.6244 - accuracy: 0.6457Epoch 4/5125/125 [==============================] - 1s 5ms/step - loss: 0.6208 - accuracy: 0.6578Epoch 5/5125/125 [==============================] - 1s 6ms/step - loss: 0.6183 - accuracy: 0.6585**89/89 [==============================] - 0s 1ms/step - loss: 0.0000e+00 - accuracy: 0.0000e+00****[0.0, 0.0]**

回答:

您需要提供评估的目标数据。即:

acc = model.evaluate(x_test,y_test)

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注