分类目录归档:Python

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 处理 SettingWithCopyWarning 问题

Pandas 中的操作有时会返回数据的视图(View),有时会返回数据的副本(Copy)

在视图上的修改会影响原始数据,而在副本上的修改不会影响原始数据。因此在链式赋值等场景下,pandas可能报出SettingWithCopyWarning的警告,这类警告通常意味着程序并不知道赋值过程是否成功,因此是值得重视的

SettingWithCopyWarning的解决方案:

  1. 更改原始数据时,使用单一赋值操作(loc)
data.loc[data.bidder =

Read more

Pandas模块替代品分析

1 背景知识

本文内容主要摘自: 《Is something better than pandas when the dataset fits the memory?》
代码地址

性能对比主要围绕5个操作展开:

  1. 读取700M CSV文件:load_transactions
  2. 读取30M CSV文件:load_identity
  3. 基于某列(string格式)进行merge操作:merge
  4. 分别对六列数据进行聚合操作(s

Read more

tsfresh概述

1 基本介绍

tsfresh是专门用于时序类数据的特征工程构建工具

tsfresh 主要特点:

  1. 并行化高效自动构建特征
  2. 兼容Python常见的数据格式(pandas或scikit-learn)

tsfresh 局限性:

  1. 不适合流数据处理,更适合离线数据
  2. 不包含模型训练的功能(尽量兼容scikit-learn,不重复造轮子)
  3. 仅考虑时序的顺序性,对时间间隔差异较大

Read more

Python 优质模块汇总

Read more

模块导入耗时分析

1 分析工具tuna(疑似远程环境不可用)

轻量级Python文件性能查看器

项目地址

安装:pip install tuna

用法1:运行性能分析

python -mcProfile -o program.prof yourfile.py

tuna program.prof

用法2:模块导入性能

python -X importtime yourfile.py 2> import.log

#简写方法

python3 -X importtime -c "import

Read more