请求prometheus数据然后使用tensorflow计算正则模型

使用tensorflow 计算正则模型, 数据来源为Prometheus的数据近7天的数据, 然后计算了90%区间的上下限和当前值的概率密度

python 复制代码
import requests
import pandas as pd
import tensorflow as tf
from datetime import datetime, timedelta

# 定义 Prometheus 查询的参数
url = "http://{your_path}/api/v1/query_range"
## 查询的QL
query = 'sum(alter_count{group="namespace"})'
start_time = int((datetime.now() - timedelta(days=7)).timestamp())
end_time = int(datetime.now().timestamp())

# 构建查询参数
params = {
    "query": query,
    "start": start_time,
    "end": end_time,
    "step": "1h"
}

# 发起 GET 请求
response = requests.get(url, params=params)

# 解析响应数据
data = response.json()['data']['result']

# 处理数据
results = []
for item in data:
    for value in item['values']:
        results.append({
            'timestamp': pd.to_datetime(value[0], unit='s'),
            'value': float(value[1])
        })
# 将数据转化为 DataFrame
df = pd.DataFrame(results)
df.set_index('timestamp', inplace=True)

# 构建 TensorFlow 模型
mean_value = tf.cast(df['value'].mean(), tf.float32)
std_dev = tf.cast(df['value'].std(), tf.float32)

# 取最后值, 也就是当前值
input_data = df.iloc[-1]['value']
input_data = tf.cast(input_data, tf.float32)  # 将输入数据转换为 float32 类型
result = tf.exp(-tf.square(input_data - mean_value) / (2 * tf.square(std_dev))) / (std_dev * tf.sqrt(2 * 3.14159))
print("当前数据 {} 的正态分布概率密度值为: {}".format(input_data.numpy(), result.numpy()))
# 计算命中 80% 区间的上下界
lower_bound = mean_value + tf.math.erfinv(-0.45) * std_dev
upper_bound = mean_value + tf.math.erfinv(0.45) * std_dev

print("命中 90% 区间的上界为: {}".format(upper_bound.numpy()))
print("命中 90% 区间的下界为: {}".format(lower_bound.numpy()))
相关推荐
亿牛云爬虫专家24 分钟前
Kubernetes下的分布式采集系统设计与实战:趋势监测失效引发的架构进化
分布式·python·架构·kubernetes·爬虫代理·监测·采集
蹦蹦跳跳真可爱5894 小时前
Python----OpenCV(图像増强——高通滤波(索贝尔算子、沙尔算子、拉普拉斯算子),图像浮雕与特效处理)
人工智能·python·opencv·计算机视觉
nananaij5 小时前
【Python进阶篇 面向对象程序设计(3) 继承】
开发语言·python·神经网络·pycharm
雷羿 LexChien5 小时前
从 Prompt 管理到人格稳定:探索 Cursor AI 编辑器如何赋能 Prompt 工程与人格风格设计(上)
人工智能·python·llm·编辑器·prompt
lingRJ7775 小时前
从混沌到掌控:基于OpenTelemetry与Prometheus构建分布式调用链监控告警体系
java·springboot·prometheus·backend·opentelemetry·jaeger·microservices
敲键盘的小夜猫5 小时前
LLM复杂记忆存储-多会话隔离案例实战
人工智能·python·langchain
高压锅_12206 小时前
Django Channels WebSocket实时通信实战:从聊天功能到消息推送
python·websocket·django
盼小辉丶7 小时前
TensorFlow深度学习实战——去噪自编码器详解与实现
人工智能·深度学习·tensorflow
胖达不服输7 小时前
「日拱一码」020 机器学习——数据处理
人工智能·python·机器学习·数据处理
吴佳浩7 小时前
Python入门指南-番外-LLM-Fingerprint(大语言模型指纹):从技术视角看AI开源生态的边界与挑战
python·llm·mcp