更新日志

版本 2025.1.0

  • 兼容 dask>=2025.1.0 (GH#1008)

  • 兼容 scikit-learn>=1.6.1 (GH#1008)

版本 2024.4.1

版本 2023.3.24

  • 兼容 Python 3.10

  • 停止支持 Python 3.7

  • 兼容 scikit-learn 1.2.0 及更高版本

版本 2022.5.27

  • 兼容 scikit-learn 1.1 及更高版本 (GH#910)

版本 2021.11.30

  • 修复当基础估计器返回 scipy.sparse 矩阵时,包装器元类型推断中的回归问题 (GH#889)

版本 2021.11.16

  • wrappers.ParallelPostFit 等元估计器现在兼容 cuDF 和 CuPy 对象。 (GH#862)

  • 修复 wrappers.ParallelPostFit 中与新 Dask 优化不兼容的问题 (GH#878)

版本 2021.10.17

  • 添加了对 scikit-learn 1.0.0 的支持。scikit-learn 1.0.0 现在是最低支持版本。

版本 1.9.0

  • LogisticRegression.predict_proba 现在对于二分类正确返回 (n, 2) 数组 (GH#760)

  • 修复多输出行为与 scikit-learn 不一致的问题 (GH#820)

  • 为回归指标添加 MAPE (GH#822)

  • 兼容 NumPy 1.20 (GH#784)

版本 1.8.0

  • 兼容 scikit-learn 0.24

版本 1.7.0

版本 1.6.0

版本 1.5.0

版本 1.4.0

版本 1.3.0

版本 1.2.0

  • 更改了 model_selection.IncrementalSearchCV 中第二个位置参数的名称,从 param_distribution 改为 parameters,以匹配基类的名称。

  • 兼容 scikit-learn 0.22.1。

  • 新增 dask_ml.preprocessing.BlockTransfomer,它是 scikit-learn 的 FunctionTransformer 的扩展 (GH#366)。

  • 新增 dask_ml.feature_extraction.FeatureHasher,它类似于 scikit-learn 的实现。

版本 1.1.1

  • 修复 1.1.0 wheel 的一个问题 (GH#575)

  • 即使数组是只读的,也使 svd_flip 工作 (GH#592)

版本 1.1.0

版本 1.0.0

版本 0.13.0

注意

dask-ml 0.13.0 将是最后一个支持 Python 2 的版本。

版本 0.12.0

API 破坏性变更

版本 0.11.0

请注意,此版本的 Dask-ML 需要 scikit-learn >= 0.20.0。

增强功能

  • 新增 dask_ml.model_selection.IncrementalSearchCV,一个用于大于内存数据集的超参数优化元估计器 (GH#356)。详见 增量超参数优化

  • 新增 dask_ml.preprocessing.PolynomialTransformer,scikit-learn 版本的直接替换品 (GH#347)。

  • dask_ml.model_selection.ParallelPostFit 中特征维度有多个块的 Dask 数组添加自动重分块功能 (GH#376)

  • dask_ml.cluster.KMeans 添加对 Dask DataFrame 输入的支持 (GH#390)

  • dask_ml.wrappers.ParallelPostFit.score() 添加 compute 关键字,以支持延迟评估模型的得分 (GH#402)

错误修复

版本 0.10.0

版本 0.9.0

错误修复

文档更新

构建变更

我们现在在 Dask-ML 对性能敏感的部分使用 Numba。Dask-ML 现在是一个纯 Python 项目,因此我们可以提供通用 wheels。

版本 0.8.0

增强功能

  • 在 Incremental 中自动用 Dask 感知版本替换默认的 scikit-learn 评分器 (GH#200)

  • 新增 dask_ml.metrics.log_loss() 损失函数和 neg_log_loss 评分器 (GH#318)

  • 修复了 GridSearchCV 和 BaseSearchCV 中处理类数组 fit 参数的问题 (GH#320)

错误修复

  • 修复 LabelEncoder.fit_transform() 的 dtype,使其成为整数而不是 Dask 数组类别的 dtype (GH#311)

版本 0.7.0

增强功能

API 破坏性变更

  • 移除 dask_ml.cluster.SpectralClustering 中的 basis_inds_ 属性,因为它不再使用 (GH#152)

  • dask_ml.wrappers.Incremental.fit() 修改为在训练前克隆底层估计器 (GH#258)。这带来了一些改变

    1. 底层估计器不再能访问诸如 coef_ 之类的学习属性。我们建议使用 Incremental.coef_

    2. 连续的 fit 调用之间不再发生状态泄露。请注意,如果您希望重用状态(例如学习属性或随机种子),仍然可以使用 Incremental.partial_fit()。如果您对训练数据进行多次传递,这很有用。

  • dask_ml.wrappers.Incrementalget_paramsset_params 修改为不再“神奇地”获取/设置底层估计器的参数 (GH#258)。要指定底层估计器的参数,请使用 scikit-learn 建立的双下划线前缀约定

    inc.set_params('estimator__alpha': 10)
    

重组

Dask-SearchCV 现在在 dask/dask-ml 仓库中开发。先前安装 dask-searchcv 的用户现在只需安装 dask-ml

错误修复

  • 修复 32 位平台上的随机种子生成问题 (GH#230)

版本 0.6.0

API 破坏性变更

增强功能

版本 0.5.0

API 破坏性变更

错误修复

  • dask_ml.preprocessing.StandardScalar 现在兼容 DataFrame 输入 (GH#157)。

版本 0.4.1

此版本新增了几个估计器。

增强功能

新增 dask_ml.preprocessing.RobustScaler

使用对异常值稳健的统计数据对特征进行缩放。这与 sklearn.preprocessing.RobustScalar 相仿 (GH#62)。

新增 dask_ml.preprocessing.OrdinalEncoder

将分类特征编码为有序特征 (GH#119)。

新增 dask_ml.wrappers.ParallelPostFit

一个元估计器,用于使用任何 scikit-learn 估计器进行拟合,但在 Dask 数组上进行并行后处理(predicttransform 等)。详见 并行元估计器 (GH#132)。

版本 0.4.0

API 变更

  • 更改了 dask_glm.linear_model 中基于 dask-glm 的估计器的参数,以匹配 scikit-learn 的 API (GH#94)。

    • 要指定 lambuh,请使用 C = 1.0 / lambduh(默认值 1.0 不变)

    • 已移除 rhoover_relaxabstolreltol 参数。请改在 solver_kwargs 中提供它们。

    这会影响 LinearRegressionLogisticRegressionPoissonRegression 估计器。

增强功能

  • 接受基于 dask-glm 的估计器的 dask.dataframe (GH#84)。

版本 0.3.2

增强功能

  • 新增 dask_ml.preprocessing.TruncatedSVD()dask_ml.preprocessing.PCA() (GH#78)

版本 0.3.0

增强功能

  • 新增 KMeans.predict() (GH#83)

API 变更

  • 更改了 MinMaxScalerStandardScaler 上的拟合属性,使其成为具体的 NumPy 或 pandas 对象,而不是持久化的 Dask 对象 (GH#75)。