跳转至

我的博客

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。

Requests下载媒体文件

import requests

def download_mp3(url: str, filename: str):
    try:
        response = requests.get(url, stream=True)
        response.raise_for_status()  # 如果响应失败会抛出异常

        with open(filename, "wb") as f:
            for chunk in response.iter_content(chunk_size=8192):
                if chunk:
                    f.write(chunk)

        print(f"下载完成:{filename}")

    except requests.exceptions.RequestException as e:
        print(f"下载失败:{e}")

# 示例调用
download_mp3("https://example.com/audio.mp3", "output.mp3")