Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.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-如何使用Python交叉表创建混淆矩阵统计信息_Python_Python 3.x_Pandas_Confusion Matrix - Fatal编程技术网

Python-如何使用Python交叉表创建混淆矩阵统计信息

Python-如何使用Python交叉表创建混淆矩阵统计信息,python,python-3.x,pandas,confusion-matrix,Python,Python 3.x,Pandas,Confusion Matrix,下面是我的Phyton脚本,它生成以下混淆矩阵 #/usr/bin/python-tt 来自未来进口部 导入csv 导入操作系统 作为pd进口熊猫 #---------------------------------------------------------------------------- def get_tcp_变量(文件路径): def tcp_拥塞_变体(测试版): 打印('predict({};abs({}')。格式(beta,abs(beta))) 如果(β>0.61,β

下面是我的Phyton脚本,它生成以下混淆矩阵

#/usr/bin/python-tt
来自未来进口部
导入csv
导入操作系统
作为pd进口熊猫
#----------------------------------------------------------------------------
def get_tcp_变量(文件路径):
def tcp_拥塞_变体(测试版):
打印('predict({};abs({}')。格式(beta,abs(beta)))
如果(β>0.61,β=0.45,β0.75,β=cwnd_损失:
cwnd_损失=价值
其他:
贝塔值=int(当前值)/cwnd损失
贝塔值=(四舍五入(贝塔值,2))
beta_值。追加(beta_值)
cwnd_损失=价值
返回tcp_拥塞_变量(总和(beta_值)/len(beta_值))
打印(“****************************************************************”)
打印(“混淆矩阵”)
打印(“****************************************************************”)
矩阵={'actual':[],'predict':[]
路径=“./csv_文件”
#----------------------------------------------------------------------------
def get_variant_predict(文件名):
如果文件名中为“cubic”:
返回“立方”
如果文件名中有“reno”:
返回“雷诺”
如果文件名中有“bic”:
返回“BIC”
其他:
返回文件名[0]
#----------------------------------------------------------------------------
对于os.listdir(路径)中的文件名:
#矩阵['predict'].append(文件名[:4])
矩阵['predict'].append(获取变量\u predict(文件名))
矩阵['actual'].append(get_tcp_variant(os.path.join(path,filename)))
data_frame=pd.crosstab(pd.Series(矩阵['actual'],name='actual'),
pd.系列(矩阵['predict'],名称='Predicted'))
#,margins=True)#添加“全部”
打印(“”)
打印(数据帧)
我们如何添加混淆矩阵统计信息(例如:
accurity
Python
pandas交叉表?如果我们手动添加,那么
accurity
将是(4+24+21)/(4+24+4+1+1+21)-但我想自动生成统计信息

(df * np.eye(3)).values.sum() / df.values.sum()
输出:

0.89090909090909087
输出:

0.89090909090909087
看看这个

看看这个

print(classification_report(matrix['actual'], 
                            matrix['predict'], 
                            target_names=['BIC', 'Cubic', 'Reno']))