分类目录归档:Python

Streamlit 官方文档

1 基本介绍

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

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

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

快速上手:Streamlit 快速上手

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

常用技巧:

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

Read more

Streamlit 快速上手

Read more

ART-对抗性鲁棒性工具集

1 基本介绍

对抗性鲁棒性工具集(Adversarial Robustness Toolbox,ART)是用于机器学习安全性的Python库

  • 从逃逸,数据污染,模型提取和推断的对抗性威胁等方面捍卫和评估模型
  • 适用广泛,支持所有常见的数据类型、机器学习任务、机器学习框架

本项目由IBM团队在2019年开源。项目文档不是特别完善,但是示例丰富,API设计

Read more

Optuna-超参优化

1 基本介绍

Optuna 是一个为机器学习设计的自动超参数优化软件框架

  • 轻量级、多功能和跨平台架构;依赖少,安装简单
  • Python式搜索空间(条件语句和循环均为Python语法)
  • 高效的优化算法;先进的超参采样方法,支持剪枝算法
  • 易用的并行优化;少量改动代码即可实现多服务器并行
  • 便捷的可视化;支持各种绘图函数展示优化历史记录

项目地址
官方文档
中文文档 :不推荐,因为很久没更新了(230331)

截至230331,Op

Read more

hyperopt-超参优化

1 基本介绍

hyperopt通过在超参空间内快速搜索,寻找最优的模型超参

  • 目前已实现搜索算法:随机搜索、TPE和自适应TPE
  • 低代码,易上手;支持分布式运算

项目地址
中文文档

注意:虽然该项目有6.6k个⭐,但已经有一年半未更新

截至撰写本文的230315,此项目的上次更新日期是211129

补充说明:对tpe算法原理感兴趣的读者可参阅论文阅读-TPE算法

2 简单上手

  1. 最简单的官方示例:
# 定义目标函数
def objective(args): # objective = c1+c2^2
    

Read more

PyCaret-低代码机器学习

1 基本介绍

PyCaret是一个开源的、低代码的Python机器学习库,可以实现机器学习工作流程的自动化。作为一个端到端的机器学习和模型管理工具,PyCaret可以成倍地缩短实验周期,实现更有效率的科研探索。

  • 以包装器的形式大幅度缩减代码量(用几行代码实现数百行代码的功能)
  • 主要围绕 scikit-learn、XGBoost、LightGBM、CatBoost、Optuna、Hyperopt、Ray等框架
  • 支持初级和中等难度的数据分析与建模工作,适合作为前期探索工具
  • 主要支持以下几种算法场景:聚类,异常检测,关联规则,分类&回归,时序分析

Read more

TableOne-统计检验一体化

1 基本介绍

TableOne是一个很简单实用的小工具,能对数据进行基本统计展示

基本特性:

  • 给出指定列的缺失情况和基本信息(均值方差)
  • 基于pandas的DataFrame结构存储结果,方便格式转换
  • 可灵活制定统计检验与对比分析策略
  • 参数丰富,支持简单的数据预处理与输出格式限制

使用注意事项:

  • 默认会将列转换为数值型,类别型变量可通过参数categorical显式指定
  • 支持第三方的统计检验方法,但需要人为规范输出格式
  • 检验差异性时会根据数据特性自动调整检验方法(正态数值变量使用t检验;非正态数值型变量使用卡方检验;非数值型变量使用秩和检验)

Read more

数据存储方式对比

1 常见存储格式说明

1.1 表格形式

得益于强大的pandas模块,与数据框的结构更贴近的表格文件是Python中最流行的数据文件存储格式之一。对应的存储文件一般后缀为.CSV或.XLSX

  • CSV(Comma Separated Values)是一种以逗号作为分隔的纯文本格式文件
  • CSV格式的好处在于易读性,但在处理大规模数据时会比较慢,压缩效率也会差一些
  • XLSX或XLS的文件相比于CSV格式更

Read more

SHAP快速入门

1 SHAP概述

SHAP (SHapley Additive explanation)是一种解释任何机器学习模型输出的博弈论方法

SHAP库的特性:

  • 支持任意机器学习的可解释输出与可视化展示
  • 针对集成树和神经网络类模型进行特定优化与加速
  • 能解释每一个样本的每一

Read more

pandas进阶技巧

1 常见 Pandas 参数配置

pd.set_option('display.max_rows', 5) # 最大显示行数

pd.set_option('display.max_columns', 15) # 最大显示列数

pd.set_option('display.max_colwidth'

Read more