python数组中mask的一些操作,阈值筛选等

import numpy as np
return_iou=True
iou = np.array([0.41, 0.2, 0.7, 0.6])
encoded_box = np.zeros((iou.shape[0], 4 + return_iou))
print(encoded_box)
print(iou.argmax())
assign_mask = iou > 0.5
print('-----------')
print(iou[assign_mask])
print(assign_mask)
if not assign_mask.any():
    assign_mask[iou.argmax()] = True
if return_iou:
    encoded_box[:, -1][assign_mask] = iou[assign_mask]
print(encoded_box)
priors = np.array([[0.2, 0.3, 0.5, 0.6], [0.3, 0.4, 0.5, 0.6], [0.3, 0.4, 0.4, 0.7], [0.1, 0.3, 0.2, 0.8]])
print(encoded_box[:, :2][assign_mask])
priors[:,:2]= np.array([0.2,0.2])+priors[:,:2]
print(priors[:,:2][assign_mask])

上述代码的输出: 

[[0. 0. 0. 0. 0.]
 [0. 0. 0. 0. 0.]
 [0. 0. 0. 0. 0.]
 [0. 0. 0. 0. 0.]]
2
-----------
[0.7 0.6]
[False False  True  True]
[[0.  0.  0.  0.  0. ]
 [0.  0.  0.  0.  0. ]
 [0.  0.  0.  0.  0.7]
 [0.  0.  0.  0.  0.6]]
[[0. 0.]
 [0. 0.]]
[[0.5 0.6]
 [0.3 0.5]]

### 统计阈值法概述 统计阈值法是一种基于设定的临界值来判断数据点是否异常的方法。通过计算特定指标并将其与预定义的阈值比较,可以识别出超出正常范围的数据点。这种方法广泛应用于质量控制、金融风险评估等领域。 ### 使用Python实现统计阈值法 为了更好地理解这一过程,下面提供了一个简单的例子,展示了如何利用均值加减标准差作为阈值条件筛选异常数值: ```python import numpy as np def threshold_filter(data, factor=3): """ 应用统计阈值过滤器去除离群点 参数: data (list or array): 输入的一维数据序列 factor (float): 阈值倍数,默认为3表示使用平均值±3*标准差作为上下限 返回: filtered_data (array): 过滤后的数据数组 outliers (array): 被标记为异常的数据点列表 """ mean = np.mean(data) # 计算样本均值[^3] std_deviation = np.std(data) # 计算样本标准偏差 lower_bound = mean - factor * std_deviation # 下边界 upper_bound = mean + factor * std_deviation # 上边界 mask = (data >= lower_bound) & (data <= upper_bound) filtered_data = data[mask] # 符合条件的数据保留下来 outliers = data[~mask] # 不符合条件即被视作异常的数据单独提取出来 return filtered_data, outliers # 测试函数 test_array = np.random.normal(loc=0, scale=1, size=(100,)) _, detected_outliers = threshold_filter(test_array) print(f"Detected {len(detected_outliers)} outlier(s).") ``` 上述代码片段实现了基本的功能框架,能够有效地检测到偏离整体趋势较远的数据项,并将它们分离处理。这里采用了正态分布假设下的Z分数方法来进行异常探测;当然也可以根据实际应用场景调整具体的判定逻辑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值