跪求大神帮忙,python运行中:you appear to be using a legacy multi-label data representation...

def pres_rec_f1(Y_true, Y_preds_list): """ Calculates micro, macro and sample averaged metrics for the classification task""" pres_sample, rec_sample, f1_sample, pres_micro, rec_micro, f1_micro, pres_macro, rec_macro, f1_macro = ([],[],[],[],[],[],[],[],[]) for n in [5, 10, 15, 20, 25, 30, 35, 40, 45, 50]: p, r, f, s = precision_recall_fscore_support(Y_true, Y_preds_list[n], average='samples') pres_sample.append(p) rec_sample.append(r) f1_sample.append(f) p, r, f, s = precision_recall_fscore_support(Y_true, Y_preds_list[n], average='micro') pres_micro.append(p) rec_micro.append(r) f1_micro.append(f) p, r, f, s = precision_recall_fscore_support(Y_true, Y_preds_list[n], average='macro') pres_macro.append(p) rec_macro.append(r) f1_macro.append(f) data_reg = {} data_reg['sample'] = (pres_sample, rec_sample, f1_sample) data_reg['micro'] = (pres_micro, rec_micro, f1_micro) data_reg['macro'] = (pres_macro, rec_macro, f1_macro) return data_regif __name__ == '__main__': # Get precision, recall and f1 scores data_reg = pres_rec_f1(Y_true, Y_preds_list) print "report without using the greedy tree step: " print data_reg部分代码如上,出错信息以及数据格式如下:

第1个回答  2016-11-02
你这个代码都没有缩进的,不好理解啊。追问

就是上面这样纸。。。要不我加你扣扣吧,我具体详细给你说这个问题

追答

276971837

追问

好嘞,加上了

追答

看错误的提示是:“sequence类型的不再受支持,建议改成二进制或sparse矩阵类型“
可能是有些模块是在py2.7之前写的,随着python版本的更新变得不被支持,改一下数据类型试试咯。

相似回答