z-score算法

embedded/2025/2/23 10:37:03/

z-score算法原理参考网址
https://blog.csdn.net/m0_59596937/article/details/128378641

具体实现代码如下:

python">import numpy as npclass ZScoreOutlierDetector:def __init__(self, threshold=3):"""构造函数"""self.threshold = threshold  # Z-score阈值,默认为3self.x_mean = None          # X坐标的均值self.x_std = None           # X坐标的标准差self.y_mean = None          # Y坐标的均值self.y_std = None           # Y坐标的标准差def fit(self, points):"""根据样本数据计算各维度(x,y维度)的均值和标准差"""points = np.array(points)x = points[:, 0]#:表示选择所有行,0表示选择第0列(通常是x坐标)y = points[:, 1]self.x_mean = np.mean(x)self.x_std = np.std(x)self.y_mean = np.mean(y)self.y_std = np.std(y)def _calc_z_score(self, val, mean, std):"""计算单个维度的Z-score,并且处理标准差为0的情况"""if std == 0:# 如果样本数据全相同,则当前值不同时视为无限大Z-score(即离群点)return float('inf') if val != mean else 0#python三元运算符#float('inf')表示无穷大return (val - mean) / stddef is_outlier(self, point):"""判断给定点是否为离群点"""x_z = self._calc_z_score(point[0], self.x_mean, self.x_std)y_z = self._calc_z_score(point[1], self.y_mean, self.y_std)# 任一维度超过阈值则视为离群点return abs(x_z) > self.threshold or abs(y_z) > self.threshold# 示例用法
if __name__ == "__main__":# 样本数据sample_points = [(1.0, 2.0),(1.5, 3.0),(1.2, 2.5),(1.8, 3.2),(0.9, 2.1)]# 初始化检测器并拟合数据detector = ZScoreOutlierDetector(threshold=3)detector.fit(sample_points)# 待检测点test_point = (5.0, 4.0)result = detector.is_outlier(test_point)print(f"检测点 {test_point} 是否为离群点:{result}")

http://www.ppmy.cn/embedded/164599.html

相关文章

Microsoft Office 2024 软件安装教程(免费)

1.通过百度网盘下载Microsoft Office 2024安装包 下载地址为: https://pan.baidu.com/s/1jk1kvQsKFH9dZGF5xfGgiQ?pwdjbkv 提取码: jbkv 。 2.安装环境 Win10~Win11或更高。 3.安装步骤 (1)下载压缩包,解压缩。 (2&#xf…

【大模型LLM】DeepSeek LLM Scaling Open-Source Language Models with Longtermism

深度探索LLM:以长期主义扩展开源语言模型 0.论文摘要 开源大语言模型(LLMs)的快速发展确实令人瞩目。然而,以往文献中描述的扩展规律得出了不同的结论,这为LLMs的扩展蒙上了一层阴影。我们深入研究了扩展规律&#…

【JavaEE进阶】MyBatis之动态SQL

目录 &#x1f332;动态SQL &#x1f343;< if >标签 &#x1f333;< trim >标签 &#x1f38d;< where >标签 &#x1f340;< set >标签 &#x1f334;< foreach >标签 &#x1f38b;< include >标签 &#x1f332;动态SQL 动态S…

小游戏-记忆卡牌

1、游戏开始4张卡牌&#xff0c;每次过关后新增两张&#xff0c;总共64张卡&#xff0c;可以修改数组EMOJIS&#xff0c;添加表情&#xff0c;增加卡牌数量 2、新建txt文件&#xff0c;将代码粘贴进去&#xff0c;保存后&#xff0c;将txt修改后缀名为html的格式 <!DOCTYPE…

代码随想录算法训练营day40(补0208)

买卖股票专栏 1.买卖股票最佳时机 贪心法&#xff0c;好想 题目 121. 买卖股票的最佳时机 给定一个数组 prices &#xff0c;它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票&#xff0c;并选择在 未来的某一个不同的日子 卖…

Deepseek R1 和其他的大模型 共同辅助决策交通出行方案

比一比各家大模型 问题描述一、Deepseek R1通勤方式评估报告&#xff08;一&#xff09;评分模型说明&#xff08;二&#xff09;各选项评分明细&#xff08;三&#xff09;加权总分计算&#xff08;四&#xff09;结论 二、文心一言通勤方式评估&#xff08;一&#xff09;时间…

微服务即时通信系统---(二)框架学习

目录 gflags 介绍 安装 使用 头文件包含 编译时指明库 宏定义参数 启动时设置命令行参数来设置参数值 使用配置文件来设置参数值 初始化所有参数 访问参数 程序B访问程序A定义的参数 gflags提供的特殊参数标识 使用案例 代码编写 样例运行 gtest 介绍 安装…

处理器架构、单片机、芯片、光刻机之间的关系

这些术语都涉及到半导体和电子设备的设计与制造&#xff0c;但它们的含义和作用有所不同。下面我会逐个解释&#xff0c;并描述它们之间的关系&#xff1a; 1. 处理器架构 (Processor Architecture) 处理器架构指的是处理器&#xff08;CPU&#xff09;的设计原理和结构。它定…