基础学习 |
您所在的位置:网站首页 › 将字符串转换成列表 › 基础学习 |
文章目录
字符串转数组字符串中的数组转列表转整数列表
读数据,然后画PR曲线读取txt数据关于PR曲线代码
读数据画Loss曲线读txt数据代码
工程代码链接
字符串转数组
.split() 是Python中的一个字符串方法,它可以将一个字符串按照指定的分隔符分割成多个子字符串,并返回一个由这些子字符串组成的列表。例如,如果有一个字符串"hello world",我们可以使用.split()方法将它按照空格分隔成两个子字符串[“hello”, “world”]。如果没有指定分隔符,则默认使用空格作为分隔符。 # 将逗号分隔的字符串转换为数组 data = 'huang,chao,yang' data = data.split(',') print(data) # --------------------------------------------- # 将空格分隔的字符串转换为数组 data = 'huang,chao,yang' data = data.split(' ') print(data) # --------------------------------------------- # 将字符串转换为字符数组 data = 'Chaoy' data = list(data) print(data) # --------------------------------------------- # 将字符串转换为整数数组 data = '1,2,3' data = list(int(char) for char in data.split(',')) print(data) # --------------------------------------------- # 将字符串转换为单元素数组 data = 'Chaoy' data = [data] print(data) 字符串中的数组转列表literal_eval() from ast import literal_eval data= '[1,2,3,4]' data= literal_eval(data) print(data) 转整数列表 data= '1,2,3' data= list(int(digit) for digit in data.split(',')) print(data) 读数据,然后画PR曲线 读取txt数据把类似于这样的数据读出来转为list,然后画图。 首先读txt内容 with open('file.txt', 'r') as f: content = f.read() print(content) data_lines = "results-yolo7.txt" # 数据路径 with open(data_lines, "r") as f: # 读txt文本数据 data = f.readlines() 关于PR曲线混淆矩阵如表 3 所示:将所有的样本分成四个类型,将正样本检测为正样本是 TP,将正样本检测为反样本是 FN,将反样本检测为正样本是 FP,将反样本检测为反样本是 TN。所有预测正确的样本数总数是 TP 和 TN 之和,所有预测为正样本的样本总数是 TP 和 FP之和。 TP 和 FN 的是所有实际为正的样本。 PR曲线是指精度(Precision)和召回率(Recall)之间的关系曲线,它是用于评估信息检索系统、文本分类系统等的性能的一种常用方法。在PR曲线中,横轴表示召回率,纵轴表示精度,曲线上每一点的坐标表示在该召回率下的最大精度。通常情况下,PR曲线是一个递增的曲线,表示随着召回率的增加,系统的精度也会相应地增加。在信息检索领域中,PR曲线是评估系统性能的重要指标之一。 代码代码注释很详细,这里就不解释了。 import numpy as np from ast import literal_eval import matplotlib.pyplot as plt import os # ----------------------------------------------------------- # data_lines1 = "input_data/results-yolo5.txt" # 数据路径1 data_lines2 = "input_data/results-yolo7.txt" # 数据路径2 data_lines3 = "input_data/results-yolo8.txt" # 数据路径3 image_path = 'out_data' # PR曲线保存路径 # Dog、Cat、Fish、Bird、Pig name = 'Pig AP ' # 设定那个一个类别的PR曲线 画哪一个 把名称改了就行了 后面的AP不要动 # ----------------------------------------------------------- # # 数据读取函数 def read_data(data_lines,name): Precision_all = [] Recall_all = [] with open(data_lines, "r") as f: # 读txt文本数据 data = f.readlines() for i in range(len(data)): # 遍历每一行 zancun = data[i] # 读第i行 if i |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |