Python 不支持未知-f1分数
我想用32个预测的蒙版图像和32个真实的蒙版图像进行f1评分。我的数据具有以下特点:Python 不支持未知-f1分数,python,machine-learning,scikit-learn,Python,Machine Learning,Scikit Learn,我想用32个预测的蒙版图像和32个真实的蒙版图像进行f1评分。我的数据具有以下特点: predicted.shape [32,512,512] true.shape [32,512,512] type_of_target(predicted) Unknown type_of_target(true) Unknown type_of_target(predicted[0]) Continuous-multioutput type_of_target(t
predicted.shape [32,512,512]
true.shape [32,512,512]
type_of_target(predicted) Unknown
type_of_target(true) Unknown
type_of_target(predicted[0]) Continuous-multioutput
type_of_target(true[0]) Continuous-multioutput
当我运行这一行时,f1_分数(true、predicted、average='macro')
我得到这个错误:
f1_score(true, predicted, average='macro')
Traceback (most recent call last):
File "<ipython-input-75-7198c91642b6>", line 1, in <module>
f1_score(true, predicted, average='macro')
File "C:\Anaconda3\lib\site-packages\sklearn\metrics\_classification.py", line 1099, in f1_score
zero_division=zero_division)
File "C:\Anaconda3\lib\site-packages\sklearn\metrics\_classification.py", line 1226, in fbeta_score
zero_division=zero_division)
File "C:\Anaconda3\lib\site-packages\sklearn\metrics\_classification.py", line 1484, in precision_recall_fscore_support
pos_label)
File "C:\Anaconda3\lib\site-packages\sklearn\metrics\_classification.py", line 1301, in _check_set_wise_labels
y_type, y_true, y_pred = _check_targets(y_true, y_pred)
File "C:\Anaconda3\lib\site-packages\sklearn\metrics\_classification.py", line 97, in _check_targets
raise ValueError("{0} is not supported".format(y_type))
ValueError: unknown is not supported
f1_分数(真、预测、平均=”宏“)
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
f1_分数(真实、预测、平均值=‘宏’)
文件“C:\Anaconda3\lib\site packages\sklearn\metrics\\ u classification.py”,第1099行,f1\ U分数
零除法=零除法)
文件“C:\Anaconda3\lib\site packages\sklearn\metrics\\ u classification.py”,第1226行,在fbeta\ U分数中
零除法=零除法)
文件“C:\Anaconda3\lib\site packages\sklearn\metrics\\u classification.py”,第1484行,在precision\u recall\u fscore\u支持中
pos_标签)
文件“C:\Anaconda3\lib\site packages\sklearn\metrics\\ u classification.py”,第1301行,在检查标签中
y_type,y_true,y_pred=_check_targets(y_true,y_pred)
文件“C:\Anaconda3\lib\site packages\sklearn\metrics\\ u classification.py”,第97行,在检查目标中
raise VALUERROR(“{0}不受支持”。格式(y_类型))
ValueError:不支持未知
我认为F1输入应该是1d数组(标签)。
确保这一点。F1成绩是准确度和召回率的调和平均值。当预测值是分类输出而不是连续输出时,计算精度和召回率。您需要将预测转换为分类(通过向上舍入或向下舍入),然后展平数组,因为
f1\u score
函数仅将1D数组作为输入参数。谢谢,您是正确的。f1分数中的输入必须是1d数组。所以我使用flatte(),现在我的预测值和真值是这个形状(8388608,),但是出现了错误“continuous is not supported”