可以进行重复测量的方差分析的AI agent

news2025/1/15 0:49:37

可以进行重复测量的方差分析的AI agent

前几天做了机器学习的AI agent,把一个糖尿病机器学习模型采用API的形式接入到LLM模型中,结合LLM的智能性和机器学习模型的准确性,利用两者的有点,有可以避免两者的缺点,是一条合理且有发展前景的技术路线。 循着同样的思路,这次,尝试将医学统计学的“重复测量的方差分析”接入到LLM,因为这种分析方法算是相对复杂一点的方法,需要多步完成,中间还会用到球形检验等不太熟悉的检验方法,并且对结果进行专业的解释也是一个困难,正好可以接入LLM的智能来克服以上的部分。

现在已经上线百度千帆平台,「AI重复测量的方差分析」网页版地址,也可以在小程序上体验,还处于体验阶段。个人感觉这个API集合LLM的思路还是有很强的通用型,可以把之前自己的专业接入到LLM模型中。

1. 构建重复测量分析的API

使用python 的pingouin包可以实现重复测量的方差分析的各种分析函数,然后使用fastapi包装这些函数并部署到Render网站上(简便免费,但是算力有限),这样就形成了可以对外服务的API,建议使用api调试工具进行一下调试,比如apifox,还可以直接生成curl形式的代码,用来黏贴到百度的千帆大模型中的API组件中。

对于这种API,输入和原来机器学习的不一样,是List形式的,输出是json形式的,代码关键部分贴在下边。

from fastapi import FastAPI
from pydantic import BaseModel
import pandas as pd
import pingouin as pg
import json
from typing import List, Optional

app = FastAPI()

class RepeatedMeasuresAnovaInput(BaseModel):
    value_column: List[int]
    group_column: Optional[List[object]]=None
    time_column: List[object]
    subject_column: List[int]


@app.post("/sphericity_test")
def sphericity_test(input_data: RepeatedMeasuresAnovaInput):
    """
    Perform a Mauchly's test of sphericity.

    Args:
        input_data: RepeatedMeasuresAnovaInput

    Returns:
        A JSON string containing the results of the sphericity test
    """
    data_frame = pd.DataFrame({
        'value': input_data.value_column,
        'time': input_data.time_column,
        'subject': input_data.subject_column
    })
    try:
        spher, W, chisq, dof, pval  = pg.sphericity(data=data_frame, dv='value', within='time', subject='subject')
        output = {
            'sphericity': spher,
            'W': W,
            'chisq': chisq,
            'dof': dof,
            'pval': pval
        }
        return json.dumps(output, allow_nan=True,ensure_ascii=False)
    except Exception as e:
        return str(e)

2. 千帆平台构建API组件并接入LLM

构建组件这一块还算顺利,新增加几个参数作为输入,是array形式,值放在[]中,最后会以json的形式导入到模型中,输出是json格式的str形式,原始的输出会有反斜杠,可以不管。因为有多个API,所以增加了几个分支,通过关键词触发相应的分析步骤,分析之后直接进行输出,让用户知道是API输出的,不是大模型输出的。
在这里插入图片描述

下一步是构建一个应用,把组件接进去,应用设定上选择使用组件输出。这一块浪费了一些时间,一直提示数据格式不正确,调用组件失败,原因居然是因为有些低版本的大模型不理解数据形式,换了高版本的LLM模型后就可以了。

编写了一些promot之后,应用可以跑通了,算是版本1.0,后面还需要加工,欢迎大家体验。
在这里插入图片描述

3. 与shiny和streamlit等可视化界面应用比较

这里简单比较一下说一下,后续可能还会专门比较一下。
1、功能上来说,各有各的特点,无非是输入数据,展示结果,背后的运算都是一样的;
2.从易用性上来说,可视化界面可能更直观一些,更加符合数据处理的习惯,而大模型是通过一个对话框来实现这些功能,略显局促。
但是LLM比较了解的知识更全面,在处理用户意向不到的需求的时候,更加具有灵活性,另一方面随着,LLM组件功能的扩展,可能会有意想不到的设计。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2276728.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

OpenCV实现Kuwahara滤波

Kuwahara滤波是一种非线性的平滑滤波技术,其基本原理在于通过计算图像模板中邻域内的均值和方差,选择图像灰度值较为均匀的区域的均值来替代模板中心像素的灰度值。以下是Kuwahara滤波的详细原理说明: 一、基本思想 Kuwahara滤波的基本思想…

[文献精汇]使用 LSTM Networks 的均值回归交易策略

Backtrader 策略实例 [Backtrader]实例:均线策略[Backtrader] 实例:MACD策略[Backtrader] 实例:KDJ 策略[Backtrader] 实例:RSI 与 EMA 结合[Backtrader] 实例:SMA自定义数据源[Backtrader] 实例:海龟策略[Backtrader] 实例:网格交易[Backtrader] 实例: 配对交[Backtrader] 机…

IDEA Maven构建时报错:无效的目标发行版17

报错分析 报错原因:Maven 构建时,Java 版本配置不匹配 我安装的JDK版本是1.8,但由于种种原因,Maven构建时指定了 Java 17 作为目标发行版,从而导致错误 解决方案 首先,java -version,查看环…

计算机网络 (39)TCP的运输连接管理

前言 TCP(传输控制协议)是一种面向连接的、可靠的传输协议,它在计算机网络中扮演着至关重要的角色。TCP的运输连接管理涉及连接建立、数据传送和连接释放三个阶段。 一、TCP的连接建立 TCP的连接建立采用三次握手机制,其过程如下&…

Navicat Premium 16.0.90 for Mac 安装与free使用

步骤 0.下载 通过网盘分享的文件:Navicat Premium 16.0.90 链接: https://pan.baidu.com/s/12O22rXa9MiBPKKTGMELNIg 提取码: yyds 1.打开下好的 dmg 文件 (这个界面不要关闭) 2.将Navicat Premium 拖动至 Applications 这时出现 点击取消。 3.点开…

小创新模型!6种2024算法优化BiTCN-SVM单变量输入单步预测,MATLAB机器学习预测全家桶再更新...

截止到本期MATLAB机器学习预测全家桶,一共发了26篇关于机器学习预测代码的文章。算上这一篇,一共27篇!参考文章如下: 1.五花八门的机器学习预测?一篇搞定不行吗? 2.机器学习预测全家桶,多步预测…

3_CSS3 渐变 --[CSS3 进阶之路]

CSS3 引入了渐变(gradients),它允许在两个或多个指定的颜色之间显示平滑的过渡。CSS3 支持两种类型的渐变: 线性渐变(Linear Gradients):颜色沿着一条线性路径变化,可以是水平、垂直…

25/1/13 嵌入式笔记 继续学习Esp32

PWM(Pulse Width Modulation,脉宽调制) 是一种通过快速切换高低电平来模拟中间电压值的技术。它广泛应用于控制 LED 亮度、电机速度、音频生成等场景。 analogWrite函数:用于在微控制器(如 Arduino)上生成模拟信号。 …

【端云一体化】云函数的使用

前言 为丰富HarmonyOS对云端开发的支持、实现端云联动,DevEco Studio以Cloud Foundation Kit(云开发服务)为底座、在传统的“端开发”基础上新增“云开发”能力,开发者在创建工程时选择合适的云开发工程模板,即可在De…

行业案例:高德服务单元化方案和架构实践

目录 为什么要做单元化 高德单元化的特点 高德单元化实践 服务单元化架构 就近接入实现方案 路由表设计 路由计算 服务端数据驱动的单元化场景 总结 系列阅读 为什么要做单元化 单机房资源瓶颈 随着业务体量和服务用户群体的增长,单机房或同城双机房无法支持服…

基于单片机的语音控制玩具汽车的设计

语音控制小汽车选用了两个单片机、一个语音识别芯片、两个无线收发模块、一个电机驱动模块、两个电机、一个音频解码模块。语音控制端选用了一个语音识别芯片,实现了将声音信号转换成数字信号,再将数据传输给单片机的功能。小车端选用了单片机来控制电机…

解锁“搭子小程序”开发新机遇,助力企业数字化转型

搭子作为一种新型的社交方式,逐渐进入到了年轻人的生活中,在日常旅游、学习、逛街等,年轻人都可以找到志同道合的“搭子”,提高生活的幸福指数。 随着搭子市场的发展,通过互联网寻找搭子已经成为了年轻人的必备方式。…

Spring Boot 2 学习全攻略

Spring Boot 2 学习资料 Spring Boot 2 学习资料 Spring Boot 2 学习资料 在当今快速发展的 Java 后端开发领域,Spring Boot 2 已然成为一股不可忽视的强大力量。它简化了 Spring 应用的初始搭建以及开发过程,让开发者能够更加专注于业务逻辑的实现&am…

31_搭建Redis分片集群

Redis的主从复制模式和哨兵模式可以解决高可用、高并发读的问题。但是依然有两个问题没有解决:海量数据存储问题、高并发写的问题。由于数据量过大,单个master复制集难以承担,因此需要对多个复制集进行集群,形成水平扩展每个复制集只负责存储整个数据集的一部分,这就是Red…

IMX6U Qt 开发环境

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一、交叉编译 1. 安装通用 ARM 交叉编译工具链 2. 安装 Poky 交叉编译工具链 二、编译出厂源码 1. U-boot 2. 内核和模块 3. 编译出厂 Qt GUI 综合 Demo 前言…

数据结构与算法之链表: LeetCode 92. 反转链表 II (Ts版)

反转链表 II https://leetcode.cn/problems/reverse-linked-list-ii/description/ 描述 给你单链表的头指针 head 和两个整数 left 和 right &#xff0c;其中 left < right请你反转从位置 left 到位置 right 的链表节点&#xff0c;返回 反转后的链表 示例 1 输入&…

【Uniapp-Vue3】@import导入css样式及scss变量用法与static目录

一、import导入css样式 在项目文件中创建一个common文件夹&#xff0c;下面创建一个css文件夹&#xff0c;里面放上style.css文件&#xff0c;编写的是公共样式&#xff0c;我们现在要在App.vue中引入该样式。 在App.vue中引入该样式&#xff0c;这样就会使样式全局生效&#…

MySQL中的四种表联结

目录 1、联结、关系表 &#xff08;1&#xff09;关系表 &#xff08;2&#xff09;为什么使用联结 2、如何创建联结 &#xff08;1&#xff09;笛卡尔积&#xff08;叉联结&#xff09;--用逗号分隔 &#xff08;2&#xff09;where子句的重要性 &#xff08;3&#xff…

DVWA靶场CSRF漏洞通关教程及源码审计

目录标题 CSRFlow源码审计 medium源码审计 high源码审计 impossible源码审计 CSRF low 先修改密码 看到地址栏 复制在另一个网页打开 成功登录 源码审计 没有任何过滤措施&#xff0c;很危险&#xff0c;并且采用了不安全的md5加密 <?phpif( isset( $_GET[ Change ] )…

JVM之垃圾回收器G1概述的详细解析

G1(并发) G1 特点 G1&#xff08;Garbage-First&#xff09;是一款面向服务端应用的垃圾收集器&#xff0c;应用于新生代和老年代、采用标记-整理算法、软实时、低延迟、可设定目标&#xff08;最大 STW 停顿时间&#xff09;的垃圾回收器&#xff0c;用于代替 CMS&#xff0…