分类目录归档:学习

Streamlit-Extras 第三方组件

steamlit-extras是一个 Python 库,汇集了很多有用的 Streamlit 代码

官方文档

功能概述(部分):

  • add_vertical_space:增加空白行,常用于调整布局
  • altex:快速制作 Streamlit 图表,API 简单实用
  • annotated_text:文本显示格式优化(高亮、注释、文本框)
  • app_logo:在目录左上角显示指定的 LOGO
  • badge:创建自定义徽章(比如 PyPI, GitHub, Twitter, Buy Me a Coffee)
  • colored_header:标题美化,显示带有彩色下划线/添加标题说明
  • center_runn

Read more

SWE-BENCH:2294 个 GitHub 真实问题

随着 AI 模型的能力提升,人类需要一些更有趣的测试集来刁难他们~

GAIA:466个精心设计的问题和答案

SWE-BENCH:2294 个 GitHub 真实问题

项目地址

SWE-bench 是一个在现实软件工程(GitHub)环境中评估 LMs 的基准

  • 模型的任务是解决提交到流行 GitHub 项目的问题(通常是错误报告或功能请求)
  • 每个任务的解决方案都会生成一个 PR,描述要应用于现有代码库的更改
  • 最后,使用当前 GitHub 项目的测试框架评估修改后的代码

SWE-ben

Read more

GAIA:466个精心设计的问题和答案

GAIA 基准测试保留了 300 个问题用来构建 AI 模型的排名

  • GAIA 设计的问题对人类来说简直轻而易举,而对大多数 A 来说却很有挑战性
  • 即,人类回答准确率为 92%,而用上插件的 GPT-4 回答准确率仅为 15%
  • GAIA 设计的问题需要 AI 模型具备推理、多模态处理或工具使用熟练程度等基本能力

GAIA 的设计原则(原始论文):

  1. 概念上简单但多样化(对人类来说比较乏味,考验 AI 的快速适应力)
  2. 可解释性;让用户很容易理解模型的推理轨迹
  3. 对记忆的鲁棒性;计划并成功地完成一些步骤
  4. 易用性;问题的答案是简洁和明确的事实

GAIA 的问题示例:

  • 一级问题:最多只需要一

Read more

向量数据库

1 向量数据库概述

“向量数据”:向量数据是由多个数值组成的序列,可以表示数据的大小和方向

向量数据库是一种专门用于存储和查询向量数据的数据库系统,

  • 与传统数据库相比,向量数据库使用向量化计算,能够高速地处理大规模的复杂数据
  • 可以处理高维数据,例如图像、音频和视频等,解决传统关系型数据库中的痛点
  • 支持复杂的查询操作,也可以轻松地扩展到多个节点,以处理更大规模的数据

Read more

Python 常用技巧

1 清理 PIP 缓存

# Credits: https://linuxhandbook.com/clear-pip-cache/
pip cache info # 查看缓存信息
pip cache list # 查找各个包的缓存
pip cache dir # 查找缓存所在的目录
pip cache remove [package_name] # 从缓存中删除特定包
pip cache remove *

Read more

Streamlit 官方文档

1 基本介绍

Streamlit 是一个 Python 库,能够用于使用 Python 创建可交互的、数据驱动的网页应用

pip install streamlit # 安装
streamlit hello # 测试安装是否成功

启动命令:streamlit run your_script.py [-- script args]

快速上手:Streamlit 快速上手

官方文档 - 完整API参考 官方文档 - 常见故障排查

常用技巧:

  • 点击页面右上角配置”始终重新运行“,这样代码修改后页面会自动更新
  • 针对计算量大的函数可添

Read more

Streamlit 快速上手

Read more

线性判别分析 LDA

LDA 算法是一种监督学习的降维技术

  • LDA 算法将高维空间中的d维数据通过投影转化成1维数据进行处理
  • 对于训练数据,LDA 算法会让同类数据的投影点尽可能接近,异类数据尽可能远离
  • 对于新数据分类,LDA 算法会先进行数据投影,再根据投影点位置来确定样本的类别

  • 左图思路:让不同类别的平均点距离最远的投影方式
  • 右图思路:让同类别的数据距离最近的投影方式

LDA算法降维流程如下:

​ 输入:数据集 $D = { (x_1,y_1),(x_2,y_2), ... ,(x_m,y_m) }$,其中样本 $x_i$ 是n维向量,$y_i \in {C_1, C_2, ..., C_k}$

Read more

调参与训练

1 传统机器学习

1.1 XGBoost

最常用的10个超参数(原生API,兼容Scikit-learn的API,常见取值范围):

  • num_boost_round:训练期间所需要的基学习器数量,默认100;在应对较大数据集时,一般控制在5000~10000左右(影响训练时间的重要因素);一个常用技巧是先设定一个较高的数值,然后结合early-stopping来获得一个较优的模

Read more

DBSCAN密度聚类

1 DBSCAN算法概况

DBSCAN(Density-Based Spatial Clustering of Applications with Noise,基于密度的、对噪声鲁棒的空间聚类方法)是一种基于密度的经典聚类算法

2 DBSCAN算法细节

  1. 遍历所有样本,寻找关键的核心点(邻域内样本数>=MinPoints)
  2. 核心点及其邻域内的样本(包括其他核心点)形成了临时聚类簇
  3. 当核心点A属于核心点B的临时聚类簇时,合并两处临时聚类簇
  4. 重复以上过程,直至找不到新的可合并临时聚类簇

Read more