Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 测量精度val_acc是否可信?_Python_Tensorflow_Machine Learning_Keras_Evaluation - Fatal编程技术网

Python 测量精度val_acc是否可信?

Python 测量精度val_acc是否可信?,python,tensorflow,machine-learning,keras,evaluation,Python,Tensorflow,Machine Learning,Keras,Evaluation,构建序列 simple_seq= [x for x in list(range(1000)) if x % 3 == 0] 整形和分割后 x_train, x_test shape = (159, 5, 1) y_train, y_test shape = (159, 2) 模型 训练 结果是: Epoch 100/100 127/127 [==============================] - 0s 133us/sample - loss: 0.0096 - acc: 1.00

构建序列

simple_seq= [x for x in list(range(1000)) if x % 3 == 0]
整形和分割后

x_train, x_test shape = (159, 5, 1)
y_train, y_test shape = (159, 2)
模型

训练

结果是:

Epoch 100/100
127/127 [==============================] - 0s 133us/sample - loss: 0.0096 - acc: 1.0000 - val_loss: 0.6305 - val_acc: 1.0000
但如果使用此模型预测:

x_test[-1:] = array([[[9981],
        [9984],
        [9987],
        [9990],
        [9993]]])

model.predict(x_test[-1:])
result is: array([[10141.571, 10277.236]], dtype=float32)
如果结果与事实相去甚远,那么vall_acc怎么可能是1呢


step    1          2
true [9996,      9999     ]
pred [10141.571, 10277.236] 

精度度量仅对分类任务有效。因此,如果在回归任务中使用精度作为度量,则报告的度量值可能根本无效。从您的代码中,我觉得您有一个回归任务,所以不应该使用这个

下面是一个指标列表,您可以在Keras中使用这些指标来解决回归问题

Mean Squared Error: mean_squared_error, MSE or mse
Mean Absolute Error: mean_absolute_error, MAE, mae
Mean Absolute Percentage Error: mean_absolute_percentage_error, MAPE, mape
Cosine Proximity: cosine_proximity, cosine
您可以在上阅读一些理论,并在上查看一些keras示例代码


抱歉,时间有点紧,但我相信这些链接确实会对您有所帮助。:)

根据您的真实/预测值和使用损失的范围-似乎您试图解决的是回归问题,而不是分类问题

所以,如果我理解正确的话——你试图根据输入预测两个数值——而不是预测,两个类中哪一个对这些输入有效


如果是的话,你不应该使用精度指标。因为它只会比较每个输入样本/预测的最大输入指数(稍微简化)。例如,9996<9999和10141.571<10277.236。

您需要完全定义学习问题,我不清楚模型(和训练数据)的输入和输出是什么,这是回归还是分类?如果它的回归,那么看准确度就没有意义了。正如你在这里所看到的那样,这确实是一项回归任务。添加(密集(2))那么回归应该使用什么指标呢?回归不需要任何指标,损失本身就是一项指标。你可能会发现讨论很有用。事实上,正如@MatiasValdenegro所说,回归不需要任何额外的指标——损失本身就是一个指标是的,这是一个回归任务,那么你建议采用什么指标?

step    1          2
true [9996,      9999     ]
pred [10141.571, 10277.236] 
Mean Squared Error: mean_squared_error, MSE or mse
Mean Absolute Error: mean_absolute_error, MAE, mae
Mean Absolute Percentage Error: mean_absolute_percentage_error, MAPE, mape
Cosine Proximity: cosine_proximity, cosine