使用 python 转换为 json 结果后的混淆矩阵格式
confusion matrix format after converting to json results using python
我的混淆矩阵代码会是这样的
confusionmatrix = pd.DataFrame(
confusion_matrix(test["Churn"], predictions),
columns=["Predicted False", "Predicted True"], index=["Actual False", "Actual True"]
)
我得到这样的结果
Predicted False Predicted True
Actual False 877 100
Actual True 183 179
在我将上面的混淆矩阵结果转换为 json 之后。我的 json 结果会是这样
results = [{'confusionmatrix' : confusionmatrix}]
final = pd.Series(results).to_json(orient='records')
[
{
"confusionmatrix": [
{
"Predicted False": 877,
"Predicted True": 100
},
{
"Predicted False": 183,
"Predicted True": 179
}
]
}
]
但是,我的预期输出需要是这样的,
[
{
"confusionmatrix": [
{
"Actual": "False",
"Predict": "False",
"value": 894
},
{
"Actual": "False",
"Predict": "True",
"value": 125
}
]
}
]
我在哪里可以更改我的代码以获得这样的结果?
我认为需要:
df = pd.DataFrame(confusion_matrix(test["Churn"], predictions),
columns=["False", "True"],
index=["False", "True"])
df.index.name= 'Actual'
df.columns.name= 'Predicted'
print (df)
Predicted False True
Actual
False 877 183
True 100 179
confusionmatrix = df.unstack().rename('value').reset_index()
print (confusionmatrix)
Predicted Actual value
0 False False 877
1 False True 100
2 True False 183
3 True True 179
results = [{'confusionmatrix' : confusionmatrix}]
final = pd.Series(results).to_json(orient='records')
print (final)
[{"confusionmatrix":[{"Predicted":"False","Actual":"False","value":877},
{"Predicted":"False","Actual":"True","value":100},
{"Predicted":"True","Actual":"False","value":183},
{"Predicted":"True","Actual":"True","value":179}]}]
我的混淆矩阵代码会是这样的
confusionmatrix = pd.DataFrame(
confusion_matrix(test["Churn"], predictions),
columns=["Predicted False", "Predicted True"], index=["Actual False", "Actual True"]
)
我得到这样的结果
Predicted False Predicted True
Actual False 877 100
Actual True 183 179
在我将上面的混淆矩阵结果转换为 json 之后。我的 json 结果会是这样
results = [{'confusionmatrix' : confusionmatrix}]
final = pd.Series(results).to_json(orient='records')
[
{
"confusionmatrix": [
{
"Predicted False": 877,
"Predicted True": 100
},
{
"Predicted False": 183,
"Predicted True": 179
}
]
}
]
但是,我的预期输出需要是这样的,
[
{
"confusionmatrix": [
{
"Actual": "False",
"Predict": "False",
"value": 894
},
{
"Actual": "False",
"Predict": "True",
"value": 125
}
]
}
]
我在哪里可以更改我的代码以获得这样的结果?
我认为需要:
df = pd.DataFrame(confusion_matrix(test["Churn"], predictions),
columns=["False", "True"],
index=["False", "True"])
df.index.name= 'Actual'
df.columns.name= 'Predicted'
print (df)
Predicted False True
Actual
False 877 183
True 100 179
confusionmatrix = df.unstack().rename('value').reset_index()
print (confusionmatrix)
Predicted Actual value
0 False False 877
1 False True 100
2 True False 183
3 True True 179
results = [{'confusionmatrix' : confusionmatrix}]
final = pd.Series(results).to_json(orient='records')
print (final)
[{"confusionmatrix":[{"Predicted":"False","Actual":"False","value":877},
{"Predicted":"False","Actual":"True","value":100},
{"Predicted":"True","Actual":"False","value":183},
{"Predicted":"True","Actual":"True","value":179}]}]