跳转至

我的博客

机器学习文章

封装 Vue Flow 组件

目前 NiceGUI 虽然使用的是 Vue3,但是其底层使用的是 VBind 组件来生成前端控件,由于 VBind 组件是 Vue2。

Impala 常用 SQL

1. 统计信息

查看表占用空间
SHOW TABLE STATS <YOUR_TABLE>;

2. 日期转换

获取当前月最后1天日期
SELECT LAST_DAY(NOW())

3. 添加列/多列

添加列
-- 添加单列
ALTER TABLE <YOUR_TABLE> ADD COLUMN new_column INT
;

-- 添加多列
ALTER TABLE <YOUR_TABLE> ADD COLUMNS (new_column1 INT, new_column2 INT)

Impala截取中文乱码

1
2
3
SELECT 
  SUBSTR('我的中国心', 1, 2) AS text1,
  LEFT('我的中国心', 2) AS text2

在 Impala 中使用 SUBSTRLEFT 函数截取中文字符串,结果会乱码。但这种表达式在 Hive 中运行结果则是正常的,主要原因是 Impala 中一个中文字符串实际占用 3 个长度,需要自己手动调整截取长度。

提升树模型

  •   多种提升树模型集成预测


    预测 California 的房价,分别训练 LGBM、XGB、CatBoost 与 NGB 4 个模型,对多个预测值取平均,使用 MSE、RMSE、MAE 以及 R2 评估模型效果。


    通过对 4 个模型的预测值取平均的方式,在评估指标上略优于 LGBM 和 XGB 的集成预测效果

  •   LightGBM 和 XGBoost 集成预测


    预测城市循环燃油消耗 (1),使用 KNN 算法填充特缺失值,对特征和标签都进行了归一化(最大最小缩放),分别训练 LGBM 和 XGB 模型,对两个模型的预测值取平均,使用 MSE、RMSE、MAE 以及 R2 评估模型效果。

  1. 每加仑英里数 (Miles Per Gallon, MPG)

​评分模型切分时的样本选择问题

学习使用,请参阅原文

最近工作中碰到的一个实际问题,在进行模型迭代的时候,为了保证对线上影响尽可能小,我们一般会开一个灰度,同分布去切阈值,然后再对比迭代后的效果。这里的同分布切阈值,应该是基于什么样本上去同分布切呢?

多数情况下,会基于 申请样本 进行同分布切阈值,那什么情况下会在 申请通过 样本上或者 放款 样本上切阈值?本文结合结合自己的一些思考和实践,浅谈关于模型切分时样本选择的一些注意点。

Python任务调度

  •   Huey — 轻量级的任务调度工具


    Huey 是使用 Python 编写的任务队列工具库,支持 Redis、SQLite、文件系统以及内存上对任务的 持久化,并且可以设置定任务的执行 优先级 以及 过期时间。此外,它不仅支持 定时延时 的调度方式,还提供了 管道和链式 调用的功能。在任务失败的情况,也可以设置任务的重试次数与间隔。可以说它就是一个小型的 Airflow。