微信 网站 收费,贵阳做网站好的公司有哪些,网站开发网络公司,做网站的岗位叫什么1. 任务
1.1 字典中每个种类的准确率
分母#xff1a; 首先计算每个种类的总数#xff01;
for value in label:# get(value, num)函数的作用是获取字典中value对应的键值, num0指示初始值大小。label_cout[value] label_cout.get(value, 0) 1label_acc[value] label_a…1. 任务
1.1 字典中每个种类的准确率
分母 首先计算每个种类的总数
for value in label:# get(value, num)函数的作用是获取字典中value对应的键值, num0指示初始值大小。label_cout[value] label_cout.get(value, 0) 1label_acc[value] label_acc.get(value, 0)
print(label_cout)
print(label_acc) 分子再次计算每个种类正确的数
第一步 获取种类字典 错误的做法
#这是错误的做法因为这样做set集合是无序的 顺序就和分母不一样了无法进行后面的操作
label_acc {label_text: 0 for label_text in set(label) # 将唯一化
}
print(len(label_acc))正确的是上面的
label_acc[value] label_acc.get(value, 0)第二步 记录正确类的个数
results model.predict(data, max_seq_len50, batch_size1, use_gpuTrue) #获取每行输入数据的预测结果
for idx, item in enumerate(results):sum sum 1; #所有的数据集总和if results[idx] label[idx]: # print(OHHHH data: {}.format(data[idx]), predict:{}.format(results[idx]),# right:{}.format(label[idx]))right right 1; #如果是正确的那么就加一print(results[idx])label_acc[results[idx]] 1 #正确的则从字典中寻找到指定key也加一第三步 相除得到准确率
#由于我们在定义两个字典时key标签都是对应的所以直接除并更新label_acc即可
for key in label_acc.keys():label_acc[key] label_acc[key] / label_cout[key]1.2. 如何将分类数值化
前提 你得有输出结果以及label
label_list [城市事件类;宣传广告, 城市事件类;扩充类别, 城市事件类;街面秩序,城市部件类;市政公用设施, 城市事件类;市容环境, 城市部件类;扩充类别, 城市事件类;施工管理, 城市部件类;园林绿化, 环境保护类;其他, 文明城市创建类;其他,]label_map { #必须是指定的格式idx: label_text for idx, label_text in enumerate(label_list)
}
model hub.Module(nameernie_tiny,version2.0.1,taskseq-cls,load_checkpoint/home/wxx/progressfiles/project_pc_NLP/Texts_Classification/model/ernie_text_cls/best_model/model.pdparams,label_maplabel_map)results model.predict(data, max_seq_len50, batch_size1, use_gpuTrue)
之后就用两个list就够了!
n_label []
n_results []
for item in results:for key in label_map:if item label_map[key]:n_results.append(key)
for item in label:for key in label_map:if item label_map[key]:n_label.append(key)补充
1. set是无序的 你改成set集合后序列就无序了而计算每个类别的准确性必须是类型顺序不变的
2.从linux上下载文件 sz XXX3. 读CSV文件没事但是在写入csv文件是乱码
df.to_csv(/home/wxx/progressfiles/project_pc_NLP/Texts_Classification/res_all_label.csv,
encodingutf_8_sig, sep,, index0)4. 如果出现在写入csv文件时单元格错位问题说明你的分隔符不对
5. 写入excel文件中
https://blog.csdn.net/pikaqiubula/article/details/113781466
6. 将其它的放入到DataFrame中 转变为Series 再设置columns
链接
df pd.DataFrame(pd.Series(d1), columns[right])7. python将字典转换为dataframe数据框
python将字典转换成dataframe数据框
8. DataFrame操作
定义 列表定义
字典列表定义
import pandas as pdinp [{c1:10, c2:100}, {c1:11, c2:110}, {c1:12, c2:123}]
df pd.DataFrame(inp)print(df)添加列
DF的遍历 https://www.jb51.net/article/172623.htm
9. 更好的放入到DF中
text_a.append(data[idx])
label_wrong.append(item)
label_right.append(label[idx])df pd.DataFrame()
df[text_a] pd.Series(text_a)
df[wrong_label] label_wrong
df[right_label] label_right10. 代码解决F1_score
链接