def writeConfusionMatrix(self, outFile):
print("Write a confusion matrix to outFile; elements in the matrix can be frequencies (you don't need to normalize)")
output = []
file = open(outFile, 'w+')
matrix = defaultdict(lambda: defaultdict(int))
for s in range(len(self.goldenTags)):
for w in range(len(self.goldenTags[s])):
matrix[self.goldenTags[s][w].tag][self.myTags[s][w].tag] += 1
row_ids = sorted(matrix.keys())
col_ids = sorted(set(k for v in matrix.values() for k in v.keys()))
output.append(col_ids)
for r in row_ids:
output.append([r] + [matrix[r].get(c, 0) for c in col_ids])
#matKeys = matrix.keys()
#df = DataFrame(matrix).T.fillna(0)
#output = '\n'.join(output)
print(output)
file.write(str(output))
此函数创建一个混淆矩阵并将其写入新文件。在
看起来像
它是没有空格的嵌套列表,但我想让它看起来像:
在元素之间添加新行。在
我试过像加
^{pr2}$
以前file.write(str(output))
但给了我一个sequence item 0: expected str instance, list found
错误。在
有什么想法吗?在