更改日志#
格式基于 Keep a Changelog,我们遵循 Semantic Versioning。
所有 版本 的源代码都可在 GitHub 上获取。
有关我们的长期计划,请参阅我们的路线图。
版本 0.37.0 - 2025-04-12#
维护版本,包含计划的弃用和更改操作。
有关上次非维护内容更新,请参阅 0.36.1。
依赖项更改#
keras-self-attention
(深度学习软依赖)不再是软依赖。该包已被放弃,现在已内置到sktime
中。
核心接口更改#
现在可以直接使用 scikit-learn
估计器构建预测和转换管道,无需再用 TabularToSeriesAdaptor
进行包装。
行为与以前相同,但 TabularToSeriesAdaptor
现在是可选的。
弃用和移除#
预测#
已弃用:
handles-missing-data
标签已弃用并重命名为capability:missing_values
,以便与其他估计器类型保持一致。旧的标签名handles-missing-data
可以使用到 1.0.0 版本,届时将被移除,但会触发弃用警告。已移除:已弃用的
HierarchyEnsembleForecaster.fitted_list
参数已移除。用户应改用get_fitted_params
或forecasters_
。
时间序列异常、变点、分割#
已移除:已弃用的
annotation
模块已移除。用户应将从sktime.annotation
导入改为从sktime.detection
导入。已移除:检测器方法中已弃用的
Y
参数已移除。用户应改用y
参数。
改进#
BaseObject 和基础框架#
数据类型、检查、转换#
预测#
变换#
维护#
修复#
贡献者#
版本 0.36.1 - 2025-04-04#
亮点#
TimeMoE
预测器 (#7869) @PranavBhatP在
ChronosForecaster
中支持chronos-bolt
(#7718) @PranavBhatP来自
statsforecast
的ADIDA
间歇性预测器 (#7754) @vedantag17
依赖项更改#
tensorflow
(深度学习软依赖)的边界已更新为<2.20
dask
(数据容器和并行化后端软依赖)的边界已更新为<2025.2.1,>2024.8.2
ray
现在是一个软依赖(并行化后端)
核心接口更改#
- 所有原生并行化位置现在都接受
"ray"
作为并行化后端,例如 预测参数调优,或通过
set_config
进行分层并行化
- 所有原生并行化位置现在都接受
ForecastingBenchmark
已重做接受
sktime
内存数据格式和数据集加载器为基准测试输出提供不同的处理程序,包括
json
、csv
和parquet
。支持全局预测器
改进#
BaseObject 和基础框架#
基准测试、度量、拆分器#
[改进] 添加
cINNForecaster
的CurveFitForecaster
的错误处理 (#7602) @Utkarsh-Aggarwal[改进] 扩展基准测试以接受 sktime 内存数据格式 (#5055) @hazrulakmal
[改进] 确保预测度量返回
np.float64
类型 (#8099) @amitsubhashchejara
数据集和数据加载器#
[改进] 数据集的加载器函数返回具有数值
dtype
的y
(#7588) @vedantag17
预测#
[改进] 来自
statsforecast
的ADIDA
间歇性预测器 (#7754) @vedantag17[改进] 在
GroupByCategoryForecaster
和文档字符串中添加聚类器用法 (#7782) @fkiraly[改进] 在
ChronosForecaster
中实现对chronos-bolt
的支持 (#7718) @PranavBhatP[改进] 提高
DirectReductionForecaster
和RecursiveReductionForecaster
的方法测试覆盖率 (#7770) @PranavBhatP[改进] 添加
TinyTimeMixerForecaster
的fit_strategy
(#7648) @Sohaib-Ahmed21[改进] 使 HF Transformers Forecaster 能够以对象形式传递模型 (#7689) @Spinachboul
[改进] ES-RNN 预测器 (#7772) @Ankit-1204
[改进]
TimeMoE
预测器(内置) (#7869) @PranavBhatP
参数估计#
注册表和搜索#
测试框架#
[改进] 测试用例以确保如果未更新
EXCLUDED_TESTS_BY_TEST
则抛出AssertionError
(#7622) @satvshr[改进] 修复
HFTransformersForecaster
的test_excluded_tests_by_test
(#7882) @fkiraly[改进] 改进
test_excluded_tests_by_test
中的条件和错误消息 (#7904) @fkiraly[改进] 如果
raise_exceptions=True
,则check_estimator
会详细输出通过和失败的测试 (#8047) @fkiraly[改进] 在
TestAllEstimators
中处理BaseForecaster.predict_proba
的skpro
依赖项 (#8023) @fkiraly[改进] 放宽 Panel-To-Panel 变换以允许更改实例数量 (#7991) @felipeangelimvieira
[改进] 捕获
test_fit_idempotent
predict_proba
软依赖错误 (#8076) @fkiraly
时间序列异常、变点、分割#
[改进] 基于 QuoVadisTAD 的时间序列 AUPRC 异常检测度量 (#7729) @Ankit-1024
变换#
[改进]
MiniRocket
的参数集 (#7814) @Bergschaf[改进] 通过变换器
SeasonalDummies
添加季节虚拟变量特征(用于季节性分类变量的独热编码) (#7915) @ericjb[改进] 使用
RBFLayer
在RBFTransformer
中进行变换,并将RBFLayer
和RBFNetwork
移动到networks
(#7730) @phoeenniixx
文档#
[文档] 修复新贡献者说明中开发者指南的链接 (#7842) @fkiraly, @yarnabrina
[文档] 更新 enbpi 文档字符串 (#7835) @Spinachboul
[文档] 创建检测性能度量的模板 (#7740) @Ankit-1204
[文档]
FCNClassifier
- 添加 Wang 等人参考文献 (#7884) @itsbharatj[文档] 向
HierarchicalDask
类添加了文档字符串 (#7684) @TomatoChocolate12[文档] 澄清
utils.parallel.parallelize
中函数fun
的假设 (#7823) @fkiraly[文档] 添加了
AlignerNaive
和AlignerLuckyDtw
的示例 (#7795) @haroon0x[文档] 在
Reconciler
文档中添加了明确的引用到ReconcilerForecaster
(#8045) @fkiraly
维护#
[维护] 从
EXCLUDED_TESTS_BY_TEST
列表中移除MiniRocket
以修复 CI 失败 (#7860) @satvshr[维护] 向模板添加 LLM 提示 (#7851) @felipeangelimvieira
[维护] 避免跳过几个预测器的单元测试 (#7826) @yarnabrina
[维护] 暂时跳过
pytorch-forecasting
测试,直到解决 #7997 (#7998) @fkiraly[维护] 更新 pre-commit 钩子并在所有文件上运行所有钩子 (#7996) @yarnabrina
[维护] 对于
TSFreshFeatureExtractor
,移除scipy
的上限,设置tsfresh
的下限 (#7847) @benHeid[维护] 更新
pyproject.toml
以在 python 3.12 之前安装 tensorflow (#7865) @Reckadon[维护] 从
EXCLUDED_TESTS_BY_TEST
列表中移除MiniRocket
以修复 CI 失败 (#7860) @satvshr[维护] 暂时跳过
pytorch-forecasting
测试,直到解决 #7997 (#7998) @fkiraly[维护] 从单元测试中暂时移除
RecursiveReductionForecaster
(#8081) @felipeangelimvieira[维护] 在
test_multiprocessing_idempotent
中跳过早期分类器TEASER
(#8085) @fkiraly[维护] 暂时跳过
test_transformation_can_return_new_instances
直到解决 #8084 (#8086) @fkiraly[维护] 从 test_check_estimator 中移除调试行 (#8104) @felipeangelimvieira
[维护] [Dependabot](deps): 将
sphinx-gallery
要求从<0.19.0
更新到<0.20.0
(#7819) @dependabot[bot][维护] [Dependabot](deps): 将
dask
要求从<2024.8.1
更新到<2025.2.1
(#7857) @dependabot[bot]
修复#
BaseObject 和基础框架#
数据集和数据加载器#
数据类型、检查、转换#
预测#
[Bug] 修复
EnsembleForecaster
的 (str, forecaster, count) 参数化问题 (#7785) @fkiraly[Bug] 修复
statsmodels
适配器中用于pd.Series
的变量名问题 (#7832) @fkiraly[Bug] 当所有测试被触发时,
test_get_test_params_coverage
会抛出错误 (#7878) @satvshr[Bug] 修复
RecursiveReductionForecaster
导致test_hierarchical_with_exogeneous
失败的问题 (#7927) @felipeangelimvieira[Bug] 确保
statsforecast
适配器跟踪已训练的预测器 (#7983) @yarnabrina[Bug] 修复
HierarchyEnsembleForecaster
测试失败的问题 (#7992) @wilsbj[Bug] 修复
_HeterogenousEnsembleForecaster
参数检查问题 (#7984) @fkiraly[Bug] 修复
_HeterogenousMetaForecaster
对forecasters_
的处理问题 (#8020) @fkiraly[Bug] 在
HierarchicalProphet
中使用_DelegatedForecaster
,并为prophetverse
版本添加上限 (#7980) @felipeangelimvieira[Bug] 修复
fh.to_absolute
中的时间戳格式变化问题 (#7914, #8110) @XinyuWuu
参数估计#
测试框架#
[Bug] 修复由于
pytest
继承 bug 导致的TestAllForecasters
测试集合失败问题 (#7789) @yarnabrina[Bug] 修复
check_estimator
对TestAllGlobalForecasters
的集成问题 (#7800) @fkiraly, @sohaib-ahmed21[Bug] 在测试中,处理
BaseForecaster.predict_proba
对skpro
的软依赖 (#7981) @fkiraly[Bug] 测试工具
retrieve_scenarios
应该为预测器、聚类器和分类器选择场景 (#7971) @wilsbj[Bug] 捕获
test_fit_idempotent
predict_proba
软依赖错误 - 二次修复 (#8080) @fkiraly[Bug] 确保
test_doctest_examples
正确检查 doctests (#8065) @fkiraly
时间序列异常、变点、分割#
时间序列分类#
时间序列聚类#
时间序列回归#
转换#
[Bug]
sklearn 1.6.X
与TabularToSeriesAdaptor
的兼容性 - 在adapt.py
中通过requires_fit
处理stateless
标签 (#7845) @benHeid[Bug] 修复
SummaryTransformer
中_SuppressWarningPattern
和LossySetitemError
的无限递归问题 (#7903) @celestinoxp[Bug] 修复
Series
-to-Primitives
转换器对分层数据的输出索引问题 (#8037) @fkiraly[Bug] 在
ClustererAsTransformer
中处理分层 mtype (#8013) @felipeangelimvieira[Bug] 使
_TransformChangeNInstances
能够处理分层测试场景 (#8092) @felipeangelimvieira
内置库: vmdpy
#
[Bug] 修复 VMD 奇数长度数据返回偶数长度分解的问题 (#8094) @danferns, @LorchZachery
贡献者#
@amitsubhashchejara, @Ankit-1204, @benHeid, @Bergschaf, @celestinoxp, @danferns, @ericjb, @felipeangelimvieira, @fkiraly, @geetu040, @haroon0x, @hazrulakmal, @itsbharatj, @jgyasu, @LHoelper, @LorchZachery, @oseiskar, @phoeenniixx, @PranavBhatP, @Reckadon, @satvshr, @Sohaib-Ahmed21, @Spinachboul, @tapyu, @TomatoChocolate12, @Utkarsh-Aggarwal, @vedantag17, @wilsbj, @XinyuWuu, @yarnabrina
版本 0.36.0 - 2025-02-03#
维护版本,包含预定的版本边界更新。
上次非维护内容更新,请参阅 0.35.1。
依赖项变更#
numpy
(核心依赖项)的边界已更新至<2.3.0
scikit-learn
(核心依赖项)的边界已更新至<1.7.0
内容#
[维护] [Dependabot](deps): 将
numpy
要求从<2.2,>=1.21
更新到>=1.21,<2.
(#7675, #7747) @dependabot[bot][Bug] 修复
BaseDatatype.__call__
分派到私有方法而非公共方法的问题 (#7748) @fkiraly
版本 0.35.1 - 2025-02-02#
亮点#
预测指标的
__call__
可以通过传递by_index
参数来返回按索引计算的指标evaluate_by_index
(#7608) @benHeidMAPA 预测器 (#7620) @phoeenniixx
skforecast.recursive.ForecasterRecursive
接口 (#7554) @yarnabrina原生归约器(第二代)现在支持任意填充策略 (#7535, #7646) @lenaklosik
新的检测指标:RAND Index,窗口化 F1 分数 (#7533, #7628) @gavinkatz001
数据集的标签和对象 API (#7398) @felipeangelimvieira
依赖项变更#
skpro
(概率分布软依赖)的范围已更新为>=2,<2.10.0
numba
(计算软依赖)的范围已更新为<0.62
optuna
(超参数优化软依赖)的范围已更新为<4.3
pykan
(预测软依赖)的范围已更新为>=0.2.1,<0.2.9
dask
(数据容器和并行化后端软依赖)的范围已更新为<2025.1.1
核心接口变更#
数据集和数据加载器#
针对数据集和数据加载器引入了统一的 API,
遵循 scikit-base
模式。所有数据加载器现在都提供了统一的 load
方法,以及用于检索的 keys
和 tags 等进一步统一的 API 入口点。更多详细信息请参阅 数据集 参考。
预测#
所有预测指标现在都可以通过
by_index=True
参数进行构建。
这将直接调用返回每个时间索引的指标。这等同于调用 evaluate_by_index
方法。by_index=False
是默认值,并像当前一样调度到指标的 evaluate
方法。
弃用和移除#
在 HierarchyEnsembleForecaster
中,fitted_list
属性已被弃用。要访问已拟合的估计器,用户应转而使用 get_fitted_params
方法或 forecasters_
属性。给定一个已拟合的实例 f
,对 f.fitted_list
的已弃用读取调用可以替换为 f.get_fitted_params()['forecasters']
或 f.forecasters_
。
改进#
BaseObject 和基础框架#
[ENH] 估计器的 HTML 显示 - 在
HeterogenousMetaEstimator
后代中通过_steps_attr
进行标签和一致处理 (#7233) @mateuszkasprowicz
基准测试、指标、拆分器#
[ENH] 将
InstanceSplitter
重构为一个实用工具apply_split
,用于将sklearn
拆分应用于时间序列集合 (#7330) @ksharma6[ENH] 为
MedianSquaredError
实现高效的_evaluate_by_index
方法 (#7615) @satvshr[ENH] 用于时间序列分割的 RAND Index 指标 (#7533) @gavinkatz001
[ENH] 预测
evaluate
: 新增return_model
参数以返回已拟合估计器的状态 (#7637) @marrov[ENH] 用于检测的窗口式 F1 分数 (#7628) @gavinkatz001
[ENH] 为 MdAPE 实现高效的
_evaluate_by_index
方法 (#7606) @HarshvirSandhu[ENH] 预测指标的
__call__
方法调度到evaluate
与evaluate_by_index
(#7608) @benHeid
数据集和数据加载器#
[ENH] Dataset 对象接口 (#7398) @felipeangelimvieira
数据类型、检查、转换#
预测#
[ENH] 弃用
HierarchyEnsembleForecaster
的fitted_list
属性和 (#7423) @sanskarmodi8[ENH] 重构预测指标测试准备 - object_type 标签
metric_forecasting
(#7516) @fkiraly[ENH] 添加
SplineTrendForecaster
(#7487, #7502) @Dehelaan, @jgyasu[ENH]
skforecast.recursive.ForecasterRecursive
的接口 (#7554) @yarnabrina[ENH]
RecursiveReductionForecaster
的预测器填充器 (#7535) @lenaklosik[ENH]
TinyTimeMixer
验证拆分效率修复 (#7647) @RHYTHM2405[ENH] MAPA 预测器 (#7620) @phoeenniixx
[ENH] 在
TimesFMForecaster
中默认设置context_len
和horizon_len
(#7597) @tanvincible
参数估计和假设检验#
注册表和搜索#
时间序列异常、变化点、分割#
[ENH] 通过聚类实现的基于窗口的时间序列分割 (#7612) @Ankit-1204
[ENH] 针对新检测接口修复
GreedyGaussianSegmentation
(#7472) @Spinachboul
时间序列分类#
[ENH] 为
RotationForest
添加sklearn
兼容性 (#7638) @PranavBhatP
时间序列聚类#
转换#
[ENH] 为
YtoX
转换器添加多个测试参数集 (#7469) @tanvincible[ENH] 使用
RBFTransformer
神经网络创建rbf_forecaster.py
(#7334) @phoeenniixx
测试框架#
文档#
[DOC] 将贡献者 Gavin Katz 添加到 .all-contributorsrc 文件中 (#7513) @gavinkatz001
[DOC] 在 InceptionTimeClassifier 的 docstring 中添加注释以修复 #7453 (#7508) @skinan
[DOC] 修复
transformation.rst
中的一些拼写错误 (#7520) @phoeenniixx[DOC] 为
AlignerDTW
和AlignerDTWfromDist
提供 docstring 使用示例 (#7381) @Adarsh2345[DOC]
SeriesXarray
mtype 的 API 参考文档 (#7494) @SABARNO-PRAMANICK[DOC] 在各种时间序列分类器中为 hfawaz 和 dl-4-tsc 添加适当的致谢 (#7518) @fkiraly
[DOC]
TablePdDataFrame
和TablePdSeries
mtypes 的 API 规范 docstrings (#7540) @VjayRam[DOC] mtype PanelGluontsList 的 API 参考 (#7539) @b9junkers
[DOC]
TableNp1D
mtype 的 API 参考 (#7553) @RUPESH-KUMAR01[DOC] 为 `/transformations/panel/catch22.py` 中的函数添加缺失的 docstring (#7527) @PranavBhatP
[DOC] 添加了 TableNp2d 和 TableListOfDict 类的 docstrings (#7563) @VjayRam
[DOC] 对
hf_transformers_forecaster
进行微小的格式改进 (#7659) @fkiraly[DOC] 更新 sameloc 拆分器的 docstring,包含适当的数学描述 (#7550) @keitaVigano
[DOC] 修复了与最近合并的 PR #7666 相关的
TablePolarsEager
渲染问题 (#7699) @fnhirwa[DOC] 改进了 grouped/clustering 预测器合成器的 docstring (#7709) @fkiraly
[DOC] 在教程中添加处理多元数据的新模式 (#7362) @PranavBhatP
[DOC] 修复文档示例代码中需要双括号切片 dataframe 的拼写错误。DeepAR (#7641) @gbilleyPeco
[DOC] 添加了
TablePolarsEager
的描述 (#7666) @RHYTHM2405[DOC] 修复 sktime 网站上指向 elections 仓库的无效链接 (#7631) @tanvincible
[DOC] 修复文档示例代码中需要双括号切片 dataframe 的拼写错误。 (#7639) @gbilleyPeco
维护#
[MNT] 将
statsforecast
升级到最新版本 (#7573) @yarnabrina[MNT] 修复:为
temporian
添加aarch64
安装限制 (#7692) @abhishek-iitmadras[MNT] [Dependabot](依赖):将
pykan
要求从<0.2.7,>=0.2.1
更新到>=0.2.1,<0.2.9
(#7396) @dependabot[bot][MNT] [Dependabot](依赖):将
dask
要求从<2024.8.1
更新到<2025.1.1
(#7481, #7545, #7658) @dependabot[bot][MNT] [Dependabot](依赖):将
skpro
要求从<2.9.0,>=2
更新到>=2,<2.10.0
(#7704) @dependabot[bot][MNT] [Dependabot](依赖):将
numba
要求从<0.61
更新到<0.62
(#7677) @dependabot[bot][MNT] [Dependabot](依赖):将
optuna
要求从<4.2
更新到<4.3
(#7676) @dependabot[bot]
修复#
BaseObject 和基础框架#
预测#
[BUG] 修复
_HeterogenousEnsembleForecaster
后代中get_fitted_params
对包装的估计器的访问 (#7522) @fkiraly[BUG] 修复在
RecursiveReductionForecaster
中使用Imputer
的问题 (#7706) @Salzemann
神经网络#
[BUG]
AttentionLSTM
- 移除活动正则化器 (#7582) @marcosfelt
注册表和搜索#
时间序列异常、变化点、分割#
[BUG] 确保所有
_fit
等方法都使用小写的y
(#7673) @KrishBakshi
时间序列分类#
[BUG] 在 shapelet 转换修复 #7499 后,修复
ShapeletTransformClassifier
的预期输出测试 (#7734) @fkiraly[BUG] 修复
MACNNClassifier
,MACNNRegressor
中的错误 (#7651) @KrishBakshi
转换#
贡献者#
@Abelarm, @abhishek-iitmadras, @Adarsh2345, @Alex-JG3, @Ankit-1204, @b9junkers, @benHeid, @cheachu, @Dehelaan, @felipeangelimvieira, @fkiraly, @fnhirwa, @gavinkatz001, @gbilleyPeco, @geetu040, @HarshvirSandhu, @jgyasu, @keitaVigano, @KrishBakshi, @ksharma6, @lenaklosik, @marcosfelt, @marrov, @mateuszkasprowicz, @phoeenniixx, @PranavBhatP, @RHYTHM2405, @RUPESH-KUMAR01, @SABARNO-PRAMANICK, @Salzemann, @sanskarmodi8, @satvshr, @seigpe, @skinan, @Spinachboul, @tanvincible, @VjayRam, @y-mx, @yarnabrina
版本 0.35.0 - 2024-12-09#
维护版本,包含计划的弃用和更改操作。
上一个非维护性内容更新请参阅 0.34.1。
依赖变更#
scikit-base
的范围已更新为>=0.6.1,<0.13.0
skpro
(概率分布软依赖)的范围已更新为>=2,<2.9.0
弃用和移除#
从
sktime 0.38.0
开始,预测器的predict_proba
将需要 Python 环境中存在skpro
,以便分布对象表示分布预测。自sktime 0.35.0
起,如果在环境中未安装skpro
,调用预测器的predict_proba
时会引发错误。使用预测器predict_proba
的用户应确保环境中已安装skpro
。概率分布模块
sktime.proba
已弃用,将在sktime 0.38.0
中被skpro
完全取代。在sktime 0.38.0
之前,从sktime.proba
的导入将继续工作,如果未安装skpro
,则默认为sktime.proba
,否则将导入重定向到skpro
对象。自sktime 0.35.0
起,如果在环境中未安装skpro
,则会引发错误,否则导入将被重定向到skpro
。`sktime.proba` 的直接或间接用户应确保环境中已安装 `skpro`。直接使用 `sktime.proba` 模块的用户,此外还应将其从 `sktime.proba` 的所有导入替换为从 `skpro.distributions` 的导入。在面向
neuralforecast
的估计器接口中,broadcasting
参数的默认值已一致更改为False
。
维护#
[MNT] [Dependabot](deps): 更新 scikit-base 依赖项从
<0.12.0,>=0.6.1
到>=0.6.1,<0.13.0
(#7392) @dependabot[bot][MNT] [Dependabot](deps): 更新 skpro 依赖项从
<2.8.0,>=2
到>=2,<2.9.0
(#7406) @dependabot[bot][MNT] 移除 transformers 的顶层导入 (#7491) @yarnabrina
[MNT] 为 skforecast autoreg 适配器添加上限 (#7488) @yarnabrina
[DOC] 修复
skchange
更新后 detection notebook 中失败的单元格 (#7483) @fkiraly
贡献者#
Version 0.34.1 - 2024-11-29#
亮点#
探测器 API 全面重做,模块现已成熟。@tveten, @alex-jg3, @fkiraly, @alyssadsouza, @ShivamJ07, @RobotPsychologist
在预测指标中,允许将可调用对象作为
sample_weight
传递,用于动态权重生成 (#7288) @MarkusSagen与新的
neuralforecast
估计器的新接口 (#7434) @yarnabrina预测器的 Box-Cox 偏差调整 (#7268) @sanskarmodi8, @talat-khattatov
SCINet 预测器 (#7400) @Sohaib-Ahmed21
时空 DBSCAN 聚类器 (#7353) @vagechirkov, @vectornd
依赖项变更#
dask
(数据容器和并行化后端软依赖项)的边界已更新至<2024.11.3
核心接口变更#
预测#
预测指标现在允许将可调用对象作为 sample_weight
传递,用于动态权重生成。文档字符串中记录了可调用对象需要满足的精确契约。
时间序列异常、变化点、分段#
时间序列探测器的核心 API 已更改,并与 skchange
的 API 同质化。
这些变更在某些方面是破坏性的,需要用户代码进行调整。这些变更对于确保时间序列探测器 API 的一致性是必要的。
BaseDetector.predict
现在返回一个pd.DataFrame
。这个DataFrame
始终有一个RangeIndex
,其中各个行对应于各个事件。该DataFrame
至少有一个列"ilocs"
,其中包含检测到的事件的整数索引,参考传递给predict
的参数X
。条目的格式可以是单个整数,也可以是一个左闭合的整数pd.Interval
,表示单个点或一段点。在标记事件的情况下,可能会出现一个额外的列
"labels"
。BaseDetector.predict_points
和predict_segments
现在也返回pd.DataFrame
,格式与predict
相同,不同之处在于predict_points
将检测到的事件强制转换为点,将段的起点和终点视为单独的点。predict_segments
将检测到的事件强制转换为段,可能是单索引段。BaseDetector.transform
现在始终返回一个pd.DataFrame
,其中至少包含一列"transform"
,其中包含转换后的时间序列。
增强功能#
BaseObject 和基础框架#
基准测试、指标、分割器#
预测#
[ENH] 添加
RecursiveReductionForecaster
到模块导出、测试和文档中 (#4806) @fkiraly[ENH] 向 neuralforecast rnn 和 lstm 添加新参数 (#7422) @yarnabrina
[ENH] 预测器的 Box-Cox 偏差调整 (#7268) @sanskarmodi8, @talat-khattatov
[ENH] 在预测指标中,允许将可调用对象作为
sample_weight
传递,用于动态权重生成 (#7288) @MarkusSagen[ENH] SCINet 预测器 (#7400) @Sohaib-Ahmed21
[ENH] 减少
statsmodels
适配器的内存占用 - 保存必要的_y
信息以消除对_y
的需求 (#7417) @hudsonhoch[ENH] 接口新的
neuralforecast
估计器 (#7434) @yarnabrina
时间序列异常、变化点、分段#
[ENH] 添加
_transform_score
模板并从探测器中移除已失效的fmt
相关代码 (#7425) @ShivamJ07[ENH] sktime 和 skchange 检测 API 同质化 - 基础类
predict
返回类型 (#7433) @alyssadsouza[ENH] 将私有
make_annotation_problem
重命名为make_detection_problem
(#7436) @fkiraly[ENH]
sktime
和skchange
检测 API 同质化 - 第一部分 - 基础类和y
参数 (#7342) @fkiraly[ENH] sktime 和 skchange 检测 API 同质化 - 第二部分 - 基础类
transform
返回类型 (#7432) @alyssadsouza[ENH] 将 scitype 名称
"series-annotator"
更改为"detector"
(#7361) @jgyfutub[ENH]
sktime
和skchange
检测 API 同质化 - 基础类predict_scores
返回类型 (#7460) @alyssadsouza[ENH]
sktime
和skchange
检测 API 同质化 - 基础类predict_points
返回类型 (#7459) @alyssadsouza[ENH] 添加
skchange
变化点探测器作为占位符记录 (#7458) @ShivamJ07, @fkiraly[ENH] 更新
DetectorPipeline
和DetectorAsTransformer
内部调用和文档字符串 (#7475) @fkiraly[ENH] sktime 和 skchange 检测 API 同质化 -
predict
,predict_points
,predict_segments
(#7476) @fkiraly
时间序列分类#
时间序列聚类#
[ENH] 时空 DBSCAN 聚类器 (#7353) @vagechirkov, @vectornd
时间序列回归#
转换#
测试框架#
文档#
[DOC] 在 docstring 中,将
Example
部分重命名为Examples
部分 (#7341) @fkiraly[DOC] 添加
DropNA
的 docstring 示例 (#7327) @SSROCKS30[DOC] 修复 README 中 sktime 徽标位置 (#7322) @Akhsuna07
[DOC] 在 libs/README.md 中添加 uni2ts (#7348) @pranavvp16
[DOC] 回归解释中的小错字 (#7366) @manolotis
[DOC] 将 Binary Segmentation Estimator 添加到 API 参考 (#7379) @Dehelaan
[DOC] 改进
installation
说明以提高清晰度 (#7339) @julian-fong[DOC] 向估计器概述添加时间序列探测器 рубрика (#7389) @gavinkatz001
[DOC] 在滑动窗口分割器的 docstring 中提供适当的数学描述 (#7376) @keitaVigano
维护#
[MNT]
detection
模块 - 将 CI 从annotation
模块移动 (#7456) @fkiraly[MNT] 更新 pre-commit 钩子的版本 (#7461) @yarnabrina
[MNT] [Dependabot](deps): 更新
dask
依赖项从<2024.8.1
到<2024.11.3
(#7387) @dependabot[bot][MNT] [Dependabot](deps): 更新
pytest-randomly
依赖项从<3.16,>=3.15
到>=3.15,<3.17
(#7338) @dependabot[bot]
修复#
预测#
[BUG] 修正
Croston
中的ignores-exogeneous-X
标签值 (#7404) @yarnabrina
时间序列异常、变化点、分段#
时间序列分类#
[BUG] 修复
CNTCClassifier
和CNTCRegressor
中的输入形状 (#7269) @sanskarmodi8
时间序列聚类#
[BUG] 修复
CNTCClassifier
中的输入形状 (#7269) @sanskarmodi8
时间序列回归#
[BUG] 修复
CNTCRegressor
中的输入形状 (#7269) @sanskarmodi8
测试框架#
贡献者#
@Akhsuna07, @Alex-JG3, @alyssadsouza, @Dehelaan, @ericjb, @fkiraly, @gavinkatz001, @geetu040, @hudsonhoch, @jgyfutub, @julian-fong, @jusssch, @keitaVigano, @liya-zhu, @manolotis, @MarkusSagen, @medha-14, @mjste, @pranavvp16, @sanskarmodi8, @ShivamJ07, @Sohaib-Ahmed21, @SSROCKS30, @tajir0, @talat-khattatov, @vagechirkov, @VectorNd, @yarnabrina
Version 0.34.0 - 2024-10-19#
维护版本
完全支持
python 3.13
计划中的弃用和变更操作。
对于上次非维护的内容更新,请参阅 0.33.2。
依赖项变更#
numpy
的边界已更新至>=1.21,<2.2
scikit-base
的边界已更新至>=0.6.1,<0.12.0
holidays
(转换软依赖项)的边界已更新至>=0.29,<0.59
弃用和移除#
annotation
模块将重命名为detection
,从 0.34.0 开始。为了确保导入的向下兼容性,直到不早于 0.37.0 或 1.0.0 的未来版本,该模块将同时在两个名称下可用。annotation
软依赖项集将重命名为detection
。为了确保导入的向下兼容性,annotation
软依赖项集将可用直到不早于 0.37.0 或 1.0.0 的未来版本。
维护#
[维护] 准备将
annotation
模块重命名为detection
- 映射导入 (#7294) @fkiraly[维护] [Dependabot](依赖): 将 numpy 要求从
<2.1,>=1.21
更新到>=1.21,<2.2
(#7103) @dependabot[bot][维护] [Dependabot](依赖): 将 scikit-base 要求从
<0.9.0,>=0.6.1
更新到>=0.6.1,<0.12.0
(#7238) @dependabot[bot][维护] [Dependabot](依赖): 将 holidays 要求从
<0.55,>=0.29
更新到>=0.29,<0.59
(#7308) @dependabot[bot][维护] [Dependabot](依赖): 将 sphinx-issues 要求从
<5.0.0
更新到<6.0.0
(#7307) @dependabot[bot]
文档#
版本 0.33.2 - 2024-10-17#
亮点#
新增预测器:Chronos (零样本) 基础模型预测器接口 (#7001) @Z-Fran, @geetu040, @benHeid, @rigvedmanoj
新增转换器:时间径向基函数特征 (#7261) @phoeenniixx
新增
ExpandingSlidingWindowSplitter
,在截止点从扩展窗口切换到滑动窗口 (#7193) @MarkusSagenpytorch-forecasting
和neuralforecast
模型现在为全局预测提供概率预测 (#6628, #6666) @XinyuWuuTimesFMForecaster
现在允许选择源包,并且零样本使用已进行内存优化 (#7204, #7212) @Prtm2110, @fkiraly
依赖变更#
skpro
(预测软依赖) 界限已更新到>=2,<2.8.0
u8darts
(预测软依赖) 界限已更新到>=0.29.0,<0.32.0
dask
(数据容器和并行化后端软依赖) 界限已更新到<2024.10.1
核心接口变更#
用于概率预测的性能指标,对于区间和分位数回报,现在可以选择使用 alpha
(分位数预测) 或 coverage
(区间预测) 参数构建,例如 EmpiricalCoverage(coverage=0.7)
用于“名义区间覆盖率为 70% 时的经验覆盖率”。
这些用于基准测试或调优接口,在这些接口中提供了度量指标,但没有显式调用 predict_interval
或 predict_quantiles
。
在这种情况下,调优器或基准测试工具将使用度量指标的参数,在该分位数 alpha
或区间 coverage
上进行调优。
例如,ForecastingGridSearchCV(fcst, cv, scoring=PinballLoss(alpha=[0.3, 0.7]))
,用于在分位数 0.3 和 0.7 上根据 pinball loss 对预测器 fcst
进行评分调优。
改进#
BaseObject 和基础框架#
基准测试、指标、分割器#
[改进]
ExpandingSlidingWindowSplitter
,在截止点从扩展窗口切换到滑动窗口 (#7193) @MarkusSagen[改进] 为所有
pred_interval
类型的指标添加了coverage
参数 (#7278) @talat-khattatov
数据类型、检查、转换#
[改进] 修复对象类型为
polars.LazyFrame
时 polarsPerformanceWarning
的问题 (#7221) @shivanshsinghal-22
预测#
[改进] 向
PolynomialTrendForecaster
添加了predict_interval
方法 (#6424) @ericjb[改进] 使用全局预测 API 为
pytorch-forecasting
模型进行分位数预测 (#6628) @XinyuWuu[改进] 测试全局预测器:减少
_make_hierarchical
中的观测数量以生成更短运行时间的测试数据 (#6948) @julian-fong[改进] Chronos (零样本) 基础模型预测器接口 (#7001) @Z-Fran, @geetu040, @benHeid, @rigvedmanoj
[改进] 在
ThetaLinesTransformer
中添加了get_test_params
方法 (#7199) @Anuragwagh[改进]
TimesFMForecaster
依赖现在取决于use_source_package
参数 (#7212) @Prtm2110
注册和搜索#
时间序列分类#
转换#
[改进]
HOG1D
Transformer 为get_test_params
添加新的测试参数集 (#7183) @Humorloos[改进] 为
Filter
的get_test_params
添加了第二个参数示例 (#7178) @KarlKolibri[改进] 时间径向基函数特征转换器 (#7261) @phoeenniixx
测试框架#
[改进] 组合模型中的
get_test_params
测试用例取决于软依赖,使用_check_estimator_deps
进行检查 (#7225) @shivanshsinghal-22
文档#
[文档] 添加了
load-tecator
的引用 (#7171) @vedantag17[文档] 为
HOG1DTransformer
添加示例 (#7180) @Humorloos[文档] 为
HurstExponentTransformer
添加 docstring 示例 (#7185) @Dehelaan[文档] 将 MOIRAIforecaster 添加到 API 文档,创建新的预训练基础模型章节 (#7223) @Dehelaan
[文档] 修复了使用 sktime 和 ClaSP 的时间序列分割笔记本示例 (#7283) @RobotPsychologist
[文档] 修复了 README.md 中的细微语法错误 (#7262) @Smoothengineer
[文档] 在 ReverseAugmenter docstring 示例中添加了缺失的 import 语句 (#7265) @sanskarmodi8
维护#
[维护] [Dependabot](依赖): 将
skpro
要求从<2.6.0,>=2
更新到>=2,<2.8.0
(#7245) @dependabot[bot][维护] [Dependabot](依赖): 将
sphinx-gallery
要求从<0.18.0
更新到<0.19.0
(#7264) @dependabot[bot][维护] [Dependabot](依赖): 将
u8darts
要求从<0.31,>=0.29.0
更新到>=0.29.0,<0.32
(#7272) @dependabot[bot][维护] [Dependabot](依赖): 将
dask
要求从<2024.8.1
更新到<2024.10.1
(#7292) @dependabot[bot]
修复#
基准测试、指标、分割器#
[错误修复] 修复当
step_length > 1
时ExpandingCutoffSplitter
的问题 (#7290) @ninedigits
数据集和数据加载器#
数据类型、检查、转换#
[错误修复] 修复
dask_to_pd
模块中的dask.dataframe
导入错误 (#7260) @sanskarmodi8
预测#
[错误修复] 修复
ForecastingHorizon.to_absolute
处理多个频率的问题 (#7172) @tianjiqx[错误修复] 在
ReconcilerForecaster
中,修复所有策略的return_totals
参数问题 (#7208) @SaiRevanth25[错误修复] 修复
DartsLinearRegression
未给出警告而直接失败的问题 (#7235) @fnhirwa[错误修复] 修复
Prophet
未被标记为handles-missing-data
的问题 (#7267) @Garve[错误修复] 修复
test_reconcilerforecaster_return_totals
中的奇异矩阵问题 (#7293) @fkiraly
贡献者#
@alex-jg3, @Anuragwagh, @benHeid, @Dehelaan, @ericjb, @fkiraly, @fnhirwa, @Garve, @geetu040, @Humorloos, @jan-mue, @julian-fong, @KarlKolibri, @MarkusSagen, @ninedigits, @phoeenniixx, @Prtm2110, @RobotPsychologist, @rigvedmanoj, @SaiRevanth25, @sanskarmodi8, @shivanshsinghal-22, @Smoothengineer, @talat-khattatov, @tianjiqx, @vedantag17, @XinyuWuu, @Z-Fran
版本 0.33.1 - 2024-09-26#
pydata 巴黎展示会的小型功能发布。
亮点#
MOIRAI 基础模型接口 (#6746) @pranavvp16, @benHeid
GroupbyCategoryForecaster
,用于按类别或片段应用面板预测 (#7066) @felipeangelimvieira在
ReconcilerForecaster
中,用户现在可以选择返回不包含__total
的 dataframe (#7127) @SaiRevanth25通过聚类进行时间序列分割 (#6782) @ankit-1204
依赖变更#
optuna
(超参数优化软依赖) 界限已更新到<4.1
mne
(转换软依赖) 界限已更新到>=1.5,<1.9
改进#
BaseObject 和基础框架#
数据类型、检查、转换#
[改进] 对
polars
的分层 sci类型支持 (#6697) @pranavvp16[改进] 将
datatypes
示例 fixtures 重构为BaseObject
类 (#7133) @fkiraly
预测#
[改进] 添加 MOIRAI 基础模型接口 (#6746) @pranavvp16, @benHeid
[改进]
GroupbyCategoryForecaster
,用于按类别或片段应用面板预测 (#7066) @felipeangelimvieira[改进] 为
ReconcilerForecaster
添加一个参数,以返回不包含双下划线级别 (dunder levels) 的 dataframe (#7127) @SaiRevanth25
注册和搜索#
时间序列异常、变化点、分割#
[改进] 通过聚类进行时间序列分割 (#6782) @ankit-1204
转换#
文档#
[文档] 向 TimeSeriesKernelKMeans 添加了 docstring 示例 (#7124) @Saptarshi-Bandopadhyay
维护#
[维护] 更新 pre-commit hooks 和相应的更改 (#7109) @yarnabrina
[维护] [Dependabot](依赖): 将
optuna
要求从<3.7
更新到<4.1
(#7104) @dependabot[bot][维护] [Dependabot](依赖): 将
mne
要求从<1.8,>=1.5
更新到>=1.5,<1.9
(#7129) @dependabot[bot][维护] 暂时跳过
temporian
相关的test_complex_function
失败,直到 #7040 解决 (#7147) @fkiraly[维护] 从基于
pytorch-forecasting
的估计器中移除 python 版本界限 (#7102) @fkiraly
修复#
预测#
变换#
测试框架
贡献者#
@ankit-1204, @benHeid, @ericjb, @fkiraly, @pranavvp16, @SaiRevanth25, @Saptarshi-Bandopadhyay, @XinyuWuu, @yarnabrina
版本 0.33.0 - 2024-09-09#
维护版本,包含预定的弃用和变更操作。
有关最新的非维护内容更新,请参阅 0.32.4 和 0.32.2。
依赖项变更#
scikit-base
(核心依赖项) 的边界已更新至>=0.6.1,<0.10.0
holidays
(变换软依赖项) 的边界已更新至>=0.29,<0.57
pykan
(深度学习软依赖项) 的边界已更新至>=0.2,<0.2.7
mne
(转换软依赖) 界限已更新到>=1.5,<1.9
dask
(数据容器和并行化后端软依赖项) 的边界已更新至<2024.8.3
pytorch-forecasting
(预测软依赖项) 的边界已更新至>=1.0.0,<1.2.0
弃用和移除#
在
DirectReductionForecaster
中,参数windows_identical
的默认值已更改为False
。
维护#
[MNT] CRAN 上的 ffp3 数据集 URL 已更改;已相应更新
_fpp3_loaders.py
(#7084) @ericjb[MNT] 移除
pytorch-forecasting
的 <3.11 限制,添加上限 (#7092) @fkiraly[MNT] [Dependabot](依赖项): 更新
dask
要求从<2024.8.2
到<2024.8.3
(#7062) @dependabot[bot][MNT] [Dependabot](依赖项): 更新
numpy
要求从<2.1,>=1.21
到>=1.21,<2.2
(#7007) @dependabot[bot][MNT] [Dependabot](依赖项): 更新
scikit-base
要求从<0.9.0,>=0.6.1
到>=0.6.1,<0.10.0
(#7035) @dependabot[bot][MNT] [Dependabot](依赖项): 更新
holidays
要求从<0.56,>=0.29
到>=0.29,<0.57
(#7096) @dependabot[bot][MNT] [Dependabot](依赖项): 更新
pykan
要求从<0.2.2,>=0.2
到>=0.2,<0.2.7
(#7010) @dependabot[bot][MNT] [Dependabot](依赖项): 更新
mne
要求从<1.8,>=1.5
到>=1.5,<1.9
(#7004) @dependabot[bot]
文档#
[DOC] 将 @SaiRevanth25` 的贡献添加到 all-contributors 文件 (#7085) @SaiRevanth25
[DOC] 修复安装文档中的拼写错误和格式问题 (#7060) @Saptarshi-Bandopadhyay
增强功能#
贡献者#
@benHeid, @ericjb, @fkiraly, @SaiRevanth25, @Saptarshi-Bandopadhyay
版本 0.32.4 - 2024-09-06#
小型功能和修复版本,针对以下内容:
Colab 兼容性,
polars
依赖项不兼容性的热修复与
skchange
第二方集成的兼容性对异常、变点、分段框架的改进
与即将到来的
sktime
选举相关的文档更新
核心接口变更#
引入了 scitype 适配框架,允许通过类型强制将一种类型的估计器用于另一种类型的槽。该强制框架目前涵盖了
sklearn
、skpro
和sktime
估计器,并且是可扩展的。提供了一个用户和开发人员的速记方式来进行此类强制转换,即registry.coerce_scitype
函数,它分派到各个强制转换机制。可以强制将产生聚类分配的时间序列聚类器转换为变换,从而可以在变换的任何管道槽中使用它们。
异常和变点检测器现在可以与变换组成管道,形成一个检测器。双下划线连接
transformer * detector
将默认为此行为。可以将异常和变点检测器强制转换为变换,从而可以在变换的任何管道槽中使用它们。
增强功能#
BaseObject 和基础框架#
时间序列异常、变点、分段#
时间序列聚类#
变换#
[ENH] Hurst 指数特征提取变换器 (#7065) @phoeenniixx
文档#
修复#
贡献者#
@Alex-JG3, @fkiraly, @fnhirwa, @geetu040, @ninedigits, @phoeenniixx, @Saptarshi-Bandopadhyay, @wirrywoo
版本 0.32.3 - 2024-08-27#
热修复版本,修复了预测管道 HTML 表示的错误。
有关最新的非维护内容更新,请参阅 0.32.2。
内容#
[BUG] 修复
TransformedTargetForecaster
和ForecastingPipeline
的 HTML 显示问题
版本 0.32.2 - 2024-08-26#
亮点#
来自
prophetverse
的HierarchicalProphet
预测器 (#7028) @felipeangelimvieira正则化 VAR 降维预测器
VARReduce
(#6725) @meraldoantonio框架对分类数据的支持已扩展到变换器和管道 (#6924) @Abhay-Lejith
依赖项变更#
holiday
(变换软依赖项) 的边界已更新至>=0.29,<0.56
dask
(数据容器和并行化后端) 的边界已更新至<2024.8.2
核心接口变更#
已为聚类器添加了新标签,以描述其分配聚类中心的能力。已添加以下布尔标签:
capability:predict
,表示聚类器是否可以通过predict
分配聚类标签capability:predict_proba
,用于概率聚类分配capability:out_of_sample
,用于样本外聚类分配。如果为 False,则聚类器只能将聚类分配给拟合期间见过的数据点。
增强功能#
BaseObject 和基础框架#
数据集和数据加载器#
[ENH] 在
load_m5
中将日期列转换为日频率周期 (#6990) @SaiRevanth25
数据类型、检查、转换#
[ENH] 支持 Polars
Series
scitype (#6485) @pranavvp16[ENH] 支持 Polars
Panel
scitype (#6552) @pranavvp16
预测#
[ENH] 新增正则化 VAR 降维预测器
VARReduce
(#6725) @meraldoantonio[ENH] 将
HierarchicalProphet
估计器添加到prophetverse
模块 (#7028) @felipeangelimvieira
时间序列聚类#
变换#
[ENH] 将 X 中的分类支持扩展到变换器和管道 (#6924) @Abhay-Lejith
文档#
[DOC] 修复
TransformedTargetForecaster
docstring 的问题 (#7002) @fkiraly[DOC] 修复
ExpandingCutoffSplitter
的 docstring (#7033) @ninedigits
维护#
[MNT] 将 changelog 与热修复分支
anirban-sktime-0.31.2
同步 (#6963) @yarnabrina[MNT] 使用
numpy 2
跳过装饰test_auto_arima
,直到最终修复/诊断 (#6973) @fkiraly[MNT] 将基类
TimeSeriesLloyds
重命名为BaseTimeSeriesLloyds
(#6992) @fkiraly[MNT] [Dependabot](依赖项): 将
tj-actions/changed-files
从 44 提升到 45 (#7019) @dependabot[bot][MNT] [Dependabot](依赖项): 更新
holidays
要求从<0.55,>=0.29
到>=0.29,<0.56
(#7006) @dependabot[bot][MNT] [Dependabot](依赖项): 更新
dask
要求从<2024.8.1
到<2024.8.2
(#7005) @dependabot[bot]
修复#
BaseObject 和基础框架#
[BUG] 修复
test_softdep_error
在环境标记标签不满足时的依赖项处理检查 (#6961) @fkiraly[BUG] 修复环境中存在多个分发版本(例如在 Databricks 上)时的依赖项检查器 (#6986) @fkiraly, @toandaominh1997
基准测试和指标#
[BUG] 修复当数据加载器返回元组 (y, X) 时
ForecastingBenchmark
报错的问题 (#6971) @SaiRevanth25
数据集和数据加载器#
数据类型、检查、转换#
[BUG] 修复
nested_univ
转换器对索引级别名称处理不一致的问题 (#7026) @pranavvp16
预测#
[BUG]
TinyTimeMixerForecaster
: 修复索引截断并更新test_params
(#6965) @geetu040[BUG] 在 Prophet 中不要将季节条件名称添加为额外的回归因子 (#6988) @wpdonders
[BUG] 修复当时间序列恒定时
Prophet
的_get_fitted_params
错误 (#7011) @felipeangelimvieira
贡献者#
@Abhay-Lejith, @felipeangelimvieira, @fkiraly, @geetu040, @marrov, @meraldoantonio, @ninedigits, @pranavvp16, @SaiRevanth25, @shlok191, @toandaominh1997, @wirrywoo, @wpdonders, @yarnabrina
版本 0.32.1 - 2024-08-12#
热修复版本,用于在使用 make_reduction
与不完全符合 sklearn
规范的表格回归器(例如 catboost
中的回归器)时的问题。
有关最新的非维护内容更新,请参阅 0.31.1。
内容#
[BUG] 修复非 sklearn 估计器的
make_reduction
类型推断问题
版本 0.32.0 - 2024-08-11#
维护版本,包含预定的弃用和变更操作。
有关最新的非维护内容更新,请参阅 0.31.1。
依赖项变更#
skpro
(软依赖项) 的边界已更新至>=2,<2.6.0
skforecast
(预测软依赖项) 的边界已更新至<0.14.0
。
核心接口变更#
all
sktime
estimators and objects are now required to have at least two test parameter sets inget_test_params
to be compliant withcheck_estimator
contract tests. This requirement was previously stated in the extension template but not enforced. It is now also included in the automated tests viacheck_estimator
. Estimators without (unreserved) parameters, i.e., where two distinct parameter sets are not possible, are excepted from this.
Deprecations and removals#
From
sktime 0.38.0
, forecasters’predict_proba
will requireskpro
to be present in the python environment, for distribution objects to represent distributional forecasts. Untilsktime 0.35.0
,predict_proba
will continue working withoutskpro
, defaulting to return objects insktime.proba
ifskpro
is not present. Fromsktime 0.35.0
, an error will be raised upon call of forecasterpredict_proba
ifskpro
is not present in the environment. Users of forecasters’predict_proba
should ensure thatskpro
is installed in the environment.The probability distributions module
sktime.proba
deprecated and will be fully replaced byskpro
insktime 0.38.0
. Untilsktime 0.38.0
, imports fromsktime.proba
will continue working, defaulting tosktime.proba
ifskpro
is not present, otherwise redirecting imports toskpro
objects. Fromsktime 0.35.0
, an error will be raised ifskpro
is not present in the environment, otherwise imports are redirected toskpro
. Direct or indirect users ofsktime.proba
should ensureskpro
is installed in the environment. Direct users of thesktime.proba
module should, in addition, replace any imports fromsktime.proba
with imports fromskpro.distributions
.
Contents#
[MNT] 0.32.0 deprecations and change actions (#6916) @fkiraly
[MNT] [Dependabot](deps): Update
skpro
requirement from<2.5.0,>=2
to>=2,<2.6.0
(#6897) @dependabot[bot][MNT] remove
numpy 2
incompatibility flag fromnumba
based estimators (#6915) @fkiraly[MNT] deprecation of
proba
module in favour ofskpro
soft dependency (#6940) @fkiraly[MNT] update versions of
pre-commit
hooks (#6947) @yarnabrina[MNT] 0.32.0 release action - revert temporary skip
get_test_params
number check for 0.21.1 and 0.22.0 release (#5114) @fkiraly[MNT] Bump
skforecast
to0.13
version allowing support for python3.12
(#6946) @yarnabrina[BUG] Fix
Xt_msg
type intranformations.base
(#6944) @hliebert
Contributors#
Version 0.31.2 - 2024-08-13#
Hotfix release, released after hotfix release 0.32.1, to apply the same hotfix to 0.31.X versions as well.
Hotfix for using make_reduction
with not fully sklearn
compliant tabular regressors such as from catboost
.
有关最新的非维护内容更新,请参阅 0.31.1。
Contents#
[BUG] 修复非 sklearn 估计器的
make_reduction
类型推断问题
Notes#
This is a hotfix for 0.31.1 release, fixing a regression. This release is not contained in the 0.32.0 or 0.32.1 releases.
Version 0.31.1 - 2024-08-10#
Highlights#
html representation of objects now has a button linking to documentation page (#6876) @mateuszkasprowicz
interface to TinyTimeMixer foundation model (#6712) @geetu040
interface to
darts
reduction models (#6712) @fnhirwa, @yarnabrinaLTSFTransformer
based oncure-lab
research code base (#6202) @geetu040forecasters can now support categorical
X
, as per tag (#6704, #6732) @Abhay-LejithDirectReductionForecaster
now has awindows_identical
option (#6650) @hliebertForecastingOptunaSearchCV
can now be passed custom samplers and “higher is better” scores (#6823, #6846) @bastisar, @gareth-brown-86, @mk406
Dependency changes#
holiday
(transformations soft dependency) bounds have been updated to>=0.29,<0.54
dask
(data container and parallelization back-end) bounds have been updated to<2024.8.1
Core interface changes#
BaseObject and base framework#
implementers no longer need to set the
package_import_alias
tag when estimator dependencies have a different import name than the PEP 440 package name. All internal logic now only uses the PEP 440 package name. There is no need to remove the tag if already set, but it is no longer required.estimators now have a tag
capability:categorical_in_X: bool
to indicate that the estimator can handle categorical features in the input dataX
. Such estimator can be used with categorical and string-valued features ifX
is passed in one of thepandas
based mtypes.the html representation of all objects now includes a link to the documentation of the object, and is now in line with the
sklearn
html representation.
Enhancements#
BaseObject and base framework#
[ENH] improved environment package version check (#6776) @fkiraly
[ENH] Remove package import alias related internal logic and tags (#6821) @fkiraly
[ENH] Adding tag for categorical support in
X
(#6704) @Abhay-Lejith[ENH] Adding categorical support: Raising error in yes/no case (#6732) @Abhay-Lejith
[ENH] Link to docs in object’s html repr (#6876) @mateuszkasprowicz
Data sets and data loaders#
[ENH] Data Loader for M5 dataset (#6731) @SaiRevanth25
Data types, checks, conversions#
[ENH]
check_pdmultiindex_panel
to return names of invalidobject
columns if there are any (#6797) @SaiRevanth25[ENH] Allow object dtype in series (#5886) @yarnabrina
[ENH] converter framework tests in
datatypes
to cover all types, including those requiring soft dependencies (#6838) @fkiraly[ENH] add missing
feature_kind
metadata fields togluonts
based data container checkers (#6861) @fkiraly[ENH] added
feature_kind
metadata in datatype checks (#6490) @Abhay-Lejith[ENH] Adding support for
gluonts
PandasDataset
object (#6668) @shlok191[ENH] Added support for
gluonts
PandasDataset
as aSeries
scitype (#6837) @shlok191
Forecasting#
[ENH]
darts
Reduction Models adapter (#6712) @fnhirwa, @yarnabrina[ENH] Extension Template For Global Forecasting API (#6699) @XinyuWuu
[ENH] enable multivariate data passed to
autots
interface (#6805) @fkiraly[ENH] Add Sampler to
ForecastingOptunaSearchCV
(#6823) @bastisar[ENH] Add scoring direction to
ForecastingOptunaSearchCV
(#6846) @gareth-brown-86, @mk406[ENH] de-novo implementation of
LTSFTransformer
based oncure-lab
research code base (#6202) @geetu040[ENH] Add
windows_identical
toDirectReductionForecaster
(#6650) @hliebert[ENH] updates type inference in
make_reduction
to use central scitype inference and allow proba tabular regressors (#6893) @fkiraly[ENH] DeepAR and NHiTS and refinements for
pytorch-forecasting
interface (#6551) @XinyuWuu[ENH] Interface to TinyTimeMixer foundation model (#6712) @geetu040
[ENH] remove now superfluous try-excepts in forecasting API test suite (#6906) @fkiraly
Registry and search#
Time series anomalies, changepoints, segmentation#
Time series classification#
Transformations#
[ENH] add second test params dict to
Aggregator
(#6759) @fr1ll[ENH]
pandas
inner type and global pooling forTabularToSeriesAdaptor
(#6752) @fkiraly[ENH] alternative returns for
VmdTransformer
- mode spectra and central frequencies (#6857) @fkiraly[ENH] simplify dictionaries and alias handling in
Catch22
(#6104) @fkiraly[ENH] making
self._is_vectorized
access more defensive inBaseTransformer
(#6863) @fkiraly
Test framework#
Vendor and onboard libraries#
[ENH] Vendor fracdiff library (#6777) @DinoBektesevic
[ENH] improvements to vendored
fracdiff
library (#6912) @fkiraly
Documentation#
[DOC] Notebook and Template For Global Forecasting API (#6699) @XinyuWuu
[DOC] Add authorship credits to
MatrixProfileTransformer
for Stumpy authors (#6762) @alexander-lakocy[DOC] add examples to
StatsForecastGARCH
andStatsForecastARCH
docstrings (#6761) @melinny[DOC] Add alignment notebook example (#6768) @alexander-lakocy
[DOC] fix transformers type table in API reference in accordance with sphinx guidelines (#6771) @alexander-lakocy
[DOC] Modify editable install to make cross-platform (#6758) @fr1ll
[DOC]
TruncationTransformer
docstring example (#6765) @ceroper[DOC] De-duplicate User Guide and Examples (closes #6767) (#6770) @alexander-lakocy
[DOC] improved docstring of
DWTTransformer
(#6764) @Mitchjkjkjk[DOC] various improvements to user journey on documentation page (#6760) @fkiraly
[DOC] Time series k means max iter parameter docstring (#6726) @AlexeyOm
[DOC] cross-reference estimator search from tags API reference (#6816) @fkiraly, @yarnabrina
[DOC] updated docstring for
check_is_mtype
to match skprocheck_is_mtype
function (#6835) @julian-fong[DOC] example & tutorial notebooks: normalize execution counts, indentation, execute all cells (#6847) @fkiraly
[DOC] clarify column handling in docstring of
FourierFeatures
(#6834) @fkiraly[DOC] added fork usage recommendations (#6827) @yarnabrina
[DOC] change links in documentation to refer to same version (#6841) @yarnabrina
[DOC] minor improvements to
check_scoring
docstring (#6877) @fkiraly[DOC] add proper author credits to 1:1 interface classes - aligners, distances, forecasters, parameter estimators (#6850) @fkiraly
[DOC] Add documentation for benchmarking module (#6792) @benHeid
[DOC] Add example notebook for the graphical pipeline (#5175) @benHeid
[DOC] git workflow guide - chained branches, fixing header fonts (#6913) @fkiraly
Maintenance#
[MNT] Update
Callable
import fromtyping
tocollections.abc
(#6798) @yarnabrina[MNT] Fix spellings using
codespell
andtypos
(#6799) @yarnabrina[MNT] improved environment package version check (#6776) @fkiraly
[MNT] add non-unicode characters check to the linter (#6807) @fnhirwa
[MNT] updates and fixes to type hints (#6743) @ZhipengXue97
[MNT] Resolve the issue with diacritics failing to be decoded on Windows (#6862) @fnhirwa
[MNT] sync docstring and code formatting of dependency checker module with
skbase
(#6873) @fkiraly[MNT] Remove package import alias related internal logic and tags (#6821) @fkiraly
[MNT] release workflow: Upgrade deprecated pypa action parameter (#6878) @szepeviktor
[MNT] Fix
pykan
import and dependency checks (#6881) @fkiraly[MNT] temporarily pin
matplotlib
below3.9.1
(#6890) @yarnabrina[MNT] make
pyproject.toml
parsing for differential testing more robust against non-package relevant changes (#6882) @fkiraly[MNT] formatter for jupyter notebook json in build tools (#6849) @fkiraly
[MNT] sync differential testing utilities with
skpro
(#6840) @fkiraly[MNT] sync docstring and code formatting of dependency checker module with
skbase
(#6873) @fkiraly[MNT] Resolve the issue with diacritics failing to be decoded on Windows (#6862) @fnhirwa
[MNT] changelog utility: fix termination condition to retrieve merged PR (#6920) @fkiraly
[MNT] Updating the GHA dependencies to install OSX dependencies and setting the compiler flags (#6926) @fnhirwa
[MNT] revert an erroneous instance of
pandas
deprecation fix (#6925) @fkiraly[MNT] Update the path to script to fix #6926 (#6933) @fnhirwa
[MNT] [Dependabot](deps): Update
pytest
requirement from<8.3,>=7.4
to>=7.4,<8.4
(#6819) @dependabot[bot][MNT] [Dependabot](deps): Update
dask
requirement from<2024.6.3
to<2024.7.2
(#6818) @dependabot[bot][MNT] [Dependabot](deps): Update
sphinx-gallery
requirement from<0.17.0
to<0.18.0
(#6820) @dependabot[bot][MNT] [Dependabot](依赖): 更新
holidays
依赖要求从<0.53,>=0.52
到>=0.52,<0.54
(#6780) @dependabot[bot][MNT] [Dependabot](依赖): 更新 sphinx 依赖要求从
!=7.2.0,<8.0.0
到!=7.2.0,<9.0.0
(#6865) @dependabot[bot][MNT] [Dependabot](依赖): 更新
holidays
依赖要求从<0.54,>=0.52
到>=0.52,<0.55
(#6898) @dependabot[bot][MNT] [Dependabot](依赖): 更新
dask
依赖要求从<2024.7.2
到<2024.8.1
(#6907) @dependabot[bot]
修复#
BaseObject 和基础框架#
数据类型、检查、转换#
预测#
注册表和搜索#
时间序列异常、变点、分割#
转换#
可视化#
[BUG] 在
plot_series
中,验证 dataframe 格式时修剪未使用的级别 (#6754) @SultanOrazbayev
贡献者#
@Abhay-Lejith, @Alex-JG3, @alexander-lakocy, @AlexeyOm, @bastisar, @benHeid, @ceroper, @DinoBektesevic, @fkiraly, @fnhirwa, @fr1ll, @gareth-brown-86, @geetu040, @hliebert, @julian-fong, @mateuszkasprowicz, @MBristle, @melinny, @Mitchjkjkjk, @mk406, @SaiRevanth25, @sbhobbes, @shlok191, @SultanOrazbayev, @szepeviktor, @XinyuWuu, @yarnabrina, @ZhipengXue97
版本 0.31.0 - 2024-07-11#
维护版本
计划的废弃和更改行动
numpy 2
兼容性代码风格和 pre-commit 更新,使用
ruff
进行 linting
有关上次非维护性内容更新,请参阅 0.30.2。
依赖项变更#
numpy
(核心依赖项)的边界已更新为<2.1,>=1.21
skpro
(软依赖项)的边界已更新为>=2,<2.5.0
废弃和移除#
时间序列异常、变点、分割#
时间序列标注器中的
fmt
参数现已废弃。用户应改为使用predict
和transform
方法,即使用predict
替代fmt="sparse"
,使用transform
替代fmt="dense"
。
时间序列分类#
深度学习分类器中的
convert_y_to_keras
方法已被移除。一直使用此方法的用户应直接使用sklearn
中的OneHotEncoder
,因为convert_y_to_keras
只是一个带有默认设置的OneHotEncoder
简单包装器。
内容#
[MNT] 将
numpy
边界提高到numpy < 2.1
,numpy 2
兼容性 (#6624) @fkiraly[MNT] [Dependabot](依赖): 更新 skpro 依赖要求从
<2.4.0,>=2
到>=2,<2.5.0
(#6663) @dependabot[bot][MNT] 由于
prophet
不兼容,将基于prophet
的预测器限制在numpy<2
版本 (#6721) @fkiraly[MNT] 将代码风格升级到
python 3.8
以上版本 (#6330) @yarnabrina[MNT] 在放弃对
python 3.8
的支持后更新 pre commit hooks (#6331) @yarnabrina[ENH] 重构环境检查工具并进行错误修复 (#6719) @fkiraly, @yarnabrina
贡献者#
版本 0.30.2 - 2024-07-04#
亮点#
新的 估计器概览表和估计器搜索页面 (#6147) @duydl
HFTransformersForecaster
(hugging face transformers 连接器) 现在提供了一个用户友好的接口,用于应用 PEFT 方法 (#6457) @geetu040使用
optuna
对预测器进行超参数调优的ForecastingOptunaSearchCV
(#6630) @mk406, @gareth-brown-86prophetverse
包的预测器现已被sktime
索引 (#6614) @felipeangelimvieiraskforecast
适配器,用于降维策略 (#6531) @Abhay-Lejith, @yarnabrinaparametrize_with_checks
工具,用于在第二方/第三方库中设置细粒度的 API 合规性测试 (#6588) @fkiraly
依赖项变更#
holidays
(转换软依赖项)的边界已更新为>=0.29,<0.53
dask
(数据容器和并行化后端)的边界已更新为<2024.5.3
optuna
现已成为一个软依赖项,通过ForecastingOptunaSearchCV
估计器,位于all_extras
软依赖项集合中,边界为<3.7
pytorch-forecasting
现已成为一个软依赖项,位于dl
(深度学习)软依赖项集合中skforecast
现已成为一个软依赖项,位于all_extras
软依赖项集合和forecasting
软依赖项集合中,边界为<0.13,>=0.12.1
dtaidistance
现已成为一个软依赖项,位于all_extras
软依赖项集合和alignment
软依赖项集合中,边界为<2.4
核心接口变更#
预测#
基础预测器接口现在有一个专门用于全局预测或微调的接口点:在支持全局预测的预测器中,可以在 predict
方法中传递一个 y
参数,表示用于全局预测的新时间序列实例,或基础模型的上下文。能够进行全局预测或微调的预测器(这是同一个接口点)会带上标签 capability:global_forecasting
,其值为 True
。
全局预测和微调接口目前是实验性的,可能会发生变化。
欢迎用户提供反馈,并使用新的 pytorch-forecasting
适配器测试此功能。
测试框架#
改进#
BaseObject 和基础框架#
[ENH] 阻止
_check_soft_dependencies
导致的导入,加快依赖检查和测试收集时间 (#6355) @fkiraly, @yarnabrina
基准测试、度量、分割器#
数据类型、检查、转换#
距离、核函数#
预测#
[ENH] 带有全局预测 API 的
pytorch-forecasting
适配器 (#6228) @XinyuWuu[ENH]
skforecast
ForecasterAutoreg 适配器 (#6531) @Abhay-Lejith, @yarnabrina[ENH] 扩展
HFTransformersForecaster
以支持 PEFT 方法 (#6457) @geetu040[ENH] 在
BaseForecaster
中,将对capability:insample
的检查移至_check_fh
样板代码 (#6593) @XinyuWuu[ENH] 使用
optuna
对预测器进行超参数调优的ForecastingOptunaSearchCV
(#6630) @mk406, @gareth-brown-86
注册表和搜索#
时间序列对齐#
时间序列分类#
时间序列回归#
转换#
测试框架#
文档#
[DOC] 更新依赖项参考 (#6655) @emmanuel-ferdman
[DOC] 修复
BaseTransformer
中开发者注释的微小拼写错误 (#6689) @Spinachboul[DOC] rst 路线图文档页面自 2021 年起已过时 - 替换为最新路线图的正确链接 (#6556) @fkiraly
[DOC] 感谢 @doberbauer` 修复了
pykalman
的 python 3.11 兼容性问题 (#6662) @doberbauer
维护#
[MNT] [Dependabot](依赖): 更新 holidays 依赖要求从
<0.51,>=0.29
到>=0.29,<0.52
(#6634) @dependabot[bot][MNT] [Dependabot](依赖): 更新 holidays 依赖要求从
<0.52,>=0.29
到>=0.29,<0.53
(#6702) @dependabot[bot][MNT] [Dependabot](依赖): 更新 dask 依赖要求从
<2024.6.1
到<2024.6.2
(#6643) @dependabot[bot][MNT] [Dependabot](依赖): 更新 numba 依赖要求从
<0.60,>=0.53
到>=0.53,<0.61
(#6590) @dependabot[bot][MNT] [Dependabot](依赖): 更新 dask 依赖要求从
<2024.6.2
到<2024.6.3
(#6647) @dependabot[bot][MNT] 从 PR CI 和
setup.cfg
中移除覆盖率报告和pytest-cov
(#6363) @fkiraly[MNT]
scipy
1.14.0
兼容性,适用于deep_equals
插件对csr_matrix
的支持 (#6664) @fkiraly[MNT] 废弃未使用的
_check_soft_dependencies
参数suppress_import_stdout
(#6691) @fkiraly
修复#
基准测试、指标、分割器#
数据加载器#
数据类型、检查、转换#
预测#
时间序列分类#
时间序列聚类#
时间序列回归#
测试框架#
转换#
贡献者#
@Abhay-Lejith, @benHeid, @benshaw2, @doberbauer, @emmanuel-ferdman, @ericjb, @felipeangelimvieira, @fkiraly, @fnhirwa, @gareth-brown-86, @geetu040, @iaryangoyal, @julian-fong, @ksharma6, @mk406, @shlok191, @Spinachboul, @TheoWeih, @XinyuWuu, @yarnabrina, @Z-Fran
版本 0.30.1 - 2024-06-04#
最小限度维护更新,整合了内置包的相关操作。
有关上次主要功能更新,请参阅 0.29.1。
目录#
版本 0.30.0 - 2024-06-03#
对时间序列异常、变化点、分割 API 进行了重大升级 (@Alex-JG3)。用户应查看发布说明中的相关部分。
另请注意下方的 Python 3.8 生命周期结束警告。
还包括计划的弃用和更改操作。
有关上次主要功能更新,请参阅 0.29.1。
依赖项更改#
joblib
现在是一个显式的核心依赖项,其边界为<1.5,>=1.2.0
。以前,joblib
是通过scikit-learn
的间接核心依赖项。由于直接导入,现已将其更改为显式依赖项。scikit-learn
(核心依赖项)的边界已更新为>=0.24,<1.6.0
scikit-base
(核心依赖项)的边界已更新为>=0.6.1,<0.9.0
skpro
(软依赖项)的边界已更新为>=2,<2.4.0
kotsu
不再是预测基准测试框架所需的软依赖项。kotsu
包不再维护,其必要的导入已作为私有工具移至sktime
,直至重构。详情请参阅 #6514。pykalman
(转换软依赖项)已分叉到sktime
中,作为sktime.libs.pykalman
,因为原始包不再维护,请参阅sktime
issue 5414 或pykalman
issue 109。该包的分叉将在
sktime
中维护。pykalman
的直接用户可以将导入语句from pykalman import x
替换为等效的导入语句from sktime.libs.pykalman import x
。通过转换器
KalmanFilterTransformerPK
的间接用户将不受影响,因为 API 没有改变,只是他们不再需要在其 python 环境中安装原始的pykalman
包。
核心接口更改#
时间序列标注、异常、变化点、分割 API 已全面重构,以符合 scikit-base
模式和 sktime
标签,并提供更一致和灵活的接口。
该 API 提供用于标注标签(例如,段、异常点)的
predict
方法,以及用于指标序列(例如,时间戳处是否存在异常的 1/0 指标)的transform
方法。某些估计器中使用的
fmt
参数现已弃用,推荐使用predict
或transform
。标注的类型(例如,变化点或分割)由时间序列标注器中使用的新标签
task
进行编码,其值为anomaly_detection
、segmentation
、changepoint_detection
。低级方法允许多态地使用标注器,例如通过
predict_points
或predict_segments
将变化点检测器用于分割。predict
方法默认使用由task
定义的标注类型。
将在接下来的发布周期中创建一个包含示例的完整教程,并计划进一步的增强功能。
弃用和移除#
Python 3.8 生命周期结束#
sktime
现在需要 Python 版本 >=3.9
。在 Python 3.8 上不会引发错误,但已停止对 Python 3.8 的测试覆盖和支持。
请注意背景信息:Python 3.8 将于 2024 年 10 月到达生命周期结束,并且包括 scikit-learn
在内的多个 sktime
核心依赖项已停止支持 3.8。
预测#
cINNForecaster
已重命名为 CINNForecaster
。在弃用期过后,该估计器将不再使用旧名称。用户应将所有导入 cINNForecaster
的地方替换为导入 CINNForecaster
。
增强功能#
文档#
维护#
[维护] [Dependabot](deps):将 skpro 要求从
<2.3.0,>=2
更新到>=2,<2.4.0
(#6443) @dependabot[bot][维护] [Dependabot](deps):将 scikit-learn 要求从
<1.5.0,>=0.24
更新到>=0.24,<1.6.0
(#6462) @dependabot[bot][维护] [Dependabot](deps):将 scikit-base 要求从
<0.8.0,>=0.6.1
更新到>=0.6.1,<0.9.0
(#6488) @dependabot[bot][维护] 在 CI 中移除 Python 3.8 的测试覆盖 (#6329) @yarnabrina
[维护] 重命名
cINNForecaster
为CINNForecaster
的最后更改周期 (0.30.0) (#6367) @geetu040[维护] 添加
joblib
作为核心依赖项 (#6384) @yarnabrina[维护] 将 CRLF 行尾修改为 LF 行尾 (#6512) @yarnabrina
[维护] 解决
pykalman
问题 -sktime
本地pykalman
分叉 (#6188) @fkiraly
贡献者#
@Alex-JG3, @dependabot[bot], @fkiraly, @geetu040, @yarnabrina
版本 0.29.1 - 2024-05-30#
亮点#
依赖项更改#
holidays
(转换软依赖项)的边界已更新为>=0.29,<0.50
pycatch22
(转换软依赖项)的边界已更新为<0.4.6
dtw-python
(距离和对齐软依赖项)的边界已更新为>=1.3,<1.6
dask
(数据容器和并行化后端)的边界已更新为<2024.5.2
transformers
(预测软依赖项)的边界已更新为<4.41.0
核心接口更改#
基准测试、指标、分割器#
所有点预测指标现在都支持加权,通过
sample_weight
参数实现。如果传入该参数,指标将按样本权重进行加权。对于分层数据,权重应用于序列级别,在这种情况下,所有序列需要具有相同的长度。概率指标尚不支持加权,这将在未来的版本中添加。
时间序列对齐#
所有时间序列对齐器现在都具有
capability:unequal_length
标签,如果对齐器可以处理长度不等的时间序列,则该标签为True
,否则为False
。如果对齐器不支持不等长的时间序列却用于此类数据,现在会根据该标签引发一个有用的错误消息。
弃用和移除#
时间序列分类#
深度学习分类器中的
convert_y_to_keras
方法已弃用,并将在 0.31.0 版本中移除。一直使用此方法的用户应直接使用sklearn
中的OneHotEncoder
,因为convert_y_to_keras
只是OneHotEncoder
的一个简单封装,使用了默认设置。
增强功能#
BaseObject 和基础框架#
基准测试、指标、分割器#
数据加载器#
数据类型、检查、转换#
[增强] Polars 转换工具 (#6455) @pranavvp16
预测#
时间序列对齐#
时间序列分类#
转换#
测试框架#
可视化#
文档#
[文档] 修复文档中的错误句子 (#6375) @helloplayer1
[文档] 更正
dask_to_pd
转换函数的 docstring (#6439) @pranavvp16
维护#
[维护] [Dependabot](deps): 更新 holidays 要求从
<0.49,>=0.29
到>=0.29,<0.50
(#6456) @dependabot[bot][维护] [Dependabot](deps): 更新 pycatch22 要求从
<0.4.4
到 <0.4.6`` (#6442) @dependabot[bot][维护] [Dependabot](deps): 更新 sphinx-design 要求从
<0.6.0
到<0.7.0
(#6471) @dependabot[bot][维护] [Dependabot](deps): 更新 dask 要求从
<2024.5.1
到<2024.5.2
(#6444) @dependabot[bot][维护] [Dependabot](deps): 更新 dtw-python 要求从
<1.5,>=1.3
到>=1.3,<1.6
(#6474) @dependabot[bot][维护] 在
sktime/tests
中包含单元测试到按模块测试中 (#6353) @yarnabrina[维护]
AutoTBATS
的维护变更 (#6400) @yarnabrina
修复#
预测#
[BUG] 修复
ForecastX
在forecaster_X_exogeneous="complement"
时的错误 (#6433) @fnhirwa[BUG] 修改 VAR 代码以允许进行 0.5 的
predict_quantiles
计算 (修复 #4742) (#6441) @meraldoantonio
神经网络#
[BUG] 移除
networks.base
中重复的BaseDeepNetworkPyTorch
(#6398) @luca-miniati
时间序列分类#
[BUG] 解决
LSTMFCNClassifier
改变callback
参数的问题 (#6239) @ArthrowAbstract[BUG] 修复某些分类器中的
_get_train_probs
以接受任何输入数据类型 (#6377) @fkiraly[BUG] 修复
ProximityForest
, tree, stump, 和IndividualBOSS
在predict
中返回不同类型y
的问题 (#6432) @fkiraly[BUG] 修复分类器默认
_predict
总是返回整数标签的问题,即使fit
的y
不是整数 (#6430) @fkiraly[BUG] 在
CNNClassifier
中,确保filter_sizes
和padding
被传递下去 (#6452) @fkiraly[BUG] 修复
BaseClassifier.fit_predict
和fit_predict_proba
对于pd-multiindex
mtype 的问题 (#6491) @fkiraly
时间序列回归#
[BUG] 解决
LSTMFCNRegressor
改变callback
参数的问题 (#6239) @ArthrowAbstract[BUG] 在
CNNRegressor
中,确保filter_sizes
和padding
被传递下去 (#6452) @fkiraly
变换#
[BUG] 修复以使
LabelEncoder
与sktime
管道兼容 (#6458) @Abhay-Lejith
测试框架#
可视化#
贡献者#
@Abhay-Lejith, @ArthrowAbstract, @benHeid, @cedricdonie, @ericjb, @fkiraly, @fnhirwa, @helloplayer1, @ishanpai, @luca-miniati, @meraldoantonio, @ninedigits, @pranavvp16, @sharma-kshitij-ks, @shlok191, @yarnabrina, @YelenaYY
版本 0.29.0 - 2024-04-28#
请注意下面的 Python 3.8 生命周期结束警告。
维护版本
计划的废弃和更改行动
优化测试收集速度
对于上一次非维护内容更新,请参阅 0.28.1。
依赖项变更#
sktime
现在需要scikit-base>=0.6.1
(核心依赖项),这与之前没有下限的要求不同。
弃用和移除#
Python 3.8 生命周期结束#
从 sktime
0.30.0 版本开始,sktime 将要求 Python 版本 >=3.9。虽然不会引发错误,但从 0.30.0 版本起将不再对 Python 3.8 进行测试覆盖和支持。
请注意背景信息:Python 3.8 将于 2024 年 10 月到达生命周期结束,并且包括 scikit-learn
在内的多个 sktime
核心依赖项已停止支持 3.8。
预测#
cINNForecaster
已重命名为 CINNForecaster
。在 0.30.0 版本之前,该估计器仍可在当前位置使用其旧名称访问,之后旧名称将被移除。为准备此名称变更,请将所有导入 cINNForecaster
的代码替换为导入 CINNForecaster
。
变换#
Catch22
变换器中的n_jobs
参数已被移除。用户应改用set_config
传递并行化后端参数。要指定n_jobs
,请在backend:parallel
配置中使用任何支持它的后端,例如"loky"
或"multithreading"
。n_jobs
参数应通过backend:parallel:params
配置传递。要保留之前的行为(特定设置为n_jobs=x
),请使用set_config(**{"backend:parallel": "loky", "backend:parallel:params": {"n_jobs": x}})
。
内容#
贡献者#
版本 0.28.1 - 2024-04-25#
亮点#
估计器标签现已在 API 参考文档中系统地记录 (#6289) @fkiraly
新的来自
pyts
的分类器和变换器接口:BOSSVS, learning shapelets, shapelet transform (#6296) @johannfaouzi (作者), @fkiraly (接口)新的来自
tslearn
的分类器接口:time series SVC, SVR, learning shapelets (#6273) @rtavenar (作者), @fkiraly (接口)如果在
predict
中传递,ForecastX
现在可以使用未来未知的外生变量 (#6199) @yarnabrinaneuralforecast
模型现在具有自动检测日期时间freq
并传递optimizer
的设置 (#6235, #6237) @pranavvp16, @geetu040
依赖项变更#
dask
(数据容器和并行化后端)的界限已更新为<2024.4.2
arch
(变换和参数估计软依赖项)的界限已更新为>=5.6,<7.1.0
holidays
(变换软依赖项)的界限已更新为>=0.29,<0.48
mne
(变换软依赖项)的界限已更新为>=1.5,<1.8
核心接口变更#
所有对象和估计器现在除了现有的 PEP 440 包依赖说明符标签外,还可以通过 env_marker
标签为其依赖项指定 PEP 508 兼容的环境标记。值应为符合 PEP 508 的字符串,例如 platform_system!="Windows"
。
这使得对估计器的依赖项进行更细粒度的控制成为可能,例如,对于需要特定操作系统的估计器。
增强功能#
BaseObject 和基础框架#
基准测试、指标、拆分器#
预测#
[增强]
neuralforecast
相关的小改动 (#6312) @yarnabrina[增强] 选项,允许
ForecastX
在predict
中传递未来未知的外生变量时使用它们 (#6199) @yarnabrina[增强] 为
neuralforecast
模型添加optimizer
参数 (#6235) @pranavvp16[增强] 更新面向
neuralforecast
的估计器中freq="auto"
的行为 (#6237) @geetu040
神经网络#
[增强] 为
CNNNetwork
和ResnetNetwork
添加测试参数 (#6209) @julian-fong
概率分布和模拟器#
时间序列分类#
时间序列聚类#
时间序列回归#
变换#
测试框架#
文档#
[文档] 在
InvertAugmenter
docstring 示例中添加缺失的导入语句 (#6236) @Anteemony[文档] 在 docstring 中添加使用示例 (#6264) @MihirsinhChauhan
[DOC] 为多个估计器的 docstring 添加了使用示例 (#6187) @MihirsinhChauhan
[DOC] 移除教程章节 2.2.4 中的冗余代码 (#6267) @iamSathishR
[DOC] 为
WhiteNoiseAugmenter
添加了示例 (#6200) @SamruddhiNavale
维护#
[MNT] 更新 dask 要求从
<2024.2.2
到<2024.4.2
,在pyproject.toml
中添加新的必需dataframe
额外项。(#6282) @yarnabrina[MNT] 将 @slavik57 添加为维护贡献者,因为其修复了
conda-forge
sktime-all-extras 0.28.0
版本发布问题 (#6308) @tm-slavik57[MNT] [Dependabot](deps-dev): 更新
holidays
要求从<0.46,>=0.29
到>=0.29,<0.47
(#6250) @dependabot[bot][MNT] [Dependabot](deps): 更新
holidays
要求从<0.47,>=0.29
到>=0.29,<0.48
(#6302) @dependabot[bot][MNT] [Dependabot](deps): 更新
arch
要求从<6.4.0,>=5.6
到>=5.6,<7.1.0
(#6307, #6309) @dependabot[bot][MNT] [Dependabot](deps): 更新
pytest-xdist
要求从<3.6,>=3.3
到>=3.3,<3.7
(#6316) @dependabot[bot][MNT] [Dependabot](deps): 更新
mne
要求从<1.7,>=1.5
到>=1.5,<1.8
(#6317) @dependabot[bot][MNT] 更新
dask
要求从<2024.2.2
到<2024.4.2
,在pyproject.toml
中添加新的必需dataframe
额外项。(#6282) @yarnabrina
修复#
数据加载器#
[BUG] 修复
tsf
数据错误日志并使其更精确 (#6258) @pranavvp16
预测#
概率分布和模拟器#
时间序列聚类#
时间序列回归#
[BUG] 在
CNNRegressor
中,修复当verbose=True
时出现的self.model not found
错误 (#6232) @morestart
变换#
[BUG] 修复
window_feature
中自定义函数的向后填充问题 (#6294) @toandaominh1997[BUG] 修复
TSBootstrapAdapter
中返回结果的索引问题 (#6326) @astrogilda[BUG] 修复
STLTransformer.inverse_transform
在单变量情况下的问题 (#6338) @fkiraly
贡献者#
@Anteemony, @astrogilda, @benHeid, @duydl, @fkiraly, @geetu040, @iamSathishR, @julian-fong, @MihirsinhChauhan, @MMTrooper, @mobley-trent, @morestart, @ninedigits, @pranavvp16, @Ram0nB, @SamruddhiNavale, @shlok191, @slavik57, @tm-slavik57, @toandaominh1997, @vandit98, @yarnabrina, @Z-Fran
版本 0.28.0 - 2024-03-27#
维护版本
计划的废弃和更改行动
支持
pandas 2.2.X
有关上次非维护内容更新,请参阅 0.27.1。
依赖项更改#
sktime
现在支持pandas
2.2.X
,边界已更新为<2.3.0,>=1.1
。temporian
(transformations 软依赖) 边界已更新为>=0.7.0,<0.9.0
。pykalman-bardo
依赖项已被原始分支pykalman
替换。pykalman-bardo
已合并回pykalman
,pykalman
不再处于废弃状态。这是一项软依赖,此切换不影响使用其依赖项集合之一安装sktime
的用户。
弃用和移除#
预测#
在
ProphetPiecewiseLinearTrendForecaster
中,季节性参数yearly_seasonality
,weekly_seasonality
和daily_seasonality
的默认值现在为False
。为保留先前的行为,请将这些参数显式设置为"auto"
。
变换#
Catch22
转换器中的n_jobs
参数已弃用,并将在 0.29.0 版本中移除。用户应改为通过set_config
传递并行化后端参数。要指定n_jobs
,请在backend:parallel
配置中使用任何支持它的后端,例如"loky"
或"multithreading"
。n_jobs
参数应通过backend:parallel:params
配置传递。为保留先前的行为,并在特定设置n_jobs=x
下,使用set_config(**{"backend:parallel": "loky", "backend:parallel:params": {"n_jobs": x}})
。Catch22Wrapper
转换器中的n_jobs
参数已移除。用户应改为通过set_config
传递并行化后端参数。要指定n_jobs
,请在backend:parallel
配置中使用任何支持它的后端,例如"loky"
或"multithreading"
。n_jobs
参数应通过backend:parallel:params
配置传递。为保留先前的行为,并在特定设置n_jobs=x
下,使用set_config(**{"backend:parallel": "loky", "backend:parallel:params": {"n_jobs": x}})
。panel.dictionary_based.PAA
在 0.27.0 版本中已重命名为PAAlegacy
,并且sktime.transformations.series.PAA2
已重命名为PAA
。PAA
现在是sktime
中主要的 PAA 实现。弃用周期完成后,这些估计器不再以其先前的名称可用。要迁移依赖代码以使用新名称,请执行以下操作之一:1. 将使用sktime.transformations.panel.dictionary_based
中的PAA
替换为使用sktime.transformations.series.paa
中的PAA2
,并适当切换参数名称,或者 2. 将使用sktime.transformations.panel.dictionary_based
中的PAA
替换为使用sktime.transformations.panel.dictionary_based
中的PAAlegacy
,而不改变参数值。panel.dictionary_based.SAX
在 0.27.0 版本中已重命名为SAXlegacy
,而sktime.transformations.series.SAX2
已重命名为SAX
。SAX
现在是sktime
中主要的 SAX 实现,而前者SAX
将继续作为SAXlegacy
可用。弃用周期完成后,这些估计器不再以其先前的名称可用。要迁移依赖代码以使用新名称,请执行以下操作之一:1. 将使用sktime.transformations.panel.dictionary_based
中的SAX
替换为使用sktime.transformations.series.paa
中的SAX2
,并适当切换参数名称,或者 2. 将使用sktime.transformations.panel.dictionary_based
中的SAX
替换为使用sktime.transformations.panel.dictionary_based
中的SAXlegacy
,而不改变参数值。
内容#
[MNT] [Dependabot](deps-dev): 更新
pytest-cov
要求从<4.2,>=4.1
到>=4.1,<5.1
(#6215) @dependabot[bot][MNT] [Dependabot](deps): 将
tj-actions/changed-files
从 43 升级到 44 (#6226) @dependabot[bot][ENH] 对
get_test_params
在仓库软依赖隔离测试中不失败的情况施加更严格的条件 (#6223) @fkiraly
版本 0.27.1 - 2024-03-25#
亮点#
与
temporian
的第一阶段集成 -TemporianTransformer
转换器 (#5980) @ianspektor, @achoum, @javiber与
tsbootstrap
的第一阶段集成 -TSBootstrapAdapter
转换器 (#5887) @benHeid, @astrogilda, @fkiralypyts
中的 Shapelet 变换现在作为sktime
转换器可用 (#6082) @Abhay-Lejith预测调优器现在可以通过
return_n_best_forecasters=-1
返回所有参数的性能 (#6031) @HassnHamada时间序列拆分器现在是一等公民对象,带有套件测试和
check_estimator
支持 (#6051) @fkiraly
依赖项更改#
temporian
现在是sktime
的软依赖 (transformations)holidays
(transformations 软依赖) 边界已更新为>=0.29,<0.46
dtw-python
边界已更新为>=1.3,<1.5
核心接口更改#
时间序列拆分器现在是完全的一等公民。现在可以使用
check_estimator
检查接口一致性。
弃用和移除#
预测#
cINNForecaster
将在 sktime 0.29.0 版本中重命名为 CINNForecaster。该估计器在其当前位置以未来名称可用,并将在其弃用名称下可用直到 0.30.0 版本。为准备名称更改,请将所有导入 cINNForecaster
替换为导入 CINNForecaster
。
增强#
基准测试、指标、拆分器#
数据加载器#
[ENH] 单文件类型数据加载器中文件扩展名的自动推断 (#6045) @SaiRevanth25
数据类型、检查、转换#
距离、核#
预测#
[ENH] 预测调优器,
return_n_best_forecasters=-1
返回所有预测器的性能 (#6031) @HassnHamada[ENH] 基于
neuralforecast
的 LSTM 模型 by @pranavvp16 (#6047)[ENH] 修复
ForecastingHorizon.freq
在pandas 2.2.X
的处理问题 by @fkiraly (#6057)
神经网络模板#
[ENH] 为
RNNNetwork
添加了测试参数 (#6155) @julian-fong
时间序列分类#
时间序列聚类#
[ENH] 为
TimeSeriesKMeansTslearn
添加新的测试参数集 (#6195) @shankariraja
时间序列回归#
[ENH] 从
sktime-dl
迁移 DL 回归器:CNTC, InceptionTime, MACNN (#6038) @nilesh05apr[ENH]
MultiplexRegressor
- 时间序列回归器的 autoML 多路复用器 (#6075) @ksharma6
变换#
[增强]
TemporianTransformer
- 接口到temporian
(#5980) @ianspektor, @achoum[增强] 重构并改进了
Catch22
转换器 - 支持列名、短别名,重构为pd.Series
,sktime
原生并行化 (#6002) @julnow[增强] 与
pyts
接口的 Shapelet 转换 (#6082) @Abhay-Lejith[增强] 由 @kcentric 添加了一个
test_mstl
模块,检查transform
是否返回期望的组件 (#6084)
测试框架#
文档#
[文档] 由 @yarnabrina 修复 changelog 中的拼写错误 (#6034)
[文档] 更正了开发者指南中提及的 Discord 频道 (#6163) @shankariraja
[文档] 在
FallbackForecaster
中增加对 @rikstarmans 的致谢 (#6069) @fkiraly[文档] 在
BaseSeriesAnnotator
中,记录int_label
选项 (#6143) @Alex-JG3[文档] 修复
_registry.py
中的拼写错误 (#6160) @pranavvp16[文档]
ExponentialSmoothing
默认方法从L-BFGS-B
更改为SLSQP
(#6186) @manuel-munoz-aguirre[文档] 更正
BaseDeepClassifier
docstring 中的弃用版本 (#6197) @fkiraly[文档] 在 README 中添加名人堂组件(已添加名人堂部分)#3716 (#6203) @KaustubhUp025
[文档] 为
DummyClassifier
添加了 docstring 示例 (#6146) @YashKhare20[文档] 修复时间序列回归“入门”示例代码块中的语法错误 (#6022) @sahusiddharth
[文档] 添加空行以正确渲染
FourierFeatures
docstring,sp_list
(#5984) @tiloye[文档] 为
CNNRegressor
添加了 docstring 示例 (#6102) @meraldoantonio[文档] 更正了开发者指南中提及的 Discord 频道 (#6163) @shankariraja
[文档] 在
FallbackForecaster
中增加对 @rikstarmans 的致谢 (#6069) @fkiraly[文档] 修复
_registry.py
中的拼写错误 (#6160) @pranavvp16[文档]
ExponentialSmoothing
- 修复默认方法从L-BFGS-B
更改为SLSQP
后的 docstring (#6186) @manuel-munoz-aguirre[文档] 更正
BaseDeepClassifier
docstring 中的弃用版本 (#6197) @fkiraly[文档] 在 README 中添加名人堂组件和部分 (#6203) @KaustubhUp025
维护#
[维护] [Dependabot](deps-dev):更新
holidays
需求从<0.45,>=0.29
到>=0.29,<0.46
(#6164) @dependabot[bot][维护] [Dependabot](deps-dev):更新
dtw-python
需求从<1.4,>=1.3
到>=1.3,<1.5
(#6165) @dependabot[bot][维护] [Dependabot](deps):将
tj-actions/changed-files
版本从 42 提升到 43 (#6125) @dependabot[bot][维护] 确保 Update Contributors 不在 main 分支上运行 (#6189) @Greyisheep, @duydl
[维护] 初始化更改周期 (0.28.0),用于将
cINNForecaster
重命名为CINNForecaster
(#6121) @geetu040[维护] 更新
forecasting
extra 中的statsforecast
版本 (#6064) @yarnabrina[维护] Docker 文件更新 (#6076) @deysanjeeb
[维护] 在“安装和测试”GHA 工作流中启用并发设置 (#6074) @MEMEO-PRO
修复#
距离,核函数#
[修复] 解决
numba
边界矩阵例程中冗余或存在问题的语句 (#6183) @albertoazzari
估计器注册表#
预测#
[修复] 修复了当
SARIMAX
在预测(predict)时传递X
但训练(fit)时未传递而导致的失败 (#6005) @Abhay-Lejith[修复] 修复如果实现了
predict_proba
,则BaseForecaster.predict_var
的默认行为 (#6067) @fkiraly[修复] 在
ForecastingHorizon
中,当索引值少于 3 个时,忽略pd.infer_freq
的ValueError
(#6097) @tpvasconcelos
时间序列分类#
时间序列回归#
转换#
[修复] 修复
Summarizer
中意外的 NaN 值 (#6081) @ShreeshaM07[修复] 更新
_shapelet_transform_numba.py
以提高数值稳定性 (#6141) @stevcabello
测试框架#
网页#
贡献者#
@Abhay-Lejith, @achoum, @albertoazzari, @Alex-JG3, @astrogilda, @benHeid, @Cyril-Meyer, @deysanjeeb, @duydl, @fkiraly, @fnhirwa, @fspinna, @geetu040, @Greyisheep, @HassnHamada, @ianspektor, @javiber, @julian-fong, @julnow, @KaustubhUp025, @kcentric, @ksharma6, @manuel-munoz-aguirre, @MBristle, @MEMEO-PRO, @meraldoantonio, @nilesh05apr, @pranavvp16, @SaiRevanth25, @sahusiddharth, @shankariraja, @stevcabello, @tiloye, @tpvasconcelos, @vandit98, @XinyuWuu, @YashKhare20
版本 0.27.0 - 2024-02-28#
维护版本
计划的废弃和更改行动
支持软依赖
numba 0.59
和在python 3.12
下的numba
小幅文档更新,GSoC 2024 网站更新
有关上次非维护性内容更新,请参阅 0.26.1。
依赖项变更#
numba
的上限已更新至<0.60
。
弃用和移除#
预测调优器#
在预测调优器
ForecastingGridSearchCV
,ForecastingRandomizedSearchCV
,ForecastingSkoptSearchCV
中,特定于joblib
后端的参数n_jobs
,pre_dispatch
已被移除。用户应改为通过backend_params
参数传递后端参数。直接的替代方法是使用backend='joblib'
,并将n_jobs
和pre_dispatch
通过backend_params
传递。
转换#
在
SplitterSummarizer
中,remember_data
参数已被移除。用户应改为使用fit_on
和transform_on
参数。逻辑上等价的参数替换是:remember_data=True
替换为fit_on='all_train'
和transform_on='all_train'
;以及remember_data=False
替换为fit_on='transform_train'
和transform_on='transform_train'
。panel.dictionary_based.PAA
在 0.27.0 版本中已重命名为PAAlegacy
,而sktime.transformations.series.PAA2
已重命名为PAA
。PAA
现在是sktime
中主要的 PAA 实现,而之前的PAA
将继续以PAAlegacy
的名称可用。这两个估计器也将继续以它们的原名可用,直到 0.28.0 版本。为准备名称变更,请执行以下操作之一:1. 将使用来自sktime.transformations.panel.dictionary_based
的PAA
替换为使用来自sktime.transformations.series.paa
的PAA2
,并相应地切换参数名称;或 2. 将使用来自sktime.transformations.panel.dictionary_based
的PAA
替换为使用来自sktime.transformations.panel.dictionary_based
的PAAlegacy
,无需更改参数值。panel.dictionary_based.SAX
在 0.27.0 版本中已重命名为SAXlegacy
,而sktime.transformations.series.SAX2
已重命名为SAX
。SAX
现在是sktime
中主要的 SAX 实现,而之前的SAX
将继续以SAXlegacy
的名称可用。这两个估计器也将继续以它们的原名可用,直到 0.28.0 版本。为准备名称变更,请执行以下操作之一:1. 将使用来自sktime.transformations.panel.dictionary_based
的SAX
替换为使用来自sktime.transformations.series.paa
的SAX2
,并相应地切换参数名称;或 2. 将使用来自sktime.transformations.panel.dictionary_based
的SAX
替换为使用来自sktime.transformations.panel.dictionary_based
的SAXlegacy
,无需更改参数值。
内容#
文档#
维护#
[维护] [Dependabot](deps-dev):更新
numba
需求从<0.59
到<0.60
(#5877) @dependabot[bot]
版本 0.26.1 - 2024-02-26#
亮点#
neuralforecast
适配器和 rnn 预测器 (#5962) @yarnabrinaFallbackForecaster
现在支持概率预测器和 NaN 处理策略的设置 (#5847, #5924) @ninedigitsstatsforecast
AutoTBATS
接口 (#5908) @yarnabrina来自
sktime-dl
的深度学习回归器已迁移:FCN, LSTMFCN, MLP (#6001) @nilesh05apr
依赖项变更#
dask
(数据容器和并行化后端) 的上限已更新至<2024.2.2
holidays
(转换软依赖) 的上限已更新至>=0.29,<0.44
pyts
现在是分类和转换的软依赖项
核心接口变更#
转换#
所有转换 dunder 现在会自动将 sklearn
转换器强制转换为 sktime
转换器,在使用由 dunder 指定的 sktime
管道中的 sklearn
转换器时,不再需要包装在 TabularToSeriesAdaptor
中。
弃用和移除#
转换#
Catch22Wrapper
的 n_jobs
参数已被弃用,并将在 sktime
0.28.0 版本中移除。用户应改为通过 set_config
传递并行化后端参数。
增强#
基准测试,指标,分割器#
数据加载器#
[增强] 在数据加载器中添加编码参数 (#6000) @Cyril-Meyer
数据类型,检查,转换#
预测#
[增强] 暴露
ProphetPiecewiseLinearTrendForecaster
的季节性参数 (#5834) @sbuse[增强]
FallbackForecaster
- 支持概率预测器 (#5847) @ninedigits[增强] 与
statsmodels
库中的ARIMA
接口 (#5857) @arnaujc91[改进]
statsforecast
AutoTBATS
直接接口估计器 (#5908) @yarnabrina[改进] 直接
statsforecast
接口估计器中的几项更新 (#5920) @yarnabrina[改进] 为
FallbackForecaster
添加了 nan 策略处理器 (#5924) @ninedigits[改进]
ForecastX
选项,用于在预测未来未知外生变量时使用未来已知变量作为外生变量 (#5926) @fkiraly[改进]
neuralforecast
适配器和 RNN 预测器 (#5962) @yarnabrina[改进] 重构
ForecastingSkoptSearchCV
以使用抽象并行化后端 (#5973) @fkiraly[改进] 在
ForecastingPipeline
中,允许将None
X
传递给变换器 (#5977) @albahhar, @fkiraly
时间序列标注#
[改进]
GMMHMM
的第二组测试参数 (#5931) @sanjayk0508
时间序列分类#
时间序列回归#
[改进] 从
sktime-dl
迁移深度学习回归器:FCN、LSTMFCN、MLP (#6001) @nilesh05apr
变换#
测试框架#
修复#
预测#
流水线#
概率分布和模拟器#
时间序列分类#
变换#
[错误] 修复了 MSTL 变换器的 transform 方法 (#5996) @Abhay-Lejith
维护#
[维护] 通过根据版本使用不同的模拟方法修复 moto 破坏性更改 (#5858) @yarnabrina
[维护] 通过使用更新的
root_mean_absolute_error
函数解决了 RMSE 的FutureWarning
(#5884) @yarnabrina[维护] 当软依赖缺失时跳过
mlflow
测试 (#5888) @achieveordie[维护] 更新了多个 actions 的版本 (#5929) @yarnabrina
[维护] 为 coverage 上传添加 codecov token (#5930) @yarnabrina
[维护] CI main 分支修复:添加 checkout 步骤以检测 CI 中的步骤 (#5945) @fkiraly
[维护] 避免在 CI 中为文档/模板等更改运行单元测试 (#5976) @yarnabrina
[维护] [Dependabot](deps-dev):更新 dask requirement 从
<2024.1.1
到<2024.1.2
(#5861) @dependabot[bot][维护] [Dependabot](deps-dev):更新 dask requirement 从
<2024.1.2
到<2024.2.1
(#5958) @dependabot[bot][维护] [Dependabot](deps-dev):更新 holidays requirement 从
<0.43,>=0.29
到>=0.29,<0.44
(#5965) @dependabot[bot][维护] [Dependabot](deps-dev):更新 dask requirement 从
<2024.2.1
到<2024.2.2
(#5991) @dependabot[bot]
文档#
[文档] 文档中的拼写错误,将 monotonous 修正为 monotonic (#5946) @eduardojp26
[文档] 修复 docstring 中的拼写错误 (#5949) @yarnabrina
[文档] 修复 docstring 中的拼写错误 (#5950) @yarnabrina
[文档] 正确格式化
feature_selection.py
中的 docstrings (#5994) @oleeviyababu
贡献者#
@Abhay-Lejith, @achieveordie, @albahhar, @arnaujc91, @benHeid, @ciaran-g, @Cyril-Meyer, @eduardojp26, @fkiraly, @ivarzap, @ninedigits, @oleeviyababu, @sanjayk0508, @sbuse, @Vasudeva-bit, @yarnabrina
版本 0.26.0 - 2024-01-27#
维护版本
支持
scikit-learn 1.4.X
计划的弃用
小错误修复
对于最新的非维护内容更新,请参见 0.25.1。
依赖项更改#
scikit-learn
的界限已更新为>=0.24.0,<1.5.0
。
弃用和移除#
基准测试、指标、分割器#
在预测
evaluate
中,kwargs
已被移除。用户应改为通过backend_params
参数传递后端参数。
数据类型、检查、转换#
在
check_is_mtype
中,msg_return_dict
的默认值已更改为"dict"
预测调优器#
在预测调优器
ForecastingGridSearchCV
,ForecastingRandomizedSearchCV
,ForecastingSkoptSearchCV
中,使用joblib
后端特定参数n_jobs
,pre_dispatch
已被弃用,并将在sktime
0.27.0 中移除。用户应改为通过backend_params
参数传递后端参数。
时间序列分类#
在
SimpleRNNClassifier
中,参数num_epochs
已被重命名为n_epochs
。原参数名num_epochs
已被移除。
时间序列回归#
在
SimpleRNNRegressor
中,参数num_epochs
已被重命名为n_epochs
。原参数名num_epochs
已被移除。
目录#
[维护] [Dependabot](deps-dev): 更新
scikit-learn
requirement 从<1.4.0,>=0.24
到>=0.24,<1.5.0
(#5776) @dependabot[bot][维护] [Dependabot](deps): Bump styfle/cancel-workflow-action from
0.12.0
到0.12.1
(#5839) @dependabot[bot][维护] [Dependabot](deps): Bump dorny/paths-filter from
2
到3
(#5838) @dependabot[bot][错误] 修复
IgnoreX
中的标签处理问题 (#5843) @tpvasconcelos, @fkiraly
版本 0.25.1 - 2024-01-24#
亮点#
在
make_reduction
中,直接 reduction 预测器现在支持来自skpro
的概率表格回归器 (#5536) @fkiraly新的、高效、可并行化的 PAA 和 SAX 变换器实现,可用作
PAA2
,SAX2
(#5742) @steenrotsmanFallbackForecaster
,用于异常处理的多个预测器回退链 (#5779) @ninedigits时间序列分类:
sktime
原生网格搜索,用于 autoML 的多路复用器 (#4596, #5678) @achieveordie, @fkiraly从
sktime-dl
迁移的分类器:CNTC 分类器 (#3978) @aurumnpegasus算法的作者和维护者现在通过标签
"authors"
和"maintainers"
进行跟踪,参见下文
依赖项更改#
arch
(预测和参数估计软依赖) 的界限已更新为>=5.6,<6.4.0
(#5771) @dependabot[bot]mne
(变换软依赖) 的界限已更新为>=1.5,<1.7
(#5585) @dependabot[bot]dask
(数据容器和并行化后端) 的界限已更新为<2024.1.1
(#5748) @dependabot[bot]
核心接口更改#
BaseObject 和基础框架#
估计器和对象现在在新的标签
"authors"
和"maintainers"
中记录作者和维护者信息。这仅对sktime
本身和兼容的第三方包中的估计器是必需的。它也用于生成sktime
网页查找功能中使用的迷你包头。sktime
包中的作者和维护者信息不再记录在CODEOWNERS
中,而是在新的标签"authors"
和"maintainers"
中记录。作者和维护者无需对此更改采取行动,因为这已由sktime
维护者完成。然而,鼓励作者和维护者检查标签中的信息,并标记任何意外的遗漏或错误。
基准测试、指标、分割器#
预测点预测指标现在也支持通过
set_config
进行并行化,以在分层或多元数据上进行广播
预测#
通过将配置
"remember_data"
通过set_config
设置为False
,现在可以阻止预测器将所有已见数据存储为self._y
和self._X
。这对于预测器的序列化很有用。目前,此设置仅支持不会触发实例或变量广播的数据和预测器组合,但未来此功能将扩展到所有情况。
参数估计和假设检验#
现在可以使用
*
dunder 快速构建基于参数插件或估计的参数调优估计器,它将构建一个PluginParamsForecaster
或PluginParamsTransformer
,将左侧元素的所有拟合参数 (get_fitted_params
) 插入到右侧元素中 (set_params
),参数名称匹配时。例如,SeasonalityACF() * Deseasonalizer()
将构建一个Deseasonalizer
,其sp
(季节性周期) 参数由SeasonalityACF
调优,通过时间序列上的 ACF 显著性准则估计sp
。*
dunder 向左绑定,例如Differencer() * SeasonalityACF() * Deseasonalizer()
将构建一个Deseasonalizer
,其sp
(季节性周期) 参数由SeasonalityACF
调优,通过对第一次差分数据(用于平稳性)上的 ACF 显著性准则估计sp
。此处第一次差分不应用于Deseasonalizer
,仅应用于SeasonalityACF
的输入,因为第一个*
构建了一个参数估计器,第二个*
将参数估计器插入到Deseasonalizer
中。
变换#
变换,即
BaseTransformer
后代实例,现在也可以在_transform
中返回None
,这被解释为空数据。
弃用和移除#
变换#
panel.dictionary_based.PAA
在sktime
0.27.0 版本中将被重命名为PAAlegacy
,而sktime.transformations.series.PAA2
将被重命名为PAA
。PAA2
将成为sktime
中主要的 PAA 实现,而当前的PAA
将继续以PAAlegacy
的名称可用。这两个评估器目前在其当前位置也可通过未来的名称访问,并将以其已弃用的名称可用直到 0.28.0 版本。为了准备名称变更,请执行以下任一操作:1. 将sktime.transformations.panel.dictionary_based
中的PAA
用法替换为sktime.transformations.series.paa
中的PAA2
用法,并相应调整参数名称;或 2. 将sktime.transformations.panel.dictionary_based
中的PAA
用法替换为sktime.transformations.panel.dictionary_based
中的PAAlegacy
用法,无需更改参数值。panel.dictionary_based.SAX
在sktime
0.27.0 版本中将被重命名为SAXlegacy
,而sktime.transformations.series.SAX2
将被重命名为SAX
。SAX2
将成为sktime
中主要的 SAX 实现,而当前的SAX
将继续以SAXlegacy
的名称可用。这两个评估器目前在其当前位置也可通过未来的名称访问,并将以其已弃用的名称可用直到 0.28.0 版本。为了准备名称变更,请执行以下任一操作:1. 将sktime.transformations.panel.dictionary_based
中的SAX
用法替换为sktime.transformations.series.paa
中的SAX2
用法,并相应调整参数名称;或 2. 将sktime.transformations.panel.dictionary_based
中的SAX
用法替换为sktime.transformations.panel.dictionary_based
中的SAXlegacy
用法,无需更改参数值。
增强功能#
BaseObject 和基础框架#
基准测试、指标、分割器#
数据类型、检查、转换#
预测#
[ENH] 在
make_reduction
中支持概率回归器 (skpro
),直接缩减 (#5536) @fkiraly[ENH]
BaseForecaster
获取列的私有工具,适用于所有类似predict
的函数 (#5590) @fkiraly[ENH] 为
TBATS
添加第二个测试参数 (#5689) @NguyenChienFelix33[ENH] 在预测器中关闭数据内存的配置 (#5676) @fkiraly, @corradomio
[ENH] 暴露
statsmodels
中SARIMAX
的fit
方法支持的参数 (#5787) @yarnabrina[ENH]
FallbackForecaster
,在多个预测器链失败时回退 (#5779) @ninedigits
参数估计和假设检验#
[ENH] 简化
BaseEstimator._get_fitted_params()
和BaseParamFitter
对该方法的继承 (#5633) @tpvasconcelos
概率分布和模拟器#
时间序列分类#
转换#
测试框架#
修复#
BaseObject 和基础框架#
基准测试、指标、分割器#
数据加载器#
[BUG] 修复
sktime.datasets.load_UCR_UEA_dataset
中的extract_path
参数 (#5744) @steenrotsman
数据类型、检查、转换#
预测#
流水线#
时间序列分类#
时间序列回归#
转换#
[BUG] 跳过
ExponentialSmoothing
中零星的测试错误 (#5516) @achieveordie[BUG] 修复
TSFreshClassifier.predict
中内部特征列的零星排列错误 (#5673) @fkiraly[BUG] 确保
MultiRocketMultivariate
使用random_state
(#5710) @chrico-bu-uab
测试框架#
[BUG] 修复 Dockerized 测试 (#5426) @kurayami07734
维护#
[MNT] [Dependabot](deps-dev): 更新 sphinx-issues 要求从
<4.0.0
到<5.0.0
(#5792) @dependabot[bot][MNT] [Dependabot](deps): Bump tj-actions/changed-files 从 41 到 42 (#5777) @dependabot[bot]
[MNT] [Dependabot](deps-dev): 更新 arch 要求从
<6.3.0,>=5.6
到>=5.6,<6.4.0
(#5771) @dependabot[bot][MNT] [Dependabot](deps-dev): 更新 mne 要求从
<1.6,>=1.5
到>=1.5,<1.7
(#5585) @dependabot[bot][MNT] [Dependabot](deps-dev): 更新 dask 要求从
<2023.12.2
到<2024.1.1
(#5748) @dependabot[bot][MNT] 修复预测调整器中
n_jobs
、pre_dispatch
的错误弃用逻辑,将弃用版本提升到 0.27.0 (#5784) @fkiraly[MNT] 更新 binder dockerfile 中的 python 版本到 3.11 (#5762) @fkiraly
[MNT] 处理
pandas
的各种弃用问题 (#5733) @fkiraly, @yarnabrina[MNT] 代码质量更新 (#5786) @yarnabrina
[MNT] 更改
SAX2
和PAA2
重命名为SAX
、PAA
作为主要实现的周期 (#5799) @fkiraly[MNT] 处理
EnsembleForecaster
中pd.DataFrame.groupby(axis=1)
的弃用问题 (#5707) @ninedigits[MNT] 为
MultiRocket
和MultiRocketMultivariate
添加缺少的__author__
字段 (#5698) @fkiraly[MNT] 处理指标类中
DataFrame.groupby(axis=1)
的弃用问题 (#5709) @fkiraly[MNT] 在
transformations
依赖项集中添加上限pycatch22<0.4.5
,以避免在 Windows 上安装错误 (#5670) @yarnabrina[MNT] 重构新 CI 以修复一些错误和其他小的增强 (#5638) @yarnabrina
[MNT] 更新 pyproject.toml 中的
tslearn
依赖项版本 (#5686) @DManowitz[MNT] 修复几个拼写错误 (#5639) @yarnabrina
文档#
[DOC] 在
CONTRIBUTORS.md
中注释源文件是all-contributorsrc
(#5687) @fkiraly[DOC] 改进了
TrendForecaster
和PolynomialTrendForecaster
的文档字符串 (#5747) @fkiraly[DOC] 改进了
TimeSeriesForestClassifier
的文档字符串 (#5741) @fkiraly[DOC]
Imputer
:文档字符串清晰度改进,条件参数处理逻辑 (#3916) @aiwalter, @fkiraly`[DOC] 改进预测调整器文档字符串中描述
strategy="refit"
的清晰度 (#5711) @fkiraly[DOC] 将
ReducerTransform
和DirectReductionForecaster
添加到 API 参考中 (#5690) @fkiraly
贡献者#
@achieveordie, @aiwalter, @alex-jg3, @aurumnpegasus, @benheid, @chrico-bu-uab, @corradomio, @DManowitz, @fkiraly, @hliebert, @NguyenChienFelix33, @ninedigits, @kurayami07734, @steenrotsman, @tpvasconcelos, @tvdboom, @yarnabrina
版本 0.25.0 - 2023-12-26#
包含基类更新和计划废弃的发布
对于上一个较大的功能更新,请参见 0.24.2。
核心接口变化#
时间序列分类和回归#
基类框架现在支持多输出分类器或回归器。所有分类器和回归器现在都能够进行多输出预测,包括所有第三方分类器和回归器。现在可以传递多输出
y
,形式为二维np.ndarray
或pd.DataFrame
,其中每列对应一个输出。predict
方法将返回相同类型的预测输出。为了保持向后兼容性,对于单变量输出,predict
将始终返回一维np.ndarray
,目前这不受废弃的影响。真正的多输出分类器和回归器通过新的标签
capability:multioutput
设置为True
来标识。所有其他分类器和回归器会按y
的列进行广播,可以通过设置backend:parallel
和backend:parallel:params
配置标志来选择并行化后端,详情请参阅set_config
的 docstring。一旦sktime
更新,广播会通过基类继承自动扩展到所有现有的第三方分类器和回归器,估计器类本身无需更新。分类器和回归器现在有一个标签
y_inner_mtype
,这允许扩展者指定内部mtype
,其 scitype 为Table
。该标签中指定的 mtype 是在私有_fit
方法中看到的y
的保证 mtype。默认值与先前隐式的numpy1D
mtype 相同。因此,第三方分类器和回归器无需更新,并且应完全向上兼容。
转换器#
基类框架现在支持将
Panel
数据聚合到Series
数据中的转换器,即面板到序列的转换器,例如,求平均。这些转换器通过标签scitype:transform-input
设置为"Panel"
和scitype:transform-output
设置为"Series"
来标识。例如Merger
。
废弃和移除#
基准测试、指标、拆分器#
时间序列拆分器,即
BaseSplitter
的后代,已从sktime.forecasting.model_selection
移至sktime.split
。自 0.25.0 版本起,它们不再位于旧位置sktime.forecasting.model_selection
。预测调优器仍存在于sktime.forecasting.model_selection
中,其位置不受废弃影响。在预测
evaluate
中,返回数据框中的列顺序已更改。用户应查阅evaluate
的 docstring 获取详细信息。在预测
evaluate
中,compute
参数已移除,此前在 0.24.0 中已废弃。其目的是在dask
并行化后端中区分延迟(lazy)或即时(eager)评估。要切换延迟和即时评估,用户应改用backend
参数选择dask
或dask_lazy
。在预测
evaluate
中,kwargs
已废弃,移除时间推迟到 0.26.0。用户应通过backend_params
参数传递后端参数。
内容#
贡献者#
版本 0.24.2 - 2023-12-24#
重点#
依赖项变更#
dask
(数据容器和并行化后端)的边界已更新到<2023.12.2
。holidays
(转换器软依赖项)的边界已更新到>=0.29,<0.40
。
核心接口变化#
预测#
fit_predict
现在允许为predict
指定X_pred
参数。如果传递了X_pred
,则在predict
中使用X_pred
作为X
,而不是X
。这对于期望X
限定在预测范围内的预测器很有用。现在支持用于分层和多元预测广播的自定义
joblib
后端。要使用自定义joblib
后端,请使用set_config
将backend:parallel
配置标志设置为"joblib"
,并将通过backend:parallel:params
设置的dict
中的backend
参数设置为自定义joblib
后端的名称。其他后端参数可以在同一个dict
中传递。详情请参阅set_config
的 docstring。
时间序列分类#
在
SimpleRNNClassifier
中,num_epochs
参数已废弃并重命名为n_epochs
。num_epochs
可以在sktime
0.25.last 之前使用,但在sktime
0.26.0 中将被移除。如果使用num_epochs
,将发出废弃警告。
时间序列回归#
在
SimpleRNNRegressor
中,num_epochs
参数已废弃并重命名为n_epochs
。num_epochs
可以在sktime
0.25.last 之前使用,但在sktime
0.26.0 中将被移除。如果使用num_epochs
,将发出废弃警告。
转换器#
现在支持用于分层和多元转换器广播的自定义
joblib
后端。要使用自定义joblib
后端,请使用set_config
将backend:parallel
配置标志设置为"joblib"
,并将通过backend:parallel:params
设置的dict
中的backend
参数设置为自定义joblib
后端的名称。其他后端参数可以在同一个dict
中传递。详情请参阅set_config
的 docstring。
增强#
BaseObject 和基础框架#
基准测试、指标、拆分器#
数据类型、检查、转换#
预测#
[增强] 预测器
fit_predict
带有用于predict
的X_pred
参数 (#5562) @fkiraly[增强] 重构
DirectReductionForecaster
以使用sklearn
输入强制转换工具 (#5581) @fkiraly[增强] 为
Prophet
添加fit_kwargs
(#5597) @tpvasconcelos[增强]
Croston
测试参数 - 整数平滑参数 (#5608) @NguyenChienFelix33
参数估计和假设检验#
[增强] 添加新的
FunctionParamFitter
参数估计器 (#5630) @tpvasconcelos
时间序列标注#
时间序列分类#
[增强] 在上游 bug 修复后,在
nsfa>0
情况下重新启用和修复MrSQM
的持久性测试 (#5171) @fkiraly[增强] 在
SimpleRNNClassifier
和SimpleRNNRegressor
中将num_epochs
重命名为n_epochs
(#5607) @aeyazadil
时间序列聚类#
转换器#
可视化#
测试框架#
修复#
BaseObject 和基础框架#
数据类型、检查、转换#
[BUG] 修复 mtype 标签
np.ndarray
中的拼写错误,由错误的nd.array
导致 (#5645) @yarnabrina
预测#
[BUG] 在
ARCH
中,修复pd.Series
名称的str
强制转换 (#5407) @Vasudeva-bit[BUG] 将正确的级别参数从
StatsForecastBackAdapter
传递给statsforecast
(#5587) @sd2k[BUG] 修复当数据只有一个层次级别且预测器按节点指定时,
HierarchyEnsembleForecaster
返回意外预测的问题 (#5615) @VyomkeshVyas[BUG] 修复
ForecastingHorizon.to_absolute
中时区属性丢失的问题 (#5628) @fkiraly[BUG] 在
_StatsModelsAdapter
预测中,将索引匹配更改为整数 (#5642) @ciaran-g
转换器#
可视化#
维护#
[维护] CI 修改 (#5498) @yarnabrina
[维护] 重命名基类中的变量 (#5502) @yarnabrina
[维护] 更新 pre-commit hooks (#5646) @yarnabrina
[维护] [Dependabot](deps-dev): 更新
pytest-xdist
要求从<3.4,>=3.3
到>=3.3,<3.5
(#5551) @dependabot[bot][维护] [Dependabot](deps-dev): 更新
dask
要求从<2023.7.1
到<2023.11.1
(#5552) @dependabot[bot][维护] [Dependabot](deps-dev): 更新
dask
要求从<2023.11.1
到<2023.12.2
(#5629) @dependabot[bot][维护] [Dependabot](deps-dev): 更新
holidays
要求从<0.36,>=0.29
到>=0.29,<0.37
(#5538) @dependabot[bot][MNT] [Dependabot](deps-dev): 将
holidays
要求的版本从<0.37,>=0.29
更新到>=0.29,<0.38
(#5565) @dependabot[bot][MNT] [Dependabot](deps-dev): 将
holidays
要求的版本从<0.38,>=0.29
更新到>=0.29,<0.40
(#5637) @dependabot[bot][MNT] [Dependabot](deps-dev): 将
sphinx-gallery
要求的版本从<0.15.0
更新到<0.16.0
(#5566) @dependabot[bot][MNT] [Dependabot](deps-dev): 将
pytest-xdist
要求的版本从<3.5,>=3.3
更新到>=3.3,<3.6
(#5567) @dependabot[bot][MNT] [Dependabot](deps-dev): 将
pycatch22
要求的版本从<0.4.4
更新到<0.4.5
(#5542) @dependabot[bot][MNT] [Dependabot](deps): 将 actions/download-artifact 从 3 提升到 4 (#5627) @dependabot[bot]
[MNT] [Dependabot](deps): 将 actions/setup-python 从 4 提升到 5 (#5605) @dependabot[bot]
[MNT] [Dependabot](deps): 将 actions/upload-artifact 从 3 提升到 4 (#5626) @dependabot[bot]
文档#
[DOC] 修正 “RocketClassifier” 中的 ReST 语法 (#5564) @rahulporuri
[DOC] 添加了配合 Joanna Lenczuk 博客文章的 notebook 用于测试 (#5604) @onyekaugochukwu, @joanlenczuk
[DOC] 删除 docstring 中定义不正确的额外参数 (#5617) @wayneadams
[DOC] 修正
AA_datatypes_and_datasets.ipynb
中面板数据加载示例的拼写错误 (#5594) @fkiraly[DOC] 预测
evaluate
工具 - 改进 docstring 中的算法描述 #5603 (#5603) @adamkells[DOC] 添加关于 rocket 转换器 fit/transform 实例链接行为的解释 (#5621) @fkiraly
[DOC] 调整
FunctionTransformer
的 docstring (#5634) @tpvasconcelos[DOC] 修正
pytest.mark.skipif
中的拼写错误 (#5640) @yarnabrina
贡献者#
@adamkells, @aeyazadil, @Alex-JG3, @benHeid, @ciaran-g, @fkiraly, @fspinna, @joanlenczuk, @NguyenChienFelix33, @onyekaugochukwu, @rahulporuri, @sbuse, @sd2k, @sssilvar, @tpvasconcelos, @Vasudeva-bit, @VyomkeshVyas, @wayneadams, @yarnabrina
版本 0.24.1 - 2023-11-05#
亮点#
torch
适配器,LTSF 预测器 - 线性、D-线性、N-线性 (#4891, #5514) @luca-miniatiFourierFeatures
中更多周期选项:pandas
周期别名和来自 offset 列 (#5513) @Ram0nBSignatureTransformer
的iisignature
后端选项 (#5398) @sz85512678TimeSeriesForestClassifier
特征重要性和优化的区间生成 (#5338) @YHallouard来自
arch
包的所有平稳性测试作为估计器可用 (#5439) @Vasudeva-bit双曲正弦变换及其逆变换
ScaledAsinhTransformer
,用于软输入或输出裁剪 (#5389) @ali-parizad估计器序列化:用户可在
save
方法和mlfow
插件中选择serialization_format
,支持cloudpickle
(#5486, #5526) @achieveordie
依赖项变更#
holidays
(转换软依赖) 版本范围已更新至>=0.29,<0.36
。torch
现在是神经网络的托管软依赖项 (dl
测试集)
核心接口变更#
如果使用
scikit-base>=0.6.1
:set_params
现在将唯一的__
分隔后缀识别为完整参数字符串的别名,例如,可以使用set_params(foo="bar")
而不是set_params(estimator__detrender__forecaster__supercalifragilistic__foo="bar")
。这同样适用于调优器中参数名称的使用,例如ForecastingGridSearchCV
网格,以及内部使用set_params
的估计器。get_params
的行为保持不变。sktime
现在支持使用cloudpickle
进行估计器序列化,其中pickle
是标准的序列化后端。要选择序列化后端,请使用估计器save
方法的serialization_format
参数。cloudpickle
已经是软依赖项,因此无需更改依赖项。
改进#
BaseObject 和基础框架#
[ENH] 估计器序列化:用户可选择
serialization_format
,支持cloudpickle
(#5486) @achieveordie
基准测试、指标、分割器#
数据集和数据加载器#
[ENH] 添加用于时间序列回归的 tecator 数据集作为
sktime
内置数据集 (#5428) @JonathanBechtel
预测#
[ENH]
LTSFLinearForecaster
,LTSFLinearNetwork
,BaseDeepNetworkPyTorch
(#4891) @luca-miniati[ENH]
LTSFDLinearForecaster
,LTSFNLinearForecaster
(#5514) @luca-miniati
MLOps 与部署#
[ENH] 在
mlflow
插件中,改进ModuleNotFoundError
消息的信息量 (#5487) @achieveordie[ENH] 在
mlflow
插件中添加对 DL 估计器持久化的支持 (#5526) @achieveordie
神经网络#
[ENH] 神经网络的
pytorch
适配器 (#4891) @luca-miniati
参数估计和假设检验#
[ENH] 提供对
arch
包中平稳性测试的接口 (#5439) @Vasudeva-bit
时间序列标注#
[ENH] 为变化点和分段绘图函数添加单元测试 (#5509) @adamkells
时间序列分类#
[ENH]
TimeSeriesForestClassifier
特征重要性和优化的区间生成 (#5338) @YHallouard
转换#
[ENH] 添加双曲正弦变换及其逆变换 (ScaledAsinhTransformer) (#5389) @ali-parizad
[ENH]
SignatureTransformer
的iisignature
后端选项 (#5398) @sz85512678[ENH]
FourierFeatures
中更多周期选项:pandas
周期别名和来自 offset 列 (#5513) @Ram0nB
维护#
[MNT] 自动格式化 pyproject (#5425) @yarnabrina
[MNT] 由于补丁版本中存在重大变更,将
pycatch22
限制在<0.4.4
版本 (#5434) @fkiraly[MNT] 移除两个最近添加的钩子 (#5453) @yarnabrina
[MNT] 新的 CI 工作流程以测试 extras (#5375) @yarnabrina
[MNT] 根据具有特定软依赖项的组件拆分 CI 作业 (#5304) @yarnabrina
[MNT] 修正
base
模块中的拼写错误 (#5313) @yarnabrina[MNT] 修正
forecasting
模块中的拼写错误 (#5314) @yarnabrina[MNT] 添加缺失的 checkout 步骤 (#5471) @yarnabrina
[MNT] 添加代码质量检查,无需使用过时/弃用的 Github actions (#5427) @yarnabrina
[MNT] 回滚 PR #4681 (#5508) @yarnabrina
[MNT] 处理来自
ExpandingGreedySplitter
的pandas
构造函数弃用消息 (#5500) @fkiraly[MNT] 处理
pd.DataFrame.fillna
中使用method
参数的弃用问题 (#5497) @fkiraly[MNT] 数据集下载器测试工作流程 (#5437) @yarnabrina
[MNT] 回滚 PR #4681 (#5508) @yarnabrina
[MNT] [Dependabot](deps): 将 actions/setup-node 从 3 提升到 4 (#5483) @dependabot[bot]
[MNT] [Dependabot](deps-dev): 将 pytest-timeout 要求的版本从 <2.2,>=2.1 更新到 >=2.1,<2.3 (#5482) @dependabot[bot]
[MNT] [Dependabot](deps): 将 tj-actions/changed-files 从 39 提升到 40 (#5492) @dependabot[bot]
[MNT] [Dependabot](deps-dev): 将 holidays 要求的版本从 <0.35,>=0.29 更新到 >=0.29,<0.36 (#5443) @dependabot[bot]
文档#
[DOC] 修正更多拼写错误 (#5478) @szepeviktor
[DOC] 更新
STLTransformer
的 docstring,修正关于逆变换和管道的陈述 (#5455) @fkiraly
修复#
BaseObject 和基础框架#
基准测试、指标、分割器#
预测#
参数估计和假设检验#
时间序列标注#
时间序列分类#
转换#
可视化#
贡献者#
@achieveordie, @adamkells, @Alex-JG3, @ali-parizad, @ciaran-g, @fkiraly, @JonathanBechtel, @kianmeng, @luca-miniati, @pseudomo, @Ram0nB, @sz85512678, @szepeviktor, @tpvasconcelos, @Vasudeva-bit, @yarnabrina, @YHallouard
版本 0.24.0 - 2023-10-13#
维护版本
支持 python 3.12
计划的弃用
软依赖更新
有关上次非维护内容更新,请参阅 0.23.1。
依赖项变更#
pykalman
依赖项已由其分支pykalman-bardo
替换。pykalman
已被弃用,而pykalman-bardo
是一个有人维护的分支。这是一个软依赖项,此切换不会影响使用sktime
某个依赖集安装的用户。中期来看,我们期望pykalman-bardo
合并回pykalman
,之后依赖项将切换回pykalman
。holidays
(转换软依赖) 版本范围已更新至>=0.29,<0.35
。numba
(分类、回归和转换软依赖) 版本范围已更新至>=0.53,<0.59
。skpro
(预测软依赖) 版本范围已更新至>=2.0.0,<2.2.0
。
弃用和移除#
在预测调优器
ForecastingGridSearchCV
,ForecastingRandomizedSearchCV
,ForecastingSkoptSearchCV
中,参数tune_by_variable
的默认值已从True
切换到False
。
目录#
[维护] 更新
numba
要求从<0.58,>=0.53
到>=0.53,<0.59
(#5299, #5319) @dependabot[bot], @fkiraly[维护] [Dependabot](deps-dev): 更新
skpro
要求从<2.1.0,>=2.0.0
到>=2.0.0,<2.2.0
(#5396) @dependabot[bot][维护] [Dependabot](deps-dev): 更新
holidays
要求从<0.34,>=0.29
到>=0.29,<0.35
(#5342) @dependabot[bot][维护] 从
pykalman
迁移到pykalman-bardo
(#5277) @mbalatsko
贡献者#
版本 0.23.1 - 2023-10-12#
亮点#
所有分层/多元预测器和转换器广播现在都可以通过
set_config
使用并行化后端joblib
和dask
(#5267, #5268, #5301, #5311, #5405) @fkiralyPeakTimeFeatures
转换器,用于生成一个或多个高峰时、日等指标特征 (#5191) @ali-parizadARCH 预测器,接口连接
arch
包 (#5326) @Vasudeva-bit预测合成器
ForecastX
现在允许在预测的X
上拟合forecaster_y
(#5334) @benHeid分割器已迁移到其自己的模块
sktime.split
(#5017) @BensHamza
依赖项变更#
attrs
不再是sktime
的软依赖项(时间序列标注)arch
现在是sktime
的软依赖项(预测)skpro
现在是sktime
的软依赖项(预测)
核心接口变更#
BaseObject 和基础框架#
sktime
框架现在主要通过标签object_type
检查估计器类型。这不是一个破坏性变更,因为继承相应的基类也会通过标签继承系统自动设置标签。类型检查工具scitype
也不受影响。对于扩展者来说,这项变更使得多态和动态类型估计器成为可能。sktime
的警告现在可以通过配置warnings
(通过set_config
设置,参见文档字符串)按估计器进行屏蔽。
预测#
分层和多元预测现在可以使用并行化和分布式后端,包括
joblib
和dask
,如果预测是通过广播获得的。要启用并行化,在拟合预测器之前,通过set_config
(参见文档字符串)设置配置标志backend:parallel
和/或backend:parallel:params
。这项变更通过继承更新的基础框架,立即扩展到所有符合接口的现有第三方预测器。
时间序列回归#
时间序列回归器现在允许将单列
pd.DataFrame
作为y
。当前行为不受影响,这对现有代码来说不是一个破坏性变更。
转换#
分层和多元转换器现在可以使用并行化和分布式后端,包括
joblib
和dask
,如果转换是通过广播获得的。要启用并行化,在拟合转换器之前,通过set_config
(参见文档字符串)设置配置标志backend:parallel
和/或backend:parallel:params
。这项变更通过继承更新的基础框架,立即扩展到所有符合接口的现有第三方转换器。
废弃和移除#
基准测试、指标、分割器#
时间序列分割器,即
BaseSplitter
的后代,已从sktime.forecasting.model_selection
迁移到sktime.split
。旧位置model_selection
已被废弃,并将在 0.25.0 版本中移除。在 0.25.0 版本之前,它仍然可用,但会引发一个信息性警告消息。
增强#
BaseObject 和基础框架#
基准测试、指标、分割器#
[增强] 将分割器整合为自己的模块,包含系统性测试和扩展 (#5017, #5331) @BensHamza, @fkiraly
[增强] 允许
evaluate
接受多种指标的任意组合,并使用正确的预测方法 (#5192) @hazrulakmal
数据加载器#
[增强] 数据集加载器模块重构 (#5239) @hazrulakmal
预测#
[增强] 添加基于
scipy
optimize_curve
的CurveFitForecaster
(#5240) @benHeid[增强] 将
test_interval_wrappers.py
链接到evaluate
的变更,用于条件测试 (#5337) @fkiraly[增强] 在多元或分层情况下的估计器广播中添加
joblib
和dask
后端 - 第 1 部分,VectorizedDF.vectorize_est
(#5267) @fkiraly[增强] 在多元或分层情况下的估计器广播中添加
joblib
和dask
后端 - 第 2 部分,基类配置 (#5301) @fkiraly[增强] ARCH 模型接口连接
arch
包 (#5326) @Vasudeva-bit[增强] 在
ForecastX
中,启用在预测的X
上拟合forecaster_y
(#5334) @benHeid[增强] 如果内部
forecaster_y
忽略X
,则跳过ForecastX
中不必要的拟合 (#5353) @yarnabrina[增强] 移除
TestAllEstimators
中关于predict_proba
的旧异常处理 (#5386) @fkiraly
时间序列对齐#
时间序列距离和核#
时间序列回归#
[增强] 在
BaseRegressor
中,允许y
是 1D 的pd.DataFrame
(#5282) @mdsaad2305
转换#
[增强]
PeakTimeFeatures
转换器,用于生成一个或多个高峰/小时-日-周等的指标特征,工作时间等 (#5191) @ali-parizad[增强]
VmdTransformer
,添加分解-预测-重组作为 docstring 示例和测试 (#5250) @fkiraly [增强] 改进evaluate
失败错误消息 (#5269) @fkiraly[增强] 为
STLTransformer
添加正确的inverse_transform
方法 (#5300) @fkiraly[增强] 在多元或分层情况下的估计器广播中添加
joblib
和dask
后端 - 第 1 部分,VectorizedDF.vectorize_est
(#5267) @fkiraly[增强] 在多元或分层情况下的估计器广播中添加
joblib
和dask
后端 - 第 2 部分,基类配置 (#5301) @fkiraly[增强] 重构
DateTimeFeatures
测试以使用pytest
fixture (#5397) @adamkells
测试框架#
维护#
[维护] 恢复 numba 要求更新从 <0.58,>=0.53 到 >=0.53,<0.59 (#5297) @fkiraly
[维护] 移除
py37.dockerfile
并更新 CI 文档条目 (#5356) @kurayami07734[维护] [Dependabot](deps): 更新 styfle/cancel-workflow-action 从 0.11.0 到 0.12.0 (#5355) @dependabot[bot]
[维护] [Dependabot](deps): 更新 stefanzweifel/git-auto-commit-action 从 4 到 5 (#5373) @dependabot[bot]
[维护] [Dependabot](deps-dev): 更新 holidays 要求从 <0.33,>=0.29 到 >=0.29,<0.34 (#5276) @dependabot[bot]
[维护] [Dependabot](deps-dev): 更新 numpy 要求从 <1.26,>=1.21.0 到 >=1.21.0,<1.27 (#5275) @dependabot[bot]
[维护] [Dependabot](deps-dev): 更新 arch 要求从 <6.2.0,>=5.6.0 到 >=5.6.0,<6.3.0 (#5392) @dependabot[bot]
文档#
[文档] 提高
partition_based_clustering
笔记本的运行速度 (#5278) @alexfilothodoros[文档] 记录了
plot_series
中的ax
参数和图形 (#5325) @ShreeshaM07[文档] 改进笔记本 2 - 分类、回归和聚类 的可读性 (#5312) @achieveordie
[文档] 为 DateTimeFeatures 类添加了文档字符串中的所有特征名称 (#5283) @Abhay-Lejith
[文档] 修复分类笔记本中的拼写错误 (#5390) @pirnerjonas
[文档] 记录
plot_series
中的ax
参数和图形 (#5325) @ShreeshaM07
修复#
基准测试、指标、分割器#
预测#
[错误修复] 修复
STLForecaster
的标签ignores-exogeneous-X
在组合器中设置不正确的问题 (#5365) @yarnabrina[错误修复]
statsforecast 1.6.0
兼容性 - 在statsforecast
适配器中,修复RuntimeError: dictionary changed size during iteration
(#5317) @arnaujc91[错误修复]
statsforecast 1.6.0
兼容性 - 修复sktime
和statsforecast
之间的参数差异 (#5393) @luca-miniati[错误修复] 修复
ARCH._check_predict_proba
(#5384) @Vasudeva-bit
时间序列对齐#
时间序列距离和核#
[错误修复] 修复调用
tslearn
lcss
时的numba
错误 (#5368) @benHeid, @BensHamza, @fkiraly
转换#
可视化#
[错误修复] 修复
plot_windows
中不一致的日期/时间索引 #4919 (#5321) @geronimos
贡献者#
@Abhay-Lejith, @achieveordie, @adamkells, @Alex-JG3, @alexfilothodoros, @alhridoy, @ali-parizad, @arnaujc91, @benHeid, @BensHamza, @fkiraly, @geronimos, @hazrulakmal, @julnow, @kurayami07734, @luca-miniati, @mdsaad2305, @pirnerjonas, @ShreeshaM07, @Vasudeva-bit, @xansh, @yarnabrina
版本 0.23.0 - 2023-09-17#
维护版本发布 - 计划中的弃用。
有关上次非维护内容更新,请参阅 0.22.1。
目录#
单变量概率预测中列命名约定的变更期结束,详情请参阅下文的用户和开发者说明
计划的 0.23.0 弃用操作
弃用和移除#
预测 - 单变量概率预测的列命名变更#
预测器的 predict_quantiles
和 predict_intervals
的返回现在在单变量情况和多变量情况之间保持一致:最上层(0-indexed)列的名称始终是变量名。
以前,在单变量情况下,它总是 Coverage
或 Quantiles
。
自 0.21.0 以来,此前经历了一个变更过渡期。有关更多详细信息,请参阅 0.21.0 和 0.22.0 变更日志。
尚未完成其下游操作的用户和扩展者应继续使用 0.22.X,直到他们完成操作,然后升级到 0.23.0 或更高版本。
版本 0.22.1 - 2023-09-17#
亮点#
新的转换器:
VmdTransformer
(变分模态分解)-vmdpy
现在在sktime
中维护 (#5129) @DaneLyttinen, @vrcarva新的转换器:对接
statsmodels
MSTL (#5125) @luca-miniati新的
sktime
原生概率分布:Cauchy, empirical, Laplace, Student t (#5050, #5094, #5161) @Alex-JG3, @fkiraly
依赖项变更#
sktime
现在支持pandas
2.1.Xsktime
现在支持holidays
0.32 (软依赖项)sktime
现在支持statsforecast
1.6.X (软依赖项)
核心接口变更#
转换#
转换器(
BaseTransformer
后代)现在有两个新的可选标签:"capability:inverse_transform:range"
和"capability:inverse_transform:exact"
。如果转换器实现了inverse_transform
并具有下述限制,则应在转换器的_tags
类属性中指定这些标签。"capability:inverse_transform:range"
指定了转换的可逆性范围,必须是浮点数列表 [lower, upper]。这用于文档和测试目的。"capability:inverse_transform:exact"
指定了inverse_transform
是否预期是transform
的精确逆操作。这用于文档和测试目的。
增强功能#
BaseObject 和基础框架#
基准测试、度量、分割器#
[增强] 允许
BaseBenchmarking
的 ID 字符串不受限制 (#5130) @hazrulakmal
数据集和数据加载器#
预测#
管道#
概率分布和模拟器#
时间序列分类#
时间序列距离和核#
转换#
[增强] 对接 statsmodels MSTL - 转换器 (#5125) @luca-miniati
[增强] 基于
vmdpy
的 VMD(变分模态分解)转换器 (#5129) @DaneLyttinen
测试框架#
维护#
[维护] 将 CI 运行器升级到最新的稳定镜像 (#5031) @yarnabrina
[维护] 将
test_reduce_global
中的 fixture 移动到pytest
fixture (#5157) @fkiraly[维护] 将
test_dropna
中的 fixture 移动到pytest
fixture (#5153) @fkiraly[维护] 每个组件的额外依赖项规范 (#5136) @yarnabrina
[维护] 将
Pipeline
异常从test_all_estimators
移动到 test_config
(#5251) @fkiraly[维护] 更新 pre commit hook 版本并修复
flake8
指出的E721
问题 (#5163) @yarnabrina[维护] [Dependabot](deps-dev): 更新 sphinx-gallery 依赖项从 <0.14.0 到 <0.15.0 (#5124) @dependabot[bot]
[维护] [Dependabot](deps-dev): 更新 pandas 依赖项从 <2.1.0,>=1.1.0 到 >=1.1.0,<2.2.0 (#5183) @dependabot[bot]
[维护] [Dependabot](deps): 将 actions/checkout 从 3 升级到 4 (#5189) @dependabot[bot]
[维护] [Dependabot](deps-dev): 更新 holidays 依赖项从 <0.32,>=0.29 到 >=0.29,<0.33 (#5214) @dependabot[bot]
[维护] [Dependabot](deps-dev): 更新 statsforecast 依赖项从 <1.6,>=0.5.2 到 >=0.5.2,<1.7 (#5215) @dependabot[bot]
文档#
[文档] 修复
make_pipeline
,make_reduction
,window_summarizer
&load_forecasting
数据 docstring (#5065) @hazrulakmal[文档] 修复
_DelegatedForecaster
模块中 docstring 的微小拼写错误 (#5168) @fkiraly[文档] 加速教程 notebook - 深度学习分类器 (#5169) @alexfilothodoros
[文档] 修复
ColumnEnsembleForecaster
docstring 中的渲染问题,添加ColumnEnsembleTransformer
示例 (#5201) @benHeid[文档] 修复
installation.rst
中的拼写错误 (#5213) @Akash190104[文档] 为
temporal_train_test_split
docstring 添加示例 (#5216) @JonathanBechtel[文档] 简单的编辑以使
STLForecaster
docstring 正确渲染 (#5220) @hazrulakmal
修复#
基准测试、度量、分割器#
[错误修复] 在 splitters 中,如果未给定,则正确推断 datetime 数据类型的序列频率 (#5009) @hazrulakmal
[错误修复] 修复适用于分层数据的
BaseWindowSplitter
get_n_split
方法 (#5012) @hazrulakmal
预测#
[错误修复] 修复在
_predict
中导致ConformalIntervals
异常的检查 (#5134) @fkiraly[错误修复] 确保预测调优器不对列(变量)进行向量化操作 (#5145) @fkiraly, @SmirnGregHM
[错误修复] 修复标签以指示
NaiveForecaster
对外生特征的支持 (#5162) @yarnabrina[错误修复] 为复合预测器测试中的
y_dict
添加缺失的return
语句 (#5253) @BensHamza[错误修复] 修复
ForecastKnownValues
在pd-multiindex
上的失败 (#5256) @mattiasatqubes
管道#
时间序列标注#
转换#
可视化#
贡献者#
@Akash190104, @Alex-JG3, @alexfilothodoros, @arnaujc91, @benHeid, @BensHamza, @DaneLyttinen, @fkiraly, @hazrulakmal, @heerme, @lnthach, @JonathanBechtel, @luca-miniati, @mattiasatqubes, @Ram0nB, @SmirnGregHM, @sniafas, @vrcarva, @yarnabrina
版本 0.22.0 - 2023-08-18#
维护版本发布 - 依赖项更新,计划中的弃用。
有关上次非维护内容更新,请参阅 0.21.1。
目录#
单变量概率预测中列命名约定的变更期中点,为 0.23.0 做准备 - 详情请参阅下文的用户和开发者说明
计划的 0.22.0 弃用操作
依赖项变更#
deprecated
已从sktime
的核心依赖项中移除。用户或开发者无需采取任何行动,因为该包仅用于内部弃用操作。
弃用和移除#
预测 - 单变量概率预测的列命名变更#
从 0.23.0 开始,预测器的 predict_quantiles
和 predict_intervals
在单变量情况下的返回将与多变量情况保持一致:最上层(0-indexed)列的名称将始终是变量名。以前,在单变量情况下,它总是 Coverage
或 Quantiles
。
过渡期由这两个方法的 legacy_interface
参数管理。有关更多详细信息,请参阅 0.21.0 变更日志。
在 0.22.0 中,legacy_interface
参数的默认值已更改为 False
,这确保输出符合未来的(变更后的)命名约定。
用户建议操作提醒
用户应力争在 0.21.last 之前将依赖代码升级到
legacy_interface=False
行为,并在 0.22.0 之后和 0.23.0 之前移除legacy_interface
参数。需要更多时间升级依赖代码的用户可以将legacy_interface=True
设置保留到 0.22.last。
扩展者应使用新的 "pred_int:legacy_interface:testcfg"
配置字段来升级其第三方扩展,这与 0.21.0 变更日志中的描述一致。
转换#
在
DateTimeFeatures
中,功能hour_of_week
已添加到"comprehensive"
功能集中。希望继续使用以前功能集的用户应改为使用manual_selection
参数。
PR 列表#
版本 0.21.1 - 2023-08-16#
亮点#
基于
holidays
的节假日特征转换器(国家、金融节假日;1:1 接口)(#4893, #4909) @VyomkeshVyas, @yarnabrinaExpandingGreedySplitter
用于从末尾切片测试集 (#4917) @davidgilbertsonstatsforecast
接口:MSTL 预测器,ARCH 系列预测器 (#4865, #4938) @luca-miniati, @eyjo改进的开发者体验 - 测试加速 @julia-kraus, @tarpas, @benheid, @fkiraly, @yarnabrina
核心接口变更#
时间序列对齐#
时间序列对齐器现在接受所有
Panel
mtypes 作为输入,而之前只接受df-list
。这不是一个重大变更。时间序列对齐器现在有一个标签
"alignment_type"
,其值可以是"full"
和"partial"
,用于区分get_alignment
产生的完全对齐和部分对齐。该标签可以取决于对齐器的参数。
时间序列距离和核#
成对转换器现在有一个标签
"pwtrafo_type"
,其值可以是"kernel"
,"distance"
或"other"
,以便用户检查转换器是核转换器还是距离转换器。这不影响接口。该标签主要用于用户搜索和检索。这也允许对照估算器的方法要求进行检查,例如,支持向量机需要核。然而,如前所述,基础接口不强制执行此要求。
增强功能#
BaseObject 和基础框架#
基准测试、指标、拆分器#
[ENH] 私有
split_loc
和标签,用于控制split_series
调度到split
或split_loc
(#4903) @fkiraly[ENH]
BaseBenchmark
的输入检查,允许add_estimator
接受多个估算器 (#4877) @hazrulakmal
数据集和数据加载器#
预测#
[ENH] 改进
_ColumnEstimator
- 重构以减少与BaseForecaster
的耦合 (#4791) @fkiraly[ENH] 使用适当的
pytest
fixtures 重写test_probabilistic_metrics
(#4946) @julia-kraus[ENH] 添加扩展贪心拆分器 (#4917) @davidgilbertson
[ENH] 接口
statsforecast
MSTL,statsforecast
回调适配器 (#4865) @luca-miniati[ENH] 确保
StatsForecastBackAdapter
对predict_interval
返回格式变化的鲁棒性 (#4991) @fkiraly[ENH] 为
Croston
和ExponentialSmoothing
添加测试用例 (#4935) @Gigi1111[ENH] 允许
YfromX
处理缺失数据 (#5062) @eenticott-shell
参数估算器#
概率分布和模拟器#
时间序列对齐#
时间序列分类#
时间序列聚类#
时间序列距离和核#
转换#
[ENH] 基于
holidays
包的国家或市场假日指标转换器 (#4893) @yarnabrina[ENH]
HolidayFeatures
转换器 (#4909) @VyomkeshVyas[ENH] 启用
TabularToSeriesAdaptor
与特征选择器一起使用,并传递y
(#4978) @fkiraly
测试框架#
维护#
[MNT] 限制
dask<2023.7.1
以诊断并从main
中移除 bug #4925 (#4928) @fkiraly[MNT] [Dependabot](deps-dev): 更新 sphinx-design 要求从 <0.5.0 到 <0.6.0 (#4969) @dependabot[bot]
[MNT] 将
TestedMockClass
重命名为MockTestedClass
(#5005) @fkiraly[MNT] 更新其他库的 sphinx intersphinx 链接 (#5016) @yarnabrina
文档#
[DOC] 安装文档中关于不同安装的说明澄清 (#4937) @julia-kraus
[DOC] 修正
BaseForecaster.score
的 docstring,引用非对称 MAPE 的使用 (#4948) @MBristle[DOC] 移除安装说明中 troubleshooting ‘matches_not_found’ 的重复内容 (#4956) @julia-kraus
[ENH] 在文档构建中,为示例部分添加复制剪贴板按钮 (#5015) (#5015) @yarnabrina
[DOC] 改进调优预测器(例如
ForecastingGridSearchCV
)docstrings 中scoring
的描述 (#5022) @fkiraly[DOC] 改进 docstring 示例的格式 (#5078) @yarnabrina
修复#
BaseObject 和基础框架#
基准测试、指标、拆分器#
[BUG] 在
geometric_mean_absolute_error
中使用正确的参数 (#4987) @yarnabrina
数据类型、检查、转换#
预测#
参数估算器#
时间序列对齐#
时间序列分类#
时间序列聚类#
[BUG] 在
BaseClusterer
中为不兼容的scitype
添加信息性错误消息 (#4958) @achieveordie
转换#
贡献者#
@Abelarm, @achieveordie, @Alex-JG3, @benHeid, @davidgilbertson, @eenticott-shell, @eyjo, @fkiraly, @Gigi1111, @hazrulakmal, @hliebert, @janpipek, @julia-kraus, @luca-miniati, @MBristle, @MCRE-BE, @Ram0nB, @tarpas, @Verogli, @VyomkeshVyas, @yarnabrina
版本 0.21.0 - 2023-07-19#
维护版本发布 - 依赖项更新,计划中的弃用。
上次非维护性内容更新请参见 0.20.1。
目录#
sktime
现在与sklearn 1.3.X
兼容单变量概率预测的列命名约定的开始变更,为 0.23.0 做准备 - 详细信息见下方用户和开发者说明
计划的 0.21.0 弃用行动
依赖项变更#
scikit-learn
版本上限现在允许版本1.3.X
deprecated
包作为sktime
的核心依赖项已弃用,并将从 0.22.0 版本起不再作为依赖项。用户或开发者无需采取任何行动,因为该包仅用于内部弃用操作。在 python 3.7 EOL 后,
pycatch22
已被重新添加为软依赖项
弃用和移除#
预测 - 单变量概率预测的列命名变更#
从 0.23.0 起,预测器的 predict_quantiles
和 predict_intervals
在单变量情况下的返回值将与多变量情况保持一致:最上层(索引为 0)列级的名称将始终是变量名。此前,在单变量情况下,无论 y
中存在的变量名是什么,它始终是 Coverage
或 Quantiles
,而在多变量情况下,它始终是 y
中存在的变量名。
此变更将在两个次要周期内进行:0.21.X(早期阶段)和 0.22.X(晚期阶段),这两个周期共同构成变更期。我们将在下面分别解释用户和第三方预测器维护者(“扩展者”)的时间表。
用户应使用一个新的临时参数 legacy_interface
来处理此变更。
用户 - 变更期。预测器方法
predict_quantiles
和predict_intervals
将新增一个布尔参数legacy_interface
。如果为True
,方法将使用当前的命名约定生成返回。如果为False
,方法将使用未来的、变更后的命名约定生成返回。用户 - 早期和后期阶段。在早期阶段 (0.21.X),
legacy_interface
的默认值将为True
。在后期阶段 (0.22.X),legacy_interface
的默认值将为False
。此默认值的更改将发生在 0.22.0 版本中,对于未指定该参数的用户可能会导致破坏性变更。用户 - 弃用后。在 0.23.0 版本中,
legacy_interface
参数将被移除。方法将始终使用未来的、变更后的命名约定生成返回。对于在 0.23.0 之前未移除该参数的用户,此变更可能会导致破坏性变更。从 0.21.0 版本开始,直至 0.22.last 版本,将发出相应的弃用警告。
用户 - 推荐的变更操作。用户应力争在 0.21.last 版本之前将其依赖的代码升级到
legacy_interface=False
的行为,并在 0.22.0 之后和 0.23.0 之前移除legacy_interface
参数。需要更多时间来升级依赖代码的用户可以在 0.22.last 版本之前设置legacy_interface=True
。
扩展开发者应使用新的 "pred_int:legacy_interface:testcfg"
配置字段来升级其第三方扩展。
扩展开发者 - 变更期。配置字段
"pred_int:legacy_interface:testcfg"
已添加到BaseForecaster
类的所有子类中。此配置控制check_estimator
和pytest
测试检查的契约,可以通过set_config
进行设置。该标签的默认值为
"auto"
- 这意味着测试将根据早期阶段 (0.21.X) 的当前命名约定和后期阶段 (0.22.X) 的未来命名约定进行检查,适用于具有标准签名(不带legacy_interface
参数)的_predict_quantiles
或_predict_intervals
方法。从 0.23.0 版本起,该标签将不再生效。在变更期内:如果将该标签设置为
"new"
,测试将始终根据新接口进行检查;如果将该标签设置为"old"
,测试将始终根据旧接口进行检查,无论处于哪个阶段。从 0.23.0 版本起,此设置将不再生效,测试将始终根据新接口进行检查。扩展开发者 - 推荐的变更操作:扩展开发者应力争在 0.21.last 版本之前将其第三方扩展升级到
"pred_int:legacy_interface:testcfg=new"
的行为。通过在将其传递给check_estimator
之前设置forecaster.set_config({"pred_int:legacy_interface:testcfg": "new"})
,可以强制对后期阶段和弃用后的行为进行测试。set_config
调用可以在 0.22.0 之后移除,并且应在 0.23.0 之前移除,但即使不移除也不会导致破坏性变更。拥有大量自身用户群的扩展开发者可以选择在 0.22.0 之前实现并发布带有
legacy_interface
参数的_predict_quantiles
和_predict_intervals
方法,该参数从一开始(即使在早期阶段)就应默认为False
。在这种情况下,"pred_int:legacy_interface:testcfg"
标签应设置为"auto"
,测试将检查新旧两种行为。legacy_interface
参数可以在 0.23.0 之后移除。这将为扩展开发者的预测器用户带来与sktime
自身用户相同的过渡体验。
PR 列表#
[增强] 在单变量情况下,将
"Coverage"
和"Quantiles"
的默认变量名替换为变量名 (#4880) @fkiraly, @benheid[BUG] 0.21.0 发布版本错误修复 - 修复
sklearn 1.3.0
与test_make_scorer
中基于partial
的动态错误指标的交互问题 (#4915) @fkiraly[维护] 暂时标记
mlflow
失败 #4904 直至调试完成,为py-spy
添加 gitignore (#4913) @fkiraly[文档] 0.21.0 发布操作 - 更新弃用指南以反映
deprecated
使用的弃用 (#4914) @fkiraly[维护] 0.21.0 发布操作 - 在 Python 3.7 EOL 后将
pycatch22
添加回软依赖 (#4790) @fkiraly
版本 0.20.1 - 2023-07-14#
重点更新#
Monash 预测仓库的数据加载器 (#4826) @hazrulakmal
SkoptForecastingCV
- 使用scikit-optimize
对预测器进行超参数调优 (#4580) @hazrulakmal新的预测器 -
statsmodels
AutoReg
接口 (#4774) @CTFallon, @mgazian000, @JonathanBechtel新的预测器 - 按预测范围划分的
FhPlexForecaster
,用于每个预测范围使用不同的估计器/参数 (#4811) @fkiraly新的转换器 -
SplitterSummarizer
,用于按折叠应用转换器 (#4759) @BensHamza新的分类器和回归器 - 从
sktime-dl
迁移的 MCDCNN 估计器 (#4637) @achieveordie
核心接口变更#
BaseObject#
已添加对象蓝图(规范)到字符串的序列化/反序列化功能。“蓝图”在此处指处于初始化状态的对象组合,例如原始的预测管道。所有对象都可以通过
str
强制转换进行序列化,例如str(my_pipeline)
,并通过sktime.registry.craft : str -> object
进行反序列化。反序列化器craft
在固定的 Python 环境下是序列化器str
的伪逆,因此可用于完全可重现的规范存储和共享,例如在可重现科学或性能基准测试中。进一步的工具
registry.deps
和registry.imports
补充了序列化工具箱。在仅包含sktime
核心依赖的环境中,工具deps : str -> list[str]
可以生成创建序列化对象(例如预测管道)所需的 PEP 440 软依赖规范列表,可用于在创建之前设置 Python 环境安装。工具imports : str -> str
可以生成创建序列化对象所需的所有 Python 可编译导入语句的代码块。已添加标签
python_dependencies_alias
,用于管理包名与导入名不同的估计器特定依赖项。详细信息请参阅估计器开发者指南。
转换器#
转换器基础接口,即继承自
BaseTransformer
的估计器,现在允许在transform
方法中传入X=None
而不引发异常。各个转换器现在可以实现自己的逻辑来处理X=None
。
增强功能#
BaseObject#
[增强]
_HeterogenousMetaEstimator
现在接受任意长度的元组列表 (#4793) @fkiraly[增强] 改进带别名依赖项的处理 (#4832) @hazrulakmal
[增强] 在估计器 dump 过程中添加显式上下文管理器 (#4859) @achieveordie, @yarnabrina
基准测试和指标#
数据加载器#
[增强] Monash 预测仓库的数据加载器 (#4826) @hazrulakmal
预测#
[增强] 重构
ForecastingHorizon
,使其在私有方法中使用基于Index
的cutoff
(#4463) @fkiraly[增强]
SkoptForecastingCV
- 使用scikit-optimize
进行超参数调优 (#4580) @hazrulakmal[增强] 为
predict_interval
、predict_quantiles
添加更多契约测试 (#4763) @yarnabrina[增强]
statsmodels
AutoReg
接口 (#4774) @CTFallon, @mgazian000, @JonathanBechtel[增强] 将
ForecastX
缺失数据处理标签设置为True
,以正确处理未来未知变量 (#4876) @fkiraly
时间序列分类#
[增强] 从
sktime-dl
迁移 MCDCNN 分类器、回归器和网络 (#4637) @achieveordie[增强] 在
CNNNetwork
中,添加控制padding
和filter_size
逻辑的选项 (#4784) @alan191006
时间序列回归#
[增强] 从
sktime-dl
迁移 MCDCNN 分类器、回归器和网络 (#4637) @achieveordie
转换器#
[增强] 允许在
BaseTransformer.transform
中使用X=None
(#4112) @fkiraly[增强] 为
DateTimeFeatures
转换器添加hour_of_week
选项 (#4724) @VyomkeshVyas[增强]
ColumnEnsembleTransformer
-remainder
参数 (#4789) @fkiraly[增强]
SplitterSummarizer
转换器,用于按折叠应用转换器 (#4759) @BensHamza
可视化#
维护#
[维护] 暂时跳过所有 DL 估计器 (#4760) @achieveordie
[维护] 处理
sklearn
1.3 中if_delegate_has_method
的弃用问题 (#4764) @fkiraly[维护] 确保针对 python 3.8-3.10 的 CI 在
pandas 2
上运行 (#4795) @fkiraly[维护] 在
main
分支上跳过失败的test_transform_and_smooth_fp
测试 (#4836) @fkiraly[维护] Dependabot 设置 (#4852) @yarnabrina
[维护] 将 readthedocs 环境更新至 python 3.11 和 ubuntu 22.04 (#4821) @fkiraly
[维护] [Dependabot](依赖): 将 actions/download-artifact 从 2 升级到 3 (#4854) @dependabot[bot]
[维护] [Dependabot](依赖): 将 styfle/cancel-workflow-action 从 0.9.1 升级到 0.11.0 (#4855) @dependabot[bot]
[维护] [Dependabot](依赖): 将 actions/upload-artifact 从 2 升级到 3 (#4856) @dependabot[bot]
[维护] 修复剩余的
sklearn 1.3.0
兼容性问题 (#4860) @fkiraly, @hazrulakmal[维护] 扩展对带有版本规范和别名的包的软依赖错误消息测试支持 (#4867) @hazrulakmal, @fkiraly
文档#
[文档] 更新入门文档,添加回归教程 (#4216) @GargiChakraverty-yb
[文档] 在 read-the-docs 中为非最新分支添加横幅 (#4681) @yarnabrina
[文档] 为 K-Means 和 K-Medoids 的 docstrings 添加示例 (#4736) @CTFallon
[文档] 测试指南:为 doctest 命令添加省略号标志 (#4768) @mdsaad2305
[文档] 为时间序列森林回归器和 Dummy 回归器的 docstrings 添加示例 (#4775) @mgazian000
[文档] 更新 LICENSE 和 readthedocs 许可常量中的日期/年份 (#4816) @fkiraly, @yarnabrina
修复#
基准测试和指标#
预测#
[BUG] 添加
_BaseWindowForecaster
的临时修复,以处理同时进行样本内和样本外预测的情况 (#4812) @felipeangelimvieira[BUG] 修复
make_reduction
在global
池化且面板时间索引不相等情况下的问题 (#4644) @kbpk[BUG] 允许
DynamicFactor
在存在外生变量时进行概率预测 (#4758) @yarnabrina[BUG] 修复
predict_residuals
内部数据类型转换问题 (#4772) @fkiraly, @benHeid
转换器#
测试框架#
贡献者#
@achieveordie, @alan191006, @benHeid, @BensHamza, @CTFallon, @felipeangelimvieira, @fkiraly, @GargiChakraverty-yb, @hazrulakmal, @JonathanBechtel, @kbpk, @mdsaad2305, @mgazian000, @mswat5, @VyomkeshVyas, @yarnabrina
版本 0.20.0 - 2023-06-21#
维护版本 - Python 3.7 生命周期结束维护更新,计划的弃用。
有关上次非维护内容更新,请参阅 0.19.2 和 0.19.1 版本。
内容#
sktime
不再支持 Python 3.7,因为 Python 3.7 的生命周期即将结束(6 月 27 日),且sktime
的依赖项已停止支持。pre-commit 和编码风格升级 (3.8 及以上)
计划的 0.20.0 弃用操作
依赖项变更#
numpy
版本限制现在允许1.25.X
版本
弃用和移除#
Python 3.7 生命周期结束#
sktime
0.20.0 及更高版本不再支持 Python 3.7。
Python 3.7 于 2023 年 6 月 27 日终止生命周期,并且 sktime
的核心依赖项(例如 scikit-learn
)已在其最新版本中停止支持 Python 3.7。
时间序列分类#
ComposableTimeSeriesClassifier
和 WeightedEnsembleClassifier
已完成迁移至 classification.ensemble
,它们不再能从原位置导入。
拉取请求列表#
[维护] 0.20.0 发布操作 - 将
scikit-base
版本上限提高至<0.6.0
(#4735) @fkiraly[维护] 0.20.0 发布操作 - 移除 Python 模块中在 Python 3 中不必要的初始 utf 注释 (#4725) @yarnabrina
[维护] 0.20.0 发布操作 - 使用
pyupgrade
将代码风格升级到 Python 3.8 及以上版本 (#4726) @yarnabrina
贡献者#
版本 0.19.2 - 2023-06-19#
亮点#
statsforecast
AutoETS
和AutoCES
接口 (#4648, #4649) @yarnabrina更新所有 pre-commit hook 版本,以及代码库中的相应更改 (#4680) @yarnabrina
核心接口变更#
ForecastingHorizon
和预测器的fit
、predict
方法现在支持将range
作为输入。注意:range(n)
从0
开始到n-1
结束。对于包含 horizon 中所有n
个整数步长的n
步提前预测,应传递range(1, n+1)
。
改进#
预测#
[改进]
statsforecast
AutoETS
直接接口估计器 (#4648) @yarnabrina[改进]
statsforecast
AutoCES
直接接口估计器 (#4649) @yarnabrina[改进] 支持在
ForecastingHorizon
以及fit
和predict
方法中将 horizon 作为range
对象传递 (#4716) @yarnabrina
时间序列分类#
[改进] 将
ResNetRegressor
从sktime-dl
迁移过来 (#4638) @achieveordie
文档#
维护#
[维护] 解决
main
分支上的 pre-commit 问题 (#4673) @yarnabrina[维护] 更新 pre-commit hook 版本及相应更改 (#4680) @yarnabrina
修复#
BaseObject#
[错误] 修复带有嵌套
sklearn
对象的clone
/set_params
问题 (#4707) @fkiraly、@hazrulakmal
基准测试#
[错误] 修复
evaluate
中no-update_params
策略的错误 (#4686) @hazrulakmal
数据集和数据加载器#
数据类型、检查、转换#
预测#
贡献者#
@achieveordie、@fkiraly、@hazrulakmal、@hoesler、@mdsaad2305、@yarnabrina
版本 0.19.1 - 2023-05-30#
维护版本 - 预定的 pandas
依赖项更新,预定的弃用。
有关上次非维护性内容更新,请参阅 0.18.1。
内容#
pandas 2
现在已完全支持。所有sktime
原生功能仍与pandas 1
(>=1.1.0
) 兼容。预定弃用基于
tensorflow
的概率接口。
依赖项变更#
pandas
版本限制现在除当前支持的pandas 1
版本外,还允许使用2.0.X
版本。这结束了对实验性支持的过渡期,并开始完全支持pandas 2
,目标是支持任何pandas 2
版本。tensorflow-probability
不再是依赖项或软依赖项,它也已从所有依赖项集合(包括dl
)中移除。
弃用和移除#
Python 3.7 终止生命周期#
Python 3.7 于 2023 年 6 月 27 日终止生命周期,并且 sktime
的核心依赖项(例如 scikit-learn
)已在其最新版本中停止支持 Python 3.7。
sktime
将在 0.20.0 版本或 2023 年 6 月 27 日之后的第一个次要版本中停止支持 Python 3.7,以两者中较晚者为准。
依赖项#
tensorflow-probability
不再是依赖项或软依赖项,它也已从所有依赖项集合(包括dl
)中移除。
预测#
legacy_interface
参数已从预测器的predict_proba
方法中移除。该方法现在始终返回一个BaseDistribution
对象,这与先前的默认行为一致,即legacy_interface=False
。
拉取请求列表#
版本 0.19.0#
因维护目的跳过,不应使用。(已从 pypi 移除)
版本 0.18.1 - 2023-05-22#
亮点#
sktime
现在拥有一个通用的适配器类用于连接statsforecast
(#4539, #4629) @yarnabrina使用此适配器添加了
statsforecast
AutoTheta
的直接接口,后续将添加更多 (#4539) @yarnabrina时间序列对齐模块已更新:添加了对齐器(aligners)的扩展模板 (#4613),基于
numba
的对齐路径现已作为sktime
的对齐器提供 (#4620) @fkiraly预测基准测试框架现在允许传递多个指标 (#4586) @hazrulakmal
新增时间序列分类器:bagging、MACNN、RNN (#4185, #4533, #4636) @ArushikaBansal、@fkiraly、@achieveordie
核心接口变更#
概率分布#
Monte Carlo 近似法的默认样本大小规范现在使用
scikit-base
配置系统添加了
quantile
方法,它以与BaseForecaster.predict_quantiles
返回分位数预测相同的格式返回分位数表添加了
ppf
方法用于返回分位数
改进#
基准测试#
[改进] 将预测基准测试框架扩展到支持多个指标,并增加测试覆盖率 (#4586) @hazrulakmal
预测#
[改进]
statsforecast
AutoTheta
直接接口估计器 (#4539) @yarnabrina[改进] 以通用方式重写了
_StatsForecastAdapter
以支持除AutoARIMA
之外的其他模型 (#4629) @yarnabrina
概率分布#
时间序列对齐#
时间序列分类#
[改进] SimpleRNN DL 时间序列回归器,从
sktime-dl
迁移而来 (#4185) @ArushikaBansal[改进] 添加 MACNN 分类器和网络 (#4636) @achieveordie
时间序列距离和核函数#
转换#
测试框架#
维护#
[维护] 将
tensorflow-probability
版本限制为<0.20.0
(#4567) @fkiraly[维护] 根据 issue #4379 将
Union[int | float]
更改为 float (#4575) @mdsaad2305[维护] 临时限制
holidays
版本以避免在Prophet
中出现错误,后已恢复 (#4594, #4600) @fkiraly、@yarnabrina[维护] 从 CI 中排除
FCNClassifier
以防止在 bugfix 修复前出现内存溢出 (#4616) @fkiraly[维护] 从
check_is_scitype
文档字符串中移除被遗忘的legacy_interface
引用 (#4630) @fkiraly
文档#
[文档] 改进 MAPE 指标的文档字符串 (#4563) @hazrulakmal
[文档] 补充词汇表术语 (#4556) @sanjayk0508
[文档] 修正 make sphinx - language (
conf.py
) 中的警告以及dists_kernels.rst
中的错误导入 (#4593) @mdsaad2305[文档]
AutoETS
文档字符串 - 澄清依赖于auto
参数的条件忽略 (#4597) @luca-miniati[文档] 修正
dists_kernels.rst
中的模块路径 (#4625) @mdsaad2305[文档]
SimpleRNNClassifier
的文档字符串 (#4572) @wasup-yash[文档] 添加从常见表格csv格式加载数据的示例 (#4612) @TonyZhangkz
[文档] 移除遗忘的
legacy_interface
引用来自check_is_scitype
的文档字符串 (#4630) @fkiraly[文档] 向测试文档添加 doctest 指南 (#4634) @mdsaad2305
修复#
BaseObject, BaseEstimator#
预测#
[错误] 纠正了针对
_predict_interval
的默认逻辑,以防_predict_quantiles
未实现但_predict_proba
已实现 (#4529) @fkiraly[错误]
RecursiveReductionForecaster
的 pandas 2 修复 (#4568) @fkiraly[错误] 在
_StatsModelsAdapter
中,如果在_predict_interval
中参数不受支持,则避免将exog
传递到statsmodels
的get_prediction
(#4589) @yarnabrina[错误] 修复在
BaseGridCV
中n_best_forecasters_
的错误排序,如果指标的lower_is_better
为False
(#4590) @hazrulakmal
概率分布#
时间序列距离和核#
时间序列分类#
[错误] 修复损坏的 RNN 分类器 (#4531) @achieveordie
[错误] 修复由于
ABC
继承与 RNN 的fit
重写之间的冲突导致的错误 (#4527) @achieveordie @fkiraly
时间序列回归#
[错误] 修复损坏的 RNN 回归器 (#4531) @achieveordie
[错误] 修复由于
ABC
继承与 RNN 的fit
重写之间的冲突导致的错误 (#4527) @achieveordie @fkiraly
转换#
贡献者#
@achieveordie, @antonioramos1, @ArushikaBansal, @fkiraly, @hazrulakmal, @kbpk, @luca-miniati, @marrov, @mdsaad2305, @panozzaj, @sanjayk0508, @Taise228, @TonyZhangkz, @wasup-yash, @yarnabrina
版本 0.18.0 - 2023-04-28#
维护版本 - 计划中的 numba
, scikit-base
, pandas
依赖更新,计划中的弃用。
上次非维护内容更新,请参阅 0.17.2。
内容#
numba
已更改为软依赖。所有基于numba
的估计器继续正常工作,但需要显式安装numba
。sktime
的基础模块已分解到scikit-base
,它是sktime
维护的类似scikit-learn
包的抽象基础层pandas 2
的支持在测试/实验阶段持续到 0.18.last。所有sktime
原生功能都兼容pandas 2
,过渡期允许测试部署和自定义扩展。请参阅下面的说明,了解如何将依赖代码升级到pandas 2
,或保持使用pandas 1
。计划弃用基于
tensorflow
的概率接口和VectorizedDF
方法。
依赖变化#
numba
不再是核心依赖,已更改为软依赖scikit-base
是一个新的核心依赖
弃用和移除#
依赖项#
numba
在sktime 0.18.0
中已从核心依赖更改为软依赖。为确保依赖于基于numba
的估计器的sktime
代码设置在未来继续正常运行,请确保在环境中显式安装numba
,或安装将继续包含numba
的all_extras
软依赖集。除此之外,依赖于numba
的估计器将继续像以前一样运行。sktime
的基础模块已从sktime 0.18.0
迁移到一个新的核心依赖scikit-base
。这不会影响功能或直接从sktime
导入,或任何用法。tensorflow-probability
将从 0.19.0 起不再是软依赖,因为唯一的依赖点 (预测器旧的predict_proba
返回类型) 正在被弃用。
数据类型、检查、转换#
VectorizedDF.get_iloc_indexer
已被移除。开发者和用户应改用iter
,__iter__
, 或get_iter_indices
代替。
预测#
预测器的
predict_proba
现在默认返回一个BaseDistribution
。可以通过在predict_proba
中设置参数legacy_interface=False
来获取 0.17.0 之前基于tensorflow-probability
的旧返回类型。这对于处理弃用很有用。从 0.19.0 起,
legacy_interface
参数将从predict_proba
中移除,以及返回基于tensorflow-probability
的返回值的选项。
pandas 2
升级和测试#
对
pandas 2
的支持正在逐步引入实验性支持期持续到 0.19.0 (所有 0.17.X 和 0.18.X 版本)
从 0.19.0 起全面支持 (0.19.0, 0.19.X 及更高版本)
在实验期 (0.17.1-0.18.last)
sktime
将有一个依赖约束pandas<2.0.0
sktime
的目标是兼容pandas 2.0.X
以及pandas 1, >=1.1.0
,sktime
可以通过强制安装pandas 2.0.X
来运行和测试在强制安装
pandas 2.0.X
的情况下,估计器可以通过check_estimator
来测试pandas 2
的兼容性欢迎在 #4426 报告兼容性问题 (直接输入或链接自)
在全面支持期 (0.19.0 及更高版本)
sktime
的要求将允许pandas 2.0.X
并随着pandas
发布扩展支持sktime
的目标是兼容pandas 2
(任何版本),以及pandas 1, >=1.1.0
用户根据其下游环境的要求选择他们偏好的
pandas
版本错误和问题跟踪器应正常使用
PR 列表#
版本 0.17.2 - 2023-04-24#
亮点#
来自 pydata global 2022 的转换器和管道教程现已在
sktime
中提供,请参阅 示例 (#4381) @dashapetrSARIMAX
的概率预测功能 (#4439) @yarnabrina从
sktime-dl
迁移的InceptionTime
分类器 (#3003) @tobiasweede概率预测接口的多项错误修复 -
BaggingForecaster
,BATS
,TBATS
,DynamicFactor
,VECM
核心接口变化#
预测#
所有预测器 (
Baseforecaster
的后代) 现在有了以下新标签capability:insample
,布尔值,指示预测器是否可以进行样本内预测。capability:pred_int:insample
,布尔值,指示预测器是否可以进行概率样本内预测,例如样本内预测区间。
所有预测器现在通过
check_estimator
测试区间预测的接口一致性,包括样本内(基于上述标签)和样本外。
时间序列分类#
所有时间序列分类器 (
BaseClassifier
的后代) 现在有一个标签capability:predict_proba
。这指示分类器是否实现了非默认(非德尔塔质量)的概率分类功能。
增强#
数据类型、检查、转换#
预测#
[增强] 添加
_predict_interval
到SARIMAX
以支持predict_interval
和predict_quantiles
(#4439) @yarnabrina[增强] 将
ForecastingHorizon
-BaseForecaster
的cutoff
接口转移为依赖于公共点 (#4456) @fkiraly[增强] 测试样本内预测 - 替换在
test_predict_time_index
中的 try/except 为标签和依赖于标签的契约 (#4476) @fkiraly[增强] 移除
BaseForecaster
的_predict_interval
和_predict_quantiles
中多余的实现检查 (#4481) @yarnabrina[增强] 测试所有预测器的
predict_quantiles
,predict_interval
样本内 (#4470) @fkiraly[增强] 在
_StatsModelsAdapter
中添加_predict_interval
并在其他估计器中继承以减少代码重复 (#4465) @yarnabrina[增强] 在
ForecastingHorizon
中,重构to_absolute().to_pandas()
调用到一个方法 (#4464) @fkiraly
时间序列分类#
[增强] 迁移
InceptionTime
分类器和示例 (从sktime-dl
) (#3003) @tobiasweede
时间序列回归#
转换#
测试框架#
维护#
文档#
[文档] 修复
MiniRocket
示例代码中的错误 - 错误的转换器 (#4497) @doncarlos999[文档] 添加
InceptionTimeClassifier
和LSTMFCNClassifier
到 API 文档 (#4484) @fkiraly[文档] 将内容从 pydata global 2022 (转换器,管道教程) 移动到 sktime 主仓库 (#4381) @dashapetr
修复#
预测#
[错误] 修复在
BaggingForecaster
的概率预测中pandas
的写入错误 (#4478) @fkiraly[错误] 修复在 0.17.1 之后在
_PmdArimaAdapter
和_StatsForecastAdapter
中的predict_quantiles
(#4469) @fkiraly[错误]
ForecastingHorizon
构造函数 - 覆盖从常规DatetimeIndex
基于的预测范围中错误推断出的freq
属性 (#4466) @fkiraly, @yarnabrina[错误] 修复
pmdarima
接口损坏,当X
包含的索引多于预测范围时 (#3667) @fkiraly, @SzymonStolarski[错误] 修复
BATS
和TBATS
的_predict_interval
接口 (#4492, #4505) @fkiraly`
测试框架#
贡献者#
@dashapetr, @doncarlos999, @fkiraly, @howdy07, @marrov, @SzymonStolarski, @tobiasweede, @yarnabrina
版本 0.17.1 - 2023-04-10#
维护补丁 (pandas 2
, attrs
)。有关最新的内容更新,请参阅 0.17.0。
pandas 2
兼容性补丁对
pandas 2
的实验性支持,包含测试和用户升级说明sktime
将继续支持pandas 1
版本
请在 #4426 中提供用户反馈和 pandas 2
兼容性问题。
依赖项变更#
版本限制
pandas<2.0.0
将在sktime 0.19.0
中放宽至pandas<2.1.0
选项 1:从
0.19.0
及更高版本开始继续使用pandas 1.X
,只需在下游需求中引入pandas<2.0.0
限制选项 2:安全升级到
pandas 2.X
,请按照下面的升级和测试说明进行操作这两个选项都不会影响
sktime
的公共接口,即除了sktime
需求中pandas
限制的变更外,没有移除、弃用或合同变更
attrs
从隐式(非显式)软依赖项变更为显式软依赖项(在all_extras
中)
pandas 2
升级和测试#
将逐步引入对
pandas 2
的支持实验性支持期持续到 0.19.0 (所有 0.17.X 和 0.18.X 版本)
从 0.19.0 起全面支持 (0.19.0, 0.19.X 及更高版本)
在实验期 (0.17.1-0.18.last)
sktime
将有一个依赖约束pandas<2.0.0
sktime
的目标是兼容pandas 2.0.X
以及pandas 1, >=1.1.0
,sktime
可以通过强制安装pandas 2.0.X
来运行和测试在强制安装
pandas 2.0.X
的情况下,估计器可以通过check_estimator
来测试pandas 2
的兼容性欢迎在 #4426 报告兼容性问题 (直接输入或链接自)
在全面支持期 (0.19.0 及更高版本)
sktime
的要求将允许pandas 2.0.X
并随着pandas
发布扩展支持sktime
的目标是兼容pandas 2
(任何版本),以及pandas 1, >=1.1.0
用户根据其下游环境的要求选择他们偏好的
pandas
版本错误和问题跟踪器应正常使用
拉取请求列表#
[MNT] 处理
DataFrame.agg
和Series.agg
上弃用的"mad"
选项 (#4435) @fkiraly[MNT] 解决 reducer 中与
freq
相关的弃用和pandas 2
失败 (#4438) @fkiraly[MNT] 由于偶发性失败,将
Prophet
从test_predict_quantiles
中排除 (#4432) @fkiraly[MNT] 由于偶发性失败,将
VECM
从test_predict_quantiles
中排除 (#4442) @fkiraly[MNT] 修复并加强
statsmodels
和pmdarima
的软依赖隔离逻辑 (#4443) @fkiraly
版本 0.17.0 - 2023-04-03#
重点#
完全支持 python 3.11
重构概率预测和新指标 (
LogLoss
,CRPS
),并与调优集成 (#4190, #4276, #4290, #4367) @fkiraly新的转换器接口:Christiano-Fitzgerald 和 Hodrick-Prescott 滤波器 (
statsmodels
),傅里叶变换 (#4342, #4402) @ken-maeda, @blazingbhavneek
依赖项变更#
新增了一个软依赖项,即
seasonal
包,仅用于SeasonalityPeriodogram
估计器。
核心接口变更#
BaseObject, BaseEstimator#
所有
sktime
对象和估计器现在都具有配置接口,通过新的get_config
和set_config
方法实现。目前这是实验性的,并且目前没有对外公开的配置字段。
数据类型、检查、转换#
sktime
现在能够识别可为空的pandas
dtypes
,并在必要时将其强制转换为不可为空。以前,可为空的dtype
会导致异常。
预测#
引入了
BaseDistribution
对象,作为完整分布预测和模拟查询的潜在返回。目前这是实验性的,欢迎反馈和贡献。预测器的
predict_proba
现在返回一个sktime
BaseDistribution
对象,如果tensorflow-probability
不存在(例如,在 python 3.11 上),或者如果设置了临时弃用参数legacy_interface=False
。旧的基于tensorflow
的接口将在两个周期内弃用,详见下文。sktime
现在包含概率分布预测的指标和损失。这些指标假定预测是BaseDistribution
对象。
弃用和移除#
依赖项#
numba
将从sktime 0.18.0
开始从核心依赖项变更为软依赖项。为了确保将来依赖于基于numba
的估计器的sktime
代码设置能够正常工作,请确保在环境中显式安装numba
,或安装将继续包含numba
的all_extras
软依赖项集。除此之外,依赖于numba
的估计器将与以前一样工作。sktime
的基础模块将从sktime 0.18.0
开始迁移到一个新的核心依赖项skbase
。这不会直接影响从sktime
的功能或导入,也不会影响任何使用。
预测#
预测器的
predict_proba
在 0.17.0 之前的基于tensorflow
的返回将替换为基于BaseDistribution
对象的返回。这将按照以下方式分两个小周期逐步淘汰。在 0.18.0 之前,只有在调用
predict_proba
在 0.17.0 之前会引发错误的情况下(即在 python 3.11 上和 python 环境中不存在tensorflow-probability
时),预测器的predict_proba
默认返回BaseDistribution
。在 0.18.0 之前,可以通过在
predict_proba
中设置新参数legacy_interface=False
来强制返回BaseDistribution
。这对于处理弃用很有用。从 0.18.0 开始,
legacy_interface
的默认值将设置为False
。从 0.19.0 起,
legacy_interface
参数将从predict_proba
中移除,以及返回基于tensorflow-probability
的返回值的选项。
转换#
DateTimeFeatures
:keep_original_columns
参数的默认值已更改为False
FourierFeatures
:keep_original_columns
参数的默认值已更改为False
测试框架#
在
check_estimator
和run_tests
中,已移除return_exceptions
参数。它现在完全被raise_exceptions
(其逻辑非)取代,后者自 0.16.0 版本以来一直可用。
增强功能#
BaseObject, BaseEstimator#
数据类型、检查、转换#
预测#
参数估计器#
时间序列分类#
转换#
[ENH] 转换器接口
numpy.fft
用于简单傅里叶变换 (#4214) @blazingbhavneek[ENH] 移除
test_FeatureUnion_pipeline
中的输出值测试 (#4316) @fkiraly[ENH] Hodrick-Prescott 滤波器转换器 (
statsmodels
接口) (#4342) @ken-maeda[ENH] Christiano-Fitzgerald 滤波器转换器 (
statsmodels
接口) (#4402) @ken-maeda
测试框架#
[ENH] 清理了分位数和区间预测的概率预测测试 (#4393) @fkiraly, @yarnabrina
[ENH] 涵盖了
test_predict_interval
coverage
和test_predict_quantiles
alpha
的列表输入情况,在预测器合同测试中 (#4394) @yarnabrina
维护#
[MNT] 修复
distances
模块中的 linting 问题B016 Cannot raise a literal
(#4284) @SamiAlavi[MNT] 删除工作流分支上的限制,该工作流自动检测并更新
CONTRIBUTORS.md
(#4323) @achieveordie[MNT] 执行
ContractableBOSS
typed_dict
参数被遗忘的弃用 (#4331) @fkiraly[MNT] 修复 transformations 模块中的 linting 问题 (#4291) @SamiAlavi
[MNT] 修复
base
,networks
,registry
模块中的 linting 问题 (#4310) @SamiAlavi[MNT] 对
test_croston.py
进行 linting (#4334) @ShivamPathak99[MNT] 自动修复 linting 问题 (#4317) @SamiAlavi
[MNT] 修复
clustering
模块中的 linting 问题 (#4318) @SamiAlavi[MNT] 修复
forecasting
模块中的 linting 问题 (#4319) @SamiAlavi[MNT] 修复
annotation
模块中的 linting 问题 (#4309) @SamiAlavi[MNT] 修复
series_as_features
,tests
,dist_kernels
,benchmarking
模块中的 linting 问题 (#4321) @SamiAlavi[MNT] 修复
classification
模块中的 linting 问题 (#4311) @SamiAlavi[MNT] 修复
performance_metrics
模块中的 linting 问题 (#4320) @SamiAlavi[MNT] 修复
utils
模块中的 linting 问题 (#4322) @SamiAlavi[MNT] 将作者姓名替换为 GitHub ID (#4340) @SamiAlavi
文档#
[DOC] 改进
VectorizedDF.items
和.__iter__
的文档字符串 (#4223) @fkiraly[DOC] 在
PlateauFinder
模块中添加缺失的文档字符串 (#4255) @ShivamPathak99[DOC]
ColumnConcatenator
的文档字符串改进 (#4272) @JonathanBechtel[DOC] 更新了
dtw_distance
文档字符串示例以包含导入 (#4324) @JonathanBechtel[DOC]
TimeSeriesKMeans
- 修正文档字符串中init_algorithm
的默认值 (#4347) @marcosousapoza[DOC] 在 numba 距离文档字符串中添加缺失的导入语句 (#4376) @JonathanBechtel
[DOC] 改进文档中“邀请贡献”段落 (#4395) @abhisek7154
修复#
数据类型、检查、转换#
[BUG] 修复
nested_univ
/pd-multiindex
转换中的层级名称处理 (#4270) @fkiraly[BUG] 修复非等间隔索引的
pd-multiindex
类型数据中is_equally_spaced
推断不正确的问题 (#4308) @noahleegithub
预测#
[BUG] 修复在
evaluate
中使用自定义错误指标时出现的Settingwithcopywarning
警告 (#4294) @fkiraly, @marrov[BUG] 修复分层输入时预测指标的
evaluate_by_index
问题 (#4306) @fkiraly, @marrov[BUG] 将用户传递的参数传递给
ForecastX
到下层估计器 (#4391) @yarnabrina[BUG] 修复
VECM._predict_interval
在传递多个覆盖值时出现的ValueError
(#4411) @yarnabrina[BUG] 由于已知的偶发错误 #4420,暂时跳过
VAR
的test_predict_quantiles
(#4425) @yarnabrina
参数估计器#
时间序列分类#
时间序列回归#
测试框架#
实用工具#
贡献者#
@abhisek7154, @achieveordie, @blazingbhavneek, @danbartl, @fkiraly, @hoesler, @JonathanBechtel, @ken-maeda, @kgeis, @lmmentel, @marcosousapoza, @marrov, @noahleegithub, @SamiAlavi, @ShivamPathak99, @yarnabrina
版本 0.16.1 - 2023-02-13#
亮点#
欢迎测试 Python 3.11 支持和基准测试模块并提供反馈。
依赖项变更#
sktime
现在支持 Python 3.11在 Python 3.11 上,
numba
不是依赖项,由于与 3.11 的兼容性,许多其他软件包也不作为软依赖项提供。sktime
及其测试套件现在可以在不安装numba
的情况下使用,但依赖numba
的估计器除外。numba
在 Python 3.7-3.10 上仍然是核心依赖项。从 0.18.0 版本开始,
numba
将从核心依赖项变为软依赖项。如果在 Python 环境中存在numba
,依赖numba
的估计器将像以前一样正常运行。
核心接口变更#
BaseEstimator#
基准测试#
基于 kotsu
的基准测试模块引入了新的预测器基准测试设计和语法。
预测#
预测器现在将始终保留传递的 pd.Series
中的 name
属性。此前,命名 pd.Series
并未完全支持。
弃用和移除#
numba
将从sktime 0.18.0
开始从核心依赖项变更为软依赖项。为了确保将来依赖于基于numba
的估计器的sktime
代码设置能够正常工作,请确保在环境中显式安装numba
,或安装将继续包含numba
的all_extras
软依赖项集。除此之外,依赖于numba
的估计器将与以前一样工作。
依赖项#
基准测试#
数据类型、检查、转换#
预测#
转换器#
修复#
数据集和数据加载器#
[错误] 更正
'StarlightCurves'
数据集标识符字符串为 ‘StarLightCurves’ (#4222) @NeuralNut
预测#
参数估计#
时间序列聚类#
维护#
文档#
[文档] 改进了
dtw_distance
的文档字符串 (#4028) @fkiraly, @matthewmiddlehurst[文档] 修复转换器
transform
文档字符串中的表格 - 将 md 更改为 rst (#4199) @romanlutz[文档] 移除分类笔记本中 pandas 和
DataFrame
|Series
之间的间隙 (#4200) (#4200) @romanlutz[文档] 修复了
CI
概览文档中的表格 (#4198) @pranavvp16
贡献者#
@aiwalter, @alex-hh, @danbartl, @dbcerigo, @fkiraly, @hoesler, @matthewmiddlehurst, @NeuralNut, @pranavvp16, @romanlutz
版本 0.16.0 - 2023年01月30日#
亮点#
用于对面板/分层数据进行层级或节点级预测应用的
HierarchyEnsembleForecaster
(#3905) @VyomkeshVyas新转换器:
BKFilter
,Baxter-King 滤波器,来自statsmodels
的接口 (#4127) @klam-data, @pyyim`
依赖项变更#
statsmodels
现在是一个软依赖项。如果 python 环境中存在statsmodels
,则依赖于statsmodels
的估计器可以像以前一样使用。
核心接口变更#
BaseEstimator#
BaseEstimator
的所有后代(任何带有fit
方法的估计器)的方法get_fitted_params
添加了一个新的布尔参数deep
,默认为True
。与get_params
中同名参数类似,这允许控制对于复合估计器,是返回带有估计器嵌套的拟合参数还是不带嵌套的拟合参数。
预测#
所有预测器:预测器的公共
cutoff
属性已从索引元素更改为pd.Index
子类型。要更新先前可用的代码,请将对cutoff
的引用替换为cutoff[0]
。
弃用和移除#
依赖项#
statsmodels
在sktime 0.16.0
中从核心依赖项变为软依赖项。为了确保未来依赖于基于statsmodels
估计器的sktime
代码正常运行,请务必在环境中显式安装statsmodels
,或安装all_extras
软依赖项集,该集将继续包含statsmodels
。
数据类型、检查、转换#
check_is_scitype
:msg_legacy_interface
参数已被移除。未来的行为将按照该参数的默认值,即msg_legacy_interface=False
。
预测#
所有预测器:预测器的公共
cutoff
属性已从索引元素更改为pd.Index
子类型。要更新先前可用的代码,请将对cutoff
的引用替换为cutoff[0]
。
转换#
Catch22
:transform_single_feature
方法已从Catch22
转换器中移除。FourierFeatures
: 在 0.17.0 版本中,keep_original_columns
参数的默认值将更改为False
。
增强功能#
BaseEstimator#
数据类型、检查、转换#
预测#
时间序列标注#
[ENH]
PoissonHMM
估计器 (#4126) @klam-data
时间序列分类#
[ENH] 减少
test_boss.py
中重复代码并在 _boss.py 中添加字符串数据类型检查 (#4100) @erjieyong
时间序列生成器#
[ENH] 添加了
piecewise_multinomial
(#4079) @JonathanBechtel
转换#
[ENH] 为
FourierFeatures
转换器添加keep_original_columns
选项 (#4008) @KishManani[ENH] 添加
BKFilter
转换器 (#4127) @klam-data, @pyyim`
维护#
[MNT] 自动化更新 CONTRIBUTORS.md (#3807) @achieveordie
[MNT] 解决
pd.Series
构造函数dtype
弃用 /FutureWarning
- 第二部分 (#4111) @fkiraly[MNT] 在
HierarchyEnsembleForecaster
文档字符串中隔离statsmodels
(#4166) @fkiraly[维护] 0.16.0 弃用操作 - 将
BaseForecaster.cutoff
更改为pd.Index
(#3678) @fkiraly[维护] 在
HierarchyEnsembleForecaster
文档字符串中隔离statsmodels
- 意外遗漏的提交 (#4168) @fkiraly[维护] 在
pre-commit
配置中将isort
升级到5.12.0
(#4167) @snnbotchway
文档#
修复#
BaseObject#
预测#
时间序列分类#
[错误] 诊断并修复测试套件中由于
MemoryError
导致的零星故障 (#4036) @achieveordie
转换器#
贡献者#
@aaronrmm, @achieveordie, @danbartl, @erjieyong, @fkiraly, @JonathanBechtel, @KishManani, @klam-data, @mateuja, @Pyyim, @romanlutz, @snnbotchway, @VyomkeshVyas
版本 0.15.1 - 2023年01月12日#
亮点#
核心接口变更#
BaseObject#
python_dependencies
标签现在允许使用完整的 PEP 440 规范字符串来指定包依赖项
数据类型、检查、转换#
安装
dask
时可使用的新 mtypes:dask_series
、dask_panel
、dask_hierarchical
,适用于时间序列、面板和分层数据。这些现在可以在估计器中使用。与dask
的端到端集成尚不可用,但已在路线图上。
距离、核#
成对转换器现在具有
transform_diag
方法,该方法返回距离/核矩阵的对角线成对面板转换器可以使用算术运算相互组合,这将产生相应的转换器算术组合,例如,距离之和
成对面板转换器可以使用
*
dunder 与简单转换器组合,这将产生一个流水线,首先应用简单转换器,然后应用成对转换器
时间序列聚类#
时间序列聚类器现在可以与
make_pipeline
和*
dunder 一起使用,以构建带有时间序列转换器的线性流水线
弃用和移除#
在
check_estimator
和run_tests
中,return_exceptions
参数已被弃用,并将在 0.17.0 中被raise_exceptions
(其逻辑非) 替换。在 0.17.0 之前,这两个参数都将起作用,非默认值将覆盖默认值。
改进#
数据类型、检查、转换#
距离、核#
预测#
[增强] 向
DirectTabularRegressionForecaster
和DirectTimeSeriesRegressionForecaster
添加全局预测(池化)选项 (#3688) @danbartl[增强]
hcrystalball
预测器适配器 (#4040) @MichalChromcak
流水线#
时间序列分类#
时间序列聚类#
[增强] 时间序列的 DBSCAN 聚类 (#4003) @fkiraly, @josuedavalos
转换器#
[增强] 更改
DateTimeFeatures
trafo 以处理多索引数据并添加删除列的选项 (#3996) @KishManani[增强] 使
TimeSince
trafo 能够原生转换多索引数据框 (#4006) @KishManani[增强] 通过更改周期差计算使
TimeSince
trafo 更快 (#4018) @KishManani
测试框架#
[增强] 更新
_check_soft_dependencies
以允许使用 PEP 440 规范字符串指定版本边界 (#3925) @fkiraly[增强] 允许在
_check_soft_dependencies
中使用包标识符字符串的元组/列表 (#3955) @fkiraly[增强]
_check_estimator_deps
也允许BaseObject
的列表或元组 (#4002) @fkiraly[增强] 扩展
sklearn_scitype
以从组合对象中正确推断 scitype (#4021) @fkiraly[增强] 在
check_estimator
和run_tests
中,使用raise_exceptions
替换return_exceptions
参数,并进行弃用 (#4030) @fkiraly
可视化#
[增强] 为
plot_series
实现图标题 (#4038) @arnavrneo
维护#
[维护] 执行 0.15.0 意外遗漏的弃用操作:在
WEASEL
和BOSS
中,移除type_dict
并更新默认的alphabet_size=2
(#4025) @xxl4tomxu98[维护] 由于 main 分支上未修复的故障,跳过
LSTMFCNClassifier
测试 (#4037) @fkiraly[维护] 修复
_check_soft_dependencies
在没有类引用的 PEP 440 规范符下中断的问题 (#4044) @fkiraly[维护] 解决
pd.Series
构造函数dtype
弃用 /FutureWarning
(#4031) @fkiraly[MNT] 处理
pandas
astype
弃用 /FutureWarning
在TrendForecaster
中 (#4032) @fkiraly[MNT] 在
WindowSummarizer
内部显式使用min_periods
参数来解决弃用消息 (#4052, #4074) @arnavrneo
文档#
[DOC] 完善
ForecastingPipeline
的 docstring (#3840) @darshitsharma[DOC] 更新距离 API 参考页面 (#3852) @MatthewMiddlehurst, @fkiraly
[DOC] 修复 README 中的构建标签 (#4007) @badrmarani
[DOC] 关于在 macOS ARM 上安装
sktime
的警告、注意事项和故障排除 (#4010) @dainelli98[DOC] 所有估计器页面上的
all_estimators
参考 (#4027) @fkiraly, @MatthewMiddlehurst[DOC]
PULL_REQUEST_TEMPLATE
中关于新测试的部分 (#4093) @Aarthy153
修复#
距离,核函数#
预测#
[BUG] 修复
StatsForecastAutoARIMA_.predict
不正确的样本内起始索引 (#3942) @tianjiqx[BUG] 修复当外生变量
X
传递的索引多于fh
时statsmodels
估计器的问题 (#3972) @adoherty21[BUG] 修复
ReconcilerForecaster
未与Aggregator
在管道中一起使用时的问题 (#3980) @ciaran-g[BUG] 修复
TrendForecaster
在regressor
无法强制转换为布尔值时的问题 (#4047) @fkiraly[BUG] 修复
PolynomialTrendForecaster._fit
中regressor
的变动问题 (#4057) @fkiraly[BUG] 修复当
sample_frac
参数不为 None 时ConformalIntervals
的更新问题 (#4083) @bethrice44
治理#
时间序列分类#
[BUG] 修复任何 DL 估计器的构造函数无法将非默认值传递给底层
Network
对象的问题 (#4075) @achieveordie[BUG] 修复基于 BOSS 的分类器将类名截断为单字符长度的问题 (#4096) @erjieyong
时间序列聚类#
时间序列回归#
[BUG] 修复任何 DL 估计器的构造函数无法将非默认值传递给底层
Network
对象的问题 (#4075) @achieveordie
转换#
[BUG] 修复
TimeSince
对time_index
和start
之间不一致的检查问题 (#4015) @KishManani
测试框架#
可视化#
贡献者#
@Aarthy153, @achieveordie, @adoherty21, @aiwalter, @arnavrneo, @badrmarani, @bethrice44, @ciaran-g, @dainelli98, @danbartl, @darshitsharma, @erjieyong, @fkiraly, @hakim89, @josuedavalos, @KishManani, @MatthewMiddlehurst, @MichalChromcak, @miraep8, @patrickzib, @tianjiqx, @xxl4tomxu98
版本 0.15.0 - 2022-12-22#
亮点#
用于
sktime
预测的MLflow
自定义 flavor (#3912, #3915) @benjaminbluhm与核心依赖项最新版本的兼容性
sktime 1.2.0``and ``numpy 1.24
(#3922) @fkiralyDateTimeFeatures
转换中的周末 dummyis_weekend
(#3844) @KishManani从
sktime-dl
迁移到sktime
的深度学习分类器:ResNet, LSTM-FCN (#3714, #3881) @nilesh05apr, @solen0id
依赖项变更#
sktime
现在兼容numpy 1.24
,上限放宽到<1.25
sktime
现在兼容sklearn 1.2.0
,上限放宽到<1.3.0
由于安装问题,
pycatch22
不再是sktime
的软依赖项。如果依赖项安装在 Python 环境中,基于pycatch22
的转换器仍然可用。statsmodels
将在sktime 0.16.0
版本中从核心依赖项变为软依赖项
核心接口变更#
BaseObject#
任何 sktime
对象的相等性比较现在比较参数的同一性,这些参数通过 get_params
获取,如果对象/估计器是嵌套的,则递归应用。
弃用和移除#
依赖项#
statsmodels
将在sktime 0.16.0
版本中从核心依赖项变为软依赖项。为确保在弃用期后,依赖于基于statsmodels
估计器的sktime
代码设置能够正常运行,请务必在环境中显式安装statsmodels
,或安装将继续包含statsmodels
的all_extras
软依赖项集。
数据类型、检查、转换#
datatypes.check_is_scitype
: 第二个返回值(仅当 return_metadata=True
时返回)将从 list
格式更改为 dict
格式(详见 docstring)。list
格式自 0.14.0 版本起已弃用,并在 0.15.0 版本中被 dict
格式取代。格式由临时附加参数 msg_legacy_interface
决定,该参数的默认值现已更改为 False
(dict
格式)。msg_legacy_interface
参数以及返回旧版 list
格式的选项将在 0.16.0 版本中移除。
预测#
ExpandingWindowSplitter
的start_with_window
参数已被移除。从现在开始,应使用initial_window=0
代替start_with_window=False
。行转换器
SeriesToSeriesRowTransformer
和SeriesToPrimitivesRowTransformer
已被移除。行/实例向量化功能自 0.11.0 版本起已由sktime
原生支持,不再需要通过这些包装器添加。这两个转换器将在 0.15.0 版本中移除。要迁移,只需移除行转换器包装器即可。在一些更罕见、模糊的向量化情况(例如,使用已向量化的包装函数,如np.mean
)中,可能必须使用FunctionTransformer
代替SeriesToPrimitivesRowTransformer
。公共
cutoff
属性的变更延迟到 0.16.0:预测器的公共cutoff
属性将从索引元素更改为pd.Index
子类型。
时间序列分类#
延迟:
ProbabilityThresholdEarlyClassifier
的基类将在 0.16.0 版本中更改为BaseEarlyClassifier
。这将改变分类安全决策的制定和返回方式,请参阅BaseEarlyClassifier
或TEASER
了解新接口。
转换#
transformations.series.compose
已被移除,转而使用transformations.compose
。前者中的所有估计器已移至后者。TSFreshFeatureExtractor
和TSFreshRelevantFeatureExtractor
中default_fc_parameters
的默认值已从"efficient"
更改为"comprehensive"
。
测试框架#
通用接口契约测试
test_methods_do_not_change_state
已重命名为test_non_state_changing_method_contract
增强功能#
MLOps 与部署#
[ENH] 用于
sktime
预测的 MLflow 自定义 flavor (#3912) @benjaminbluhm
BaseObject#
预测#
时间序列标注#
时间序列分类#
[ENH] 将 LSTM-FCN 分类器从
sktime-dl
迁移到sktime
(#3714) @solen0id[ENH] 将
ResNetClassifier
从sktime-dl
迁移到sktime
(#3881) @nilesh05apr
时间序列回归#
[ENH] 用于时间序列回归的
DummyRegressor
(#3968) @badrmarani
转换#
[ENH] 向
DateTimeFeatures
转换添加is_weekend
选项 (#3844) @KishManani[ENH] 向
Detrender
添加乘法选项 (#3931) @KishManani
可视化#
[ENH] 在
plot_series
中添加对绘制间隔的支持 (#3825) @chillerobscuro[ENH] 向
plot_series
添加colors
参数 (#3908) @chillerobscuro
修复#
预测#
时间序列分类#
时间序列回归#
转换#
可视化#
文档#
[DOC] 修复依赖项文档中的渲染问题 (#3846) @templierw
[DOC] 整理 Rocket docstrings (#3860) @TonyBagnall
[DOC] 在预测教程中添加管道中的后处理部分 (#3878) @nshahpazov
维护#
[MNT] 在
pyproject.toml
中添加额外的项目 URL (#3864) @lmmentel[MNT]
sklearn 1.2.0
兼容性 - 移除KNeighborsTimeSeriesClassifier
和Regressor
中私有的_check_weights
导入 (#3918) @fkiraly[MNT]
sklearn 1.2.0
兼容性 - 覆盖BaseForest
参数变更 (#3919) @fkiraly[MNT]
sklearn 1.2.0
兼容性 - 解耦sklearn.base._pprint
(#3923) @fkiraly[MNT]
sklearn 1.2.0
兼容性 - 从RidgeClassifierCV
中移除normalize=False
参数 (#3924) @fkiraly[MNT]
sklearn 1.2.0
兼容性 -ComposableTimeSeriesForest
保留属性修复 (#3926) @fkiraly[MNT] 将
numpy
版本上限提高到<1.25
并修复兼容性问题 (#3915) @aquemy, @fkiraly
贡献者#
@aiwalter, @aquemy, @badrmarani, @benjaminbluhm, @bethrice44, @chillerobscuro, @ciaran-g, @danbartl, @dsanr, @fkiraly, @GianFree, @KatieBuc, @kcc-lion, @KishManani, @lmmentel, @nilesh05apr, @nshahpazov, @solen0id, @templierw, @TonyBagnall
版本 0.14.1 - 2022-11-30#
亮点#
关于转换器和特征工程的专用 notebook 教程 - 敬请关注 pydata global 2022 上的更多内容! (#1705) @fkiraly
添加新数据集加载器的文档和分步指南 (#3805) @templierw
新的变换器:
Catch22Wrapper
,pycatch22
的直接接口 (#3431) @MatthewMiddlehurst新的变换器:
TimeSince
,用于特征工程,表示自固定日期/索引以来的时间 (#3810) @KishManani
核心接口变更#
预测#
变量子集化外生数据的双下划线方法:
my_forecaster[variables]
将创建一个ForecastingPipeline
,将外生数据子集化为variables
增强功能#
BaseObject#
预测#
时间序列分类#
[增强]
Catch22Transformer
更新和Catch22Wrapper
用于pycatch22
(#3431) @MatthewMiddlehurst[增强]
MinirocketMultivariateVariable
变换器,用于不等长的时间序列的 miniROCKET (#3786) @michaelfeil[增强] 稍微加快
ComposableTimeSeriesForestClassifier
的测试速度 (#3762) @TonyBagnall[增强] TDE 短序列的警告而不是错误 (#3767) @MatthewMiddlehurst
[增强] 添加一些
get_test_params
值到深度学习分类器和回归器中 (#3761) @TonyBagnall
时间序列回归#
[增强] 添加一些
get_test_params
值到深度学习分类器和回归器中 (#3761) @TonyBagnall
变换#
治理#
[治理] 添加 @achieveordie 为核心开发者 (#3851) @achieveordie
修复#
数据加载器#
预测#
[错误修复] 修复
ColumnEnsembleForecaster
处理层次化X
的问题 (#3768) @RikStarmans @fkiraly
时间序列分类#
[错误修复]
keras
导入快速修复 (#3744) @ltsaprounis[错误修复] 在
TemporalDictionaryEnsemble
中,设置Parallel
的prefer="threads"
,修复 #3788 (#3808) @TonyBagnall[错误修复] 在
DummyClassifier
中,修复不正确设置的capability:multivariate
标签 (#3858) @fkiraly
变换#
[错误修复] 修复 FourierFeatures 在 pd.DatetimeIndex 下的行为 (#3606) @eenticott-shell
[错误修复] 修复
FeatureUnion
的get_params
中的无限循环 (#3708) @hoesler @fkiraly[错误修复]
SupervisedIntervals
错误修复和清理 (#3727) @MatthewMiddlehurst[错误修复] 减小
MultiRocket
测试示例的大小,以避免测试中偶尔出现的MemoryError
(#3813) @TonyBagnall[错误修复] 在
Reconciler
中,修复外部索引中只有一个唯一 ID 的小型层次结构的求和矩阵错误 (#3859) @ciaran-g
测试框架#
[错误修复] 更新
test_deep_estimator_full
以包含新版本的tensorflow
/keras
(#3820) @achieveordie
文档#
[文档] 整理 Compose 和深度学习分类器的文档 (#3756) @TonyBagnall
[文档] 添加了新的 Slack 链接 (#3747) @hadifawaz1999
[文档] 更新文件格式规范页面,显示超链接格式列表 (#3775) @achieveordie
[文档] 示例网页 (#3653) @MatthewMiddlehurst
[文档] 更新
team.rst
中的 CC 和 CoC 以及活跃核心开发者列表 (#3733) @GuzalBulatova[文档] 改进 ShapeletTransformClassifier 的 docstring (#3737) @MatthewMiddlehurst
[文档] 改进 sklearn 分类器的 docstring (#3754) @MatthewMiddlehurst
[文档] 将缺失的估计器添加到分类 API 页面 (#3742) @MatthewMiddlehurst
[文档] 更新回归 API 参考 (#3751) @TonyBagnall
[文档] 修复
RocketClassifier
docstring 中的文档拼写错误 (#3759) @matt-wisdom[文档] 在分类 notebook 中包含不等长数据的章节 (#3809) @MatthewMiddlehurst
[文档] 添加新的数据集加载器的工作流程文档 (#3805) @templierw
[文档] 在
ScaledLogitTransformer
docstring 中添加默认值 (#3845) @fkiraly[文档] 更新 CONTRIBUTORS.md (#3781) @achieveordie
[文档] 改进
TSFreshRelevantFeatureExtractor
的 Docstring (#3785) @MatthewMiddlehurst
维护#
[维护] 将
setup.py
转换为pyproject.toml
。取决于setuptools>61.0.0
(#3723) @jorenham @wolph[维护] 暂时跳过新的失败测试
test_deep_estimator_full[keras-adamax]
(#3817) @fkiraly[维护] 修复
pyproject.toml
中的断开字符串 (#3797) @TonyBagnall[维护] 从测试中排除
TapNet
(#3812) @TonyBagnall[维护] 解决
ContinuousIntervalTree
和RandomShapeletTransform
的弃用警告 (#3796) @MatthewMiddlehurst[维护] 隔离
statsmodels
,第 4 部分:在非套件测试中隔离statsmodels
(#3821) @fkiraly
贡献者#
@achieveordie, @aiwalter, @ciaran-g, @danbartl, @eenticott-shell, @fkiraly, @hadifawaz1999, @haskarb, @hoesler, @jorenham, @KishManani, @lmmentel, @matt-wisdom, @MatthewMiddlehurst, @michaelfeil, @RikStarmans, @templierw, @TonyBagnall, @wolph
版本 0.14.0 - 2022-11-05#
亮点#
通过
save
方法和base.load
实现所有sktime
对象的序列化和反序列化 (#3336, #3425) @achieveordie @fkiraly文档化的
.ts
文件格式规范 (#3380) @achieveordie新的预测器:模块化/可配置的 Theta 预测器 (#1300) @GuzalBulatova
预测
evaluate
现在支持层次化和面板数据,并通过dask
和joblib
支持并行化 (#3511, #3542) @topher-lo @fkiraly
核心接口变更#
BaseObject & BaseEstimator#
所有对象和估计器 (
BaseObject
的后代) 现在都具有save
方法,用于序列化到内存或文件。序列化的对象可以通过base.load
反序列化。save
和load
的接口契约现在由标准测试套件 (例如,check_estimator
) 进行测试。所有可拟合对象 ("估计器",
BaseEstimator
的后代) 现在都有一个功能正常的get_fitted_params
默认实现。get_fitted_params
的接口契约现在由标准测试套件 (例如,check_estimator
) 进行测试。get_fitted_params
的扩展契约已更改。对于sktime
估计器的新实现,开发者应该实现_get_fitted_params
,而不是直接实现get_fitted_params
,类似于fit
和_fit
。扩展模板已相应更新。遵循旧扩展契约的估计器目前仍然兼容,并且至少在 0.15.0 之前会保持兼容。
弃用和移除#
预测#
ExpandingWindowSplitter
参数start_with_window
已弃用,并将在 0.15.0 中移除。为了继续保持start_with_window=True
的功能,请改用start_with_window=0
。其他start_with_window
的值将与start_with_window=False
的情况行为相同。不应再将孤立的
pd.timedelta
元素传递给分割器和ForecastingHorizon
,因为pandas
已弃用pd.delta
的freq
。在未传递且无法推断freq
的边缘情况下将引发异常。公共
cutoff
属性的更改延迟到 0.15.0:预测器的公共cutoff
属性将从索引元素更改为pd.Index
子类型。
时间序列分类#
ProbabilityThresholdEarlyClassifier
的基类将在 0.15.0 中更改为BaseEarlyClassifier
。这将改变分类安全决策的制定和返回方式,请参阅BaseEarlyClassifier
或TEASER
获取新接口信息。
变换#
TSFreshFeatureExtractor
和TSFreshRelevantFeatureExtractor
中default_fc_parameters
的默认值将在 0.15.0 中从"efficient"
更改为"comprehensive"
。
测试框架#
测试
test_methods_do_not_change_state
的名称将在 0.15.0 中更改为test_non_state_changing_method_contract
。为了在使用旧名称作为check_estimator
参数一部分的情况下实现安全过渡,请在测试/fixture 排除或包含中使用新旧名称 (在列表中)。
增强功能#
BaseObject#
数据加载器#
[增强]
load_from_tsfile
支持.ts
文件中的@targetlabel
标识符 (#3436) @achieveordie
数据类型、检查、转换#
预测#
[增强] 模块化/可配置的 Theta 预测器 (#1300) @GuzalBulatova
[增强] 扩展
make_reduction
中的递归策略,允许对面板数据进行全局池化 (#3451) @danbartl[增强] 使用
{joblib, dask}
实现evaluate
的并行化 (#3511) @topher-lo[增强] 在
_StatsModelsAdapter._update
中使用statsmodels
append
(#3527) @chillerobscuro[增强]
ColumnEnsembleForecaster
支持numpy
整数类型 (#3557) @fkiraly[增强] 扩展
ColumnEnsembleForecaster
以允许应用多元预测器 (#3504) @fkiraly[增强] 修复
ExpandingWindowSplitter
中initial_window=0
的问题并弃用"start_with_window"
(#3690) @chillerobscuro
参数估计#
时间序列标注#
时间序列分类#
[增强] 用于分类的 TapNet 深度学习模型 (#3386) @achieveordie
[增强] TapNet 估计器的快速测试参数以及文档字符串/接口清理 (#3544) @achieveordie
[增强] 为提高用户灵活性,为
CNNRegressor
添加更相关的参数 (#3561) @achieveordie[增强] 允许
KNeighborsTimeSeriesClassifier
处理不等长度时间序列之间的距离 (#3654) @fkiraly
时间序列回归#
[增强] 来自
sktime-dl
的用于回归的 TapNet 深度学习模型 (#3481) @achieveordie[增强] 允许
KNeighborsTimeSeriesRegressor
处理不等长度时间序列之间的距离(#3654) @fkiraly
转换器#
测试框架#
治理#
[治理] 将 @GuzalBulatova 添加到 CC (#3505) @GuzalBulatova
[治理] 新增 CC 观察员角色,更新角色持有者列表 (#3505) @GuzalBulatova
文档#
[文档] 添加
.ts
文件的格式规范 (#3380) @achieveordie[文档] 分类器 Notebook 中的
sklearn
使用示例 (#3523) @MatthewMiddlehurst[文档] 用
sphinx-design
替换sphinx-panels
(#3575) @MatthewMiddlehurst[文档] 修复 issue 跟踪器中行为准则问题报告链接不正确的问题以及行为准则中剩余的引用 (#3594) @fkiraly
[文档] 在扩展模板中添加关于
get_test_params
的建议 (#3635) @achieveordie
维护#
[维护] 从
_HeterogeneousMetaEstimator
中移除ABCMeta
继承 (#3569) @fkiraly[维护] 用
sphinx-design
替换已弃用的sphinx-panels
(#3575) @MatthewMiddlehurst
重构#
修复#
BaseObject#
数据加载器#
[修复] 修复从 timeseriesclassification.com 加载数据时当
extract_path
不为None
时的错误 (#3021) @TonyBagnall[修复] 修复以 ts 格式将数据集写入文件时出现的错误 (#3532) @TonyBagnall
数据类型、检查、转换#
预测#
[修复] 修复
ConformalIntervals
更新不更新residuals_matrix
的问题 (#3460) @bethrice44[修复] 修复
NaiveForecaster.predict_var
中当window_length
非空时的残差公式错误 (#3495) @topher-lo[修复] 修复
ColumnEnsembleForecaster
对str
索引的支持问题 (#3504) @canbooo @fkiraly[修复] 修复
EnsembleForecaster
中条件requires-fh-in-fit
标签问题 (#3642) @fkiraly
参数估计#
时间序列标注#
[修复] 修复
BaseHmmLearn
中的标签拼写错误 (#3563) @guzalbulatova @miraep8
时间序列聚类#
[修复] 将所有平均参数传递给 kmeans (#3486) @chrisholder
时间序列分类#
[修复] 修复
KNeighborsTimeSeriesClassifier
标签处理依赖于距离组件的问题 (#3654) @fkiraly[修复] 为 TapNet 估计器添加缺失的
get_test_params
(#3541) @achieveordie[修复]
numba
/np.median
交互在n_jobs>1
处理大型数据集时引发错误 (#3602) @TonyBagnall[修复] 修复在 #2397 中发现的
numba
和np.zeros
交互错误 (#3618) @TonyBagnall[修复] 各种小错误修复 (#3706) @MatthewMiddlehurst
时间序列距离和核#
[修复] 修复 msm 对齐路径问题 (#3484) @chrisholder
[修复] TWE 对齐路径修复和重构 (#3485) @chrisholder
[修复] 修复
AggrDist.__init__
中set_tags
调用中的拼写错误 (#3562) @aiwalter
时间序列回归#
转换器#
[修复]
RandomShapeletTransform
:将最大 shapelets 数量向下取整至类别数量 (#3564) @TonyBagnall
贡献者#
@achieveordie, @aiwalter, @AnH0ang, @arampuria19, @bethrice44, @canbooo, @chillerobscuro, @chrisholder, @ciaran-g, @danbartl, @fkiraly, @GuzalBulatova, @kcc-lion, @khrapovs, @lmmentel, @MatthewMiddlehurst, @miraep8, @shagn, @TonyBagnall, @topher-lo
版本 0.13.4 - 2022-09-27#
维护版本 - 将 sktime
仓库从 alan-turing-institute
组织迁移到 sktime
组织 (#2926)
分支和链接应被重定向,治理保持不变。
版本 0.13.3 - 2022-09-25#
亮点#
依赖项变更#
sktime
现在与pmdarima 2.0.0
兼容,版本限制放宽至<3.0.0
sktime
现在与pandas 1.5.0
兼容,版本限制放宽至<1.6.0
弃用和移除#
数据类型、检查、转换#
datatypes.check_is_scitype
: 第二个返回值(仅在 return_metadata=True
时返回)将从 list
格式更改为 dict
格式(详见文档字符串)。list
格式将从 0.14.0 版本开始弃用,并在 0.15.0 版本中被 dict
格式取代。该格式将由临时附加参数 msg_legacy_interface
决定,此参数将在 0.14.0 版本中引入,在 0.15.0 版本中默认值更改为 False
,并在 0.16.0 版本中移除。
增强功能#
数据类型、检查、转换#
[增强] 优化
from_3d_numpy_to_nested
转换器函数 (#3339) @paulbauriegel[增强] 简化
convert_to_scitype
逻辑,修复 scitype 转换器模块中的导出和文档字符串遗漏 (#3358) @fkiraly
数据加载器#
预测#
[增强] 为
ConformalIntervals
中的residuals_matrix
计算添加并行的fit
和predict_residuals
方法 (#3414) @bethrice44[增强] naive 预测器的预测方差和分位数 (#3435) @topher-lo
时间序列标注#
时间序列分类#
[增强] 字典分类器加速 (#3216, #3360) @patrickzib
[增强] 新分类器:
MLPClassifier
(#3232) @AurumnPegasus[增强] 新分类器:
FCNClassifier
(#3233) @AurumnPegasus
时间序列距离和核#
变换#
[增强] 傅里叶特征变换器 (#3374) @ltsaprounis
[增强] 为
LogTransformer
添加了scale
、offset
参数 (#3354) @bugslayer-332[增强]
pandas 1.5.0
兼容性修复:如果在Lag
中没有传递或指定freq
,则使用infer_freq
(#3456) @fkiraly
测试框架#
修复#
数据类型、检查、转换#
预测#
[错误修复] 修复默认保形区间的
initial_window
参数 (#3383) @bethrice44
时间序列标注#
时间序列分类#
变换#
[错误修复] 确保
Differencer
始终正确反转 (#3346) @fkiraly, @ilkersigirci
维护#
文档#
[文档] 将
SlidingWindowSplitter
中start_with_window
的错误 docstring 默认值更改为实际默认值 (#3340) @bugslayer-332[文档] 更正
examples/AA_datatypes_and_datasets.ipynb
中的小拼写错误 (#3349) @achieveordie[文档] “在哪里提问”下的 Slack 链接已过期 (#3449) @topher-lo
[文档] “在哪里提问”下的 Slack 链接已过期 (#3449) @topher-lo
贡献者#
@achieveordie, @aiwalter, @AurumnPegasus, @benHeid, @bethrice44, @bugslayer-332, @fkiraly, @ilkersigirci, @KatieBuc, @khrapovs, @lmmentel, @ltsaprounis, @miraep8, @patrickzib, @paulbauriegel, @shagn, @stepinski, @topher-lo
版本 0.13.2 - 2022-08-23#
亮点#
依赖项更改#
pmdarima
的版本限制在<2.0.0
,直到兼容性问题解决
核心接口更改#
预测#
用于将变换器管道应用于外生数据的双下划线方法:
my_trafo ** my_forecaster
将创建一个ForecastingPipeline
注意:**
的优先级高于*
(应用于内生数据)ignores-exogeneous-X
标签的默认值设置为更安全的值False
。这不影响sktime
预测器,但可能会影响未明确设置该标签的sktime
兼容预测器,因为现在X
会传递给所有内部函数,如_fit
、predict
等。只有在 (a) 标签被错误地省略,并且 (b) 内部函数存在问题(即只有在错误 (a) 掩盖了错误 (b) 的情况下才会引发异常)时,这才会导致不兼容。
时间序列距离和核#
用于将普通变换器与成对变换器进行管道连接的双下划线方法:
my_trafo ** distance
将创建一个PwTrafoPanelPipeline
,效果相当于“首先对两个输入应用my_trafo.fit_transform
,然后再应用distance
”
变换#
用于应用
OptionalPassthrough
的双下划线方法:-my_trafo
等同于OptionalPassthrough(my_trafo)
用于反转变换器的双下划线方法:
~my_trafo
将transform
和inverse_transform
功能互换
弃用和移除#
变换#
已弃用:
transformations.series.compose
已弃用,推荐使用transformations.compose
。前者中的所有估计器已移至后者,从 0.15.0 版本开始将无法再通过transformations.series.compose
访问。已弃用:行变换器
SeriesToSeriesRowTransformer
和SeriesToPrimitivesRowTransformer
已弃用。自 0.11.0 版本以来,sktime
原生支持行/实例向量化功能,不再需要通过这些包装器添加。这两个变换器将在 0.15.0 版本中移除。迁移时,只需移除行变换器包装器即可。在一些罕见的、模糊的向量化情况(例如,使用 `np.mean` 等已向量化的包装函数)下,可能需要使用FunctionTransformer
代替SeriesToPrimitivesRowTransformer
。
增强#
BaseObject#
数据类型、检查、转换#
预测#
时间序列标注#
时间序列距离和核#
变换#
[增强] 在
Lag
中,使单滞后和多滞后情况下的列命名保持一致 (#3261) @KishManani[增强] 弃用
transformations.series.compose
,推荐使用transformations.compose
(#3271) @fkiraly
测试框架#
治理#
修复#
数据集和数据加载器#
[错误修复] 修复
write_ndarray_to_tsfile
在classLabel = False
时的问题 (#3303) @paulbauriegel
数据类型、检查、转换#
[错误修复] 修复
_load_provided_dataset()
中某些转换失败的问题 (#3231) @achieveordie[错误修复] 修复
np.all
内部遗忘列表推导式括号的重复实例 (#3245) @achieveordie, @fkiraly[错误修复] 修复
_enforce_infer_freq
私有工具在处理短时间序列时的问题 (#3287) @fkiraly
预测#
[错误修复] 将
ForecastingGridSearchCV
中的修剪延迟到变换之后 (#3132) @miraep8[错误修复] 修复
DirectReductionForecaster
中的标签 (#3257) @KishManani[错误修复] 移除
AutoETS.fit
在auto=True
且additive_only=True
时多余的UserWarning
#3311 (#3317) @chillerobscuro[错误修复] 修复
ColumnEnsembleForecaster
处理分层输入时的问题 (#3324) @fkiraly
参数估计#
时间序列标注#
[错误修复] ClaSP 分割修复 (#3217) @patrickzib
时间序列分类#
变换#
维护#
贡献者#
@achieveordie, @aiwalter, @chillerobscuro, @chrisholder, @fkiraly, @haskarb, @KatieBuc, @kcc-lion, @KishManani, @miraep8, @patrickzib, @paulbauriegel
版本 0.13.1 - 2022-08-11#
亮点#
DynamicFactor
、VAR
和VECM
的概率预测功能 (#2925, #3105) @AurumnPegasus, @lbventuraAutoARIMA
、BATS
、TBATS
和预测调优器的update
功能 (#3055, #3068, #3086) @fkiraly, @jelc53新的变换器:用于低通/高通和带通滤波的
Filter
变换器,接口mne
的filter_data
(#3067) @fkiraly, @sveameyer13
依赖项更改#
新增软依赖
mne
,来自Filter
转换器新增开发者依赖
pytest-randomly
核心接口变更#
所有估计器#
get_fitted_params
现在有一个私有实现接口_get_fitted_params
,类似于fit
/_fit
等未文档化的参数
_required_parameters
不再是必需的(不必出现在某些估计器中)
预测#
预测指标类现在通过
multilevel
参数全面支持分层数据和分层平均
参数估计#
新增估计器类型 - 参数估计器,基类为
BaseParamFitter
弃用与移除#
时间序列分类#
ProbabilityThresholdEarlyClassifier
已被弃用,并将在 0.15.0 版本中被同名的早期分类器取代。接口将不向下兼容。
增强功能#
BaseObject#
数据集和数据加载器#
[增强] 数据加载器重做 (#3109) @achieveordie
数据类型、检查、转换#
预测#
[增强]
VECM
的predict_interval
功能 (#2925) @AurumnPegasus[增强]
DynamicFactor
的predict_interval
和predict_quantiles
(#3105) @lbventura[增强] 使用
get_window
函数重构SingleWindowSplitter
(#3146) @khrapovs[增强] 添加
VAR._predict_intervals
(#3149) @lbventura
参数估计#
时间序列标注#
时间序列分类#
[增强] 将向量分类器从
_contrib
移至 classification 模块 (#2951) @MatthewMiddlehurst[增强] CNN Classifier 基类的各种改进 (#2991) @AurumnPegasus
[增强] 弃用
ProbabilityThresholdEarlyClassifier
(#3133) @MatthewMiddlehurst
时间序列回归#
转换#
[增强] 重构
ColumnConcatenator
,使用pd-multiindex
内部 mtype 重写 (#2379) @fkiraly[错误修复] 修复
RandomIntervalFeatureExtractor
以确保列名唯一 (#3001) @fkiraly[错误修复] 修复
Differencer.inverse_transform
无法访问数据索引freq
的问题 (#3007) @fkiraly[增强] 增加
FunctionTransformer
和TabularToSeriesAdaptor
的无状态范围 (#3087) @fkiraly[增强] 将简单的
ShapeletTransform
从_contrib
移至transformations
模块 (#3136) @fkiraly
测试框架#
[增强]
functools
包装器用于保留被make_mock_estimator
包装的估计器的文档字符串 (#3228) @ltsaprounis[增强] 重构
FittedParamExtractor
的测试参数至get_test_params
(#2995) @mariamjabara[增强] 将
_config
中所有剩余的测试参数完全重构至get_test_params
(#3123) @fkiraly
文档#
[文档] 添加来自
sktime-dl
的多元 CNN 示例 (#3002) @tobiasweede[文档] 来自 pydata Berlin 2022 的概率预测 Jupyter Notebook (#3016) @ciaran-g, @eenticott-shell, @fkiraly
[文档] 修复
segmentation_with_clasp.ipynb
中的拼写错误 (#3060) @soma2000-lang[文档] 来自 pydata London 2022 的分层预测 Jupyter Notebook (#3227) @danbartl, @fkiraly
修复#
数据类型、检查、转换#
[错误修复] 修复
from_multi_index_to_3d_numpy
中的杂散参数 (#3239) @fkiraly
预测#
时间序列分类#
转换#
测试框架#
维护#
[维护] 修复损坏的 Slack 邀请链接 (#3017, #3066) @aiwalter, @Arvind644
[维护] 将
testdir
添加到.gitignore
(#3019) @Lovkush-A[维护] 将 MacOS GitHub actions 主机提升到 MacOS-11 (#3107) @lmmentel
[维护] 重新激活
TSFreshRelevantFeatureExtractor
的测试 (#3196) @fkiraly
贡献者#
@achieveordie, @aiwalter, @AnH0ang, @Arvind644, @AurumnPegasus, @benHeid, @bethrice44, @C-mmon, @ciaran-g, @danbartl, @eenticott-shell, @fkiraly, @jelc53, @kcc-lion, @khrapovs, @lbventura, @lmmentel, @Lovkush-A, @ltsaprounis, @mariamjabara, @MatthewMiddlehurst, @miraep8, @shchur, @soma2000-lang, @sveameyer13, @TNTran92, @tobiasweede, @ZiyaoWei
版本 0.13.0 - 2022-07-14#
亮点#
sktime
现在兼容python 3.10
,包括开发者套件所有预测器和变换器都可以处理多元数据,通过向量化实现 (#2864, #2865, #2867, #2937) @fkiraly
BaggingForecaster
,用于通过 bagging 添加预测区间 (#2248) @ltsaprounis新的预测器:
VARMAX
,VECM
,DynamicFactor
(#2763, #2829, #2859) @KatieBuc @AurumnPegasus @lbventura @ris-bali
依赖项变更#
Python 要求和软依赖项现已尽可能隔离到估计器类,请参阅下文。
sktime
现在允许使用numpy 1.22
。prophet
软依赖项现在必须高于 1.1,在此版本中它不再依赖于pystan
。已移除对
pystan
的间接软依赖项。已移除对
hcrystalball
的软依赖项。
核心接口变更#
数据类型、检查、转换#
VectorizedDF
现在支持按列进行向量化
依赖项处理#
Python 要求和软依赖项现在通过
python_version
和python_dependencies
标签隔离到估计器类。这允许将算法与其依赖项要求捆绑在一起。
预测#
所有预测器现在都可以进行多元预测。单变量预测器通过迭代/向量化变量来实现。在这种情况下,用于变量的单个预测器存储在
forecasters_
属性中。ForecastingHorizon
现在将频率信息存储在freq
属性中。可以通过新的freq
参数在构造函数中设置,并在传递数据时推断/更新。
变换#
所有变换器现在都可以变换多元时间序列。单变量变换器通过迭代/向量化变量来实现。在这种情况下,用于变量的单个变换器存储在
transformers_
属性中。
弃用和移除#
预测#
已弃用:在 ForecastingHorizon 方法中使用带有
freq
的pd.Timestamp
已弃用,并将从 0.14.0 版本开始引发异常。仍然可以使用pd.Timestamp
。这是因为pandas
中弃用了pd.Timestamp
的freq
属性。从 0.14.0 版本开始,预测器的公共
cutoff
属性将从索引元素更改为pd.Index
子类型。已移除:类
HCrystalBallForecaster
,请参阅 #2677。
性能指标#
已移除:所有性能指标构造函数中的
func
和name
参数。已更改:
greater_is_better
属性已替换为greater_is_better
标签。
时间序列分类#
已移除:从
BaseClassifier
的后代中移除"capability:early_prediction"
标签。早期分类器现在是它们自己的估计器类型。要搜索早期分类器,请使用early-classifier
scitype 字符串代替标签。
变换#
已移除:
Differencer
-drop_na
参数 已被移除。na_handling
的默认值更改为fill_zero
已移除:
WindowSummarizer
中的lag_config
参数,请改用lag_feature
参数。
增强功能#
数据类型、检查、转换#
预测#
[ENH]
BaggingForecaster
,用于通过 bagging 添加预测区间 (#2248) @ltsaprounis[ENH]
VECM
预测模型 (#2829) @AurumnPegasus[ENH] 解决
ForecastingHorizon
中的freq
弃用问题 (#2932) @khrapovs @fkiraly[ENH] statsmodels
DynamicFactor
接口 (#2859) @lbventura @ris-bali[ENH] 通过将
cutoff
转换为pd.Index
来避免从pd.Timestamp
访问.freq
(#2965) @khrapovs
变换#
修复#
数据加载器#
[BUG]
load_UCR_UEA_dataset
检查文件的存在而不是仅检查目录 (#2899) @TonyBagnall
数据类型、检查、转换#
预测#
时间序列分类#
[BUG] 修复 CNN TSC 模型详细模式下的错误 (#2882) @tobiasweede
[BUG] 早期分类测试修复 (#2980) @MatthewMiddlehurst
变换#
重构#
维护#
[MNT] 将
prophet
升级到 >=1.1,并从all_extras
依赖项中删除pystan
(#2887) @khrapovs[MNT] 更新
numpy
版本绑定至<=1.22
(#2979) @jlopezpena
文档#
贡献者#
@a-pasos-ruiz, @aiwalter, @AurumnPegasus, @ciaran-g, @fkiraly, @haskarb, @jlopezpena, @KatieBuc, @khrapovs, @lbventura, @lmmentel, @ltsaprounis, @MatthewMiddlehurst, @ris-bali, @TNTran92, @tobiasweede, @TonyBagnall
版本 0.12.1 - 2022-06-28#
亮点#
依赖项变更#
由于与
cmdstanpy
不兼容,prophet < 1.1
的上限
核心接口变更#
BaseObject#
增强功能#
BaseObject#
预测#
变换#
修复#
预测#
变换#
文档#
维护#
贡献者#
@aiwalter, @AurumnPegasus, @bethrice44, @ciaran-g, @fkiraly, @khrapovs, @miraep8
版本 0.12.0 - 2022-06-12#
亮点#
时间序列分类:基于深度学习的算法,将
sktime-dl
移植到sktime
(#2447) @TonyBagnall频繁请求的算法:卡尔曼滤波变换器 (#2611) @NoaWegerhoff @lielleravid
频繁请求的算法:基于 Stankeviciute 等人 (2021) 的经验和共形预测区间 (#2542, #2706) @bethrice44 @fkiraly
依赖项变更#
新的软依赖项:
pykalman
和filterpy
(用于卡尔曼滤波变换器)
核心接口变更#
BaseObject#
预测#
性能指标#
性能指标具有新的基类设计和继承结构。请参阅
BaseForecastingErrorMetric
docstring 文档。接口的更改向下兼容,并为进一步重构奠定了基础。
时间序列回归#
弃用和移除#
数据类型、检查、转换#
已移除: 从
from_multi_index_to_3d_numpy
中移除了参数instance_index
和time_index
。请改用convert
或convert_to
。
预测#
已移除: 标签
fit-in-predict
,现已归入fit_is_empty
下已弃用:
HCrystalBallForecaster
,将在 0.13.0 版本中移除。请参阅 #2677。
性能指标#
已更改: 在所有相对性能指标中,将超参数
symmetric
的默认值设为True
。已弃用: 参数
func
和name
将在 0.13.0 版本中从所有性能指标构造函数中移除。如果需要这些属性,它们应该是对象或类属性,并且可以是可选的构造函数参数。然而,不再要求所有性能指标将func
和name
作为构造函数参数。已弃用: 属性
greater_is_better
将在 0.13.0 版本中被标签greater_is_better
替换。在此之前,实现者应设置greater_is_better
标签。用户在 0.13.0 版本之前仍可调用greater_is_better
属性,如果设置了,它将是greater_is_better
标签的别名。
时间序列分类#
已弃用: 标签
"capability:early_prediction"
将在 0.13.0 版本中从BaseClassifier
的后代中移除。早期分类器应改为继承学习任务特定的基类BaseEarlyClassifier
。
变换#
已移除: 标签
fit-in-transform
,现已归入fit_is_empty
下已移除:
FeatureUnion
的参数preserve_dataframe
已移除: 模块
series_as_features.compose
,其内容已移至transformations.compose
中已移除: 模块
transformations.series.window_summarize
,其内容已移至transformations.series.summarize
中已更改:
Imputer
的"drift"
,"mean"
,"median"
,"random"
方法现在使用训练集 (fit
参数) 计算参数。对于 0.12.0 版本之前的行为,即使用transform
集,请将Imputer
包装在FitInTransform
合成器中。
增强功能#
BaseObject#
数据类型、检查、转换#
[ENH] 为多索引和分层数据添加对
get_slice
的支持 (#2761) @bethrice44
距离、核#
[ENH] TWE 切换使用欧几里得距离 (#2639) @chrisholder
预测#
性能指标#
[ENH] 用于区间预测的新概率指标 - 经验覆盖率、约束违反 (#2383) @eenticott-shell
[ENH] 概率指标测试 (#2683) @eenticott-shell
流水线#
时间序列分类和回归#
变换#
测试框架#
[ENH]
make_mock_estimator
支持为模拟类传递构造函数参数 (#2686) @ltsaprounis[ENH] 用于连续数据的
test_update_predict_predicted_index
(#2701) @ltsaprounis[ENH] 在
TestAllEstimators
中将评估器方法迭代公开为测试 fixture (#2781) @fkiraly
治理#
修复#
聚类#
数据类型、检查、转换#
距离、核#
[BUG] 修复了距离工厂处理 1d 数组时的 bug (#2691) @chrisholder
预测#
[BUG] 修复了不正确的
update_predict
参数默认值以及cv
参数的文档字符串问题 (#2589) @aiwalter[BUG]
UnobservedComponents
的ignores-exogeneous-X
标签纠正 (#2666) @fkiraly[BUG] 修复了当
X
索引集严格大于y
索引集时pmdarima
接口索引处理问题 (#2673) @fkiraly[BUG] 修复了
pd.tseries.offsets.BaseOffset
的持续时间到int
的强制类型转换问题 (#2726) @khrapovs[BUG] 修复了由于时间戳限制包含索引导致的
NaiveVariance
训练/测试集重叠问题 (#2760) @bethrice44[BUG] 修复了构造函数不符合 sklearn 规范的问题:
UnobservedComponents
(#2773) @fkiraly[BUG] 修复了
ARIMA
和AutoARIMA
中的sarimax_kwargs
不符合 scikit-learn 接口的问题 (#2731, #2773) @fkiraly
时间序列分类和回归#
变换#
维护#
重构#
文档#
[DOC] 示例 Notebook 的文本更改 (#2648) @lbventura
[DOC] 更新了
TimeSeriesForestClassifier
在get_started.rst
中的文档位置,从kernel_based
移至interval_based
(#2722) @dougollerenshaw[DOC] 修复了
ExpandingWindowSplitter
类描述中的问题 (#2676) @keepersas[DOC] 修复了网站上的几个链接 (#2688) @asattiraju13
贡献者#
@aiwalter, @asattiraju13, @bethrice44, @chrisholder, @ciaran-g, @DBCerigo, @dougollerenshaw, @eenticott-shell, @fkiraly, @k1m190r, @keepersas, @khrapovs, @lbventura, @lielleravid, @ltsaprounis, @miraep8, @NoaWegerhoff, @Ris-Bali, @TonyBagnall, @ZiyaoWei
版本 0.11.4 - 2022-05-13#
亮点#
用于兼容最新
scikit-learn 1.1.0
版本的维护更新
依赖项变更#
添加了防御性上限
scikit-learn<1.2.0
维护#
增强功能#
BaseObject#
聚类#
[ENH] 动态时间规整质心平均 (DBA) (#2582) @chrisholder
数据类型、检查、转换#
距离,核函数#
[增强] Twe 距离 (#2553) @chrisholder
预测#
时间序列分类#
减小了 DrCIF 的集成大小 (#2595) @TonyBagnall
转换#
修复#
BaseObject#
聚类#
[BUG] 聚类 Lloyd 算法提前退出不正确 (#2572) @chrisholder
[BUG] 修复了未传递平均参数的错误 (#2592) @chrisholder
[BUG] 由于 numpy 和 numba 的交互,Twe 距离运行缓慢 (#2605) @chrisholder
预测#
测试框架#
贡献者#
@chrisholder, @ciaran-g, @fkiraly, @khrapovs, @miraep8, @phershbe, @Ris-Bali, @TonyBagnall
版本 0.11.3 - 2022-04-29#
亮点#
预测管道的 dunder 方法:使用 `trafo * forecaster * my_postproc` 表示 `TransformedTargetForecaster` 管道 (#2404) @fkiraly
用于多路复用/自动机器学习的 dunder 方法:使用 `forecaster1 | forecaster2 | forecaster 3` 表示 `MultiplexForecaster`,用于在预测器之间进行调优 (#2540) @miraep8
Dunder 方法可与现有的转换器 dunder 方法兼容:`*` (管道) 和 `+` (特征联合),例如,`trafo1 * trafo2 * forecaster` 或 `(trafo1 + trafo2) * forecaster`。
`UnobservedComponents` 预测器的预测区间 (#2454) @juanitorduz
`all_estimators` 的新参数 `return_tags` 允许列出估计器及其选定的标签 (#2410) @miraep8
依赖项变更#
`scipy` 的上限放宽至 `scipy<1.9.0`,`sktime` 现在兼容 `scipy 1.8.X` 版本。
核心接口变更#
所有估计器#
所有估计器现在都有一个 `reset` 方法,该方法将对象重置为干净的初始化后状态,保留超参数。等效于 `clone`,但会覆盖 `self`。
预测#
预测器有两个新的 dunder 方法。调用这些 dunder 方法可以轻松创建管道对象。
与转换器一起使用 `*` 会创建预测管道,例如 `my_trafo1 * my_forecaster * my_postproc`。预测器之前的转换器在 `TransformedTargetForecaster` 中用于预处理。预测器之后的转换器在 `TransformedTargetForecaster` 中用于后处理。
与另一个预测器一起使用 `|` 会创建多路复用器,例如 `forecaster1 | forecaster2 | forecaster 3`。结果是 `MultiplexForecaster` 类的一个实例,可以与网格搜索结合用于自动机器学习风格的调优。
Dunder 方法与现有的转换器 dunder 方法兼容:`*` (管道) 和 `+` (特征联合)。
预测器 `update_predict` 现在接受一个额外的布尔参数 `reset_forecaster`。如果 `reset_forecaster = True` (默认且当前的行为),预测器状态不会改变。如果 `reset_forecaster = False`,则 `update`, `predict` 序列会更新状态。
在 0.13.0 版本中,默认值将更改为 `reset_forecaster = False`。
弃用#
预测#
预测器 `update_predict` 的默认行为将从 `reset_forecaster = True` 更改为 `reset_forecaster = False`,从 0.13.0 版本开始 (参见上文)。
转换#
`Differencer`:`drop_na` 参数将从 0.12.0 版本开始弃用,并在 0.13.0 版本中移除。它将被 `na_handling` 参数和默认值 `"fill_zero"` 替代。
`WindowSummarizer`:`lag_config` 参数将从 0.12.0 版本开始弃用,并在 0.13.0 版本中移除。它将被 `lag_feature` 参数和新的规范语法替代。
增强功能#
BaseObject#
数据类型、检查、转换#
预测#
[增强] `UnobservedComponents` 预测器的预测区间 (#2454) @juanitorduz
[增强] 在分割器中将 `np.arange` 替换为 `np.arghwere` 以启用基于时间的索引和选择 (#2394) @khrapovs
[增强] 使用 Timedelta 预测范围测试 `SingleWindowSplitter` (#2392) @khrapovs
[增强] 为 `statsmodels` 适配器和估计器添加了 `random_state` (#2440) @ris-bali
[增强] 为 `MultiplexForecaster` 添加了 `|` dunder 方法 (#2540) @miraep8
注册表#
测试框架#
转换#
修复#
聚类#
[BUG] 修复了 kmedoids 中 medoids 是从所有数据中选取而不是按聚类选取的问题 (#2548) @chrisholder
数据类型、检查、转换#
距离,核函数#
[BUG] 距离度量修复了边界矩阵被错误舍入的错误 (#2549) @chrisholder
预测#
[BUG] 重构并修复了 `_predict_moving_cutoff`,应该调用外部的 `update_predict_single` 方法 (#2466) @fkiraly
[BUG] 修复了 `ThetaForecaster.predict_quantiles` 在 `pd.DataFrame` 输入时崩溃的错误 (#2529) @fkiraly
[BUG] 修复了 `update_predict` 状态处理错误,将分离的截止日期替换为 `deepcopy` (#2557) @fkiraly
[BUG] 修复了 `WindowSummarizer` 中的索引名称依赖问题 (#2567) @ltsaprounis
[BUG] 修复了 `ColumnEnsembleForecaster.pred_quantiles`, `pred_interval` 的不合规输出问题 (#2512) @eenticott-shell
时间序列分类#
转换#
测试框架#
重构#
[增强] 将对 `fit-in-transform` 的引用改为 `fit_is_empty` (#2494) @fkiraly
[增强] 遗留测试重构 - 移动了 `test_data_processing`,改进了 `test_classifier_output` 中的 mtype 处理 (#2506) @fkiraly
[增强] 不带日志记录的 `MockForecaster`,清理了 `MockUnivariateForecaster` (#2539) @fkiraly
[增强] 在 `_predict_moving_cutoff` 重构后移除了无用的参数和函数 (#2470) @fkiraly
维护#
[维护] 将 contrib 模块设为私有 (#2422) @MatthewMiddlehurst
[维护] 移除了意外提交的概率集成 notebook (#2476) @eenticott-shell
[维护] 在 Windows 上将 scipy 镜像切换到 anaconda,以解决所有 CI/CD 中的 `gfortran` `FileNotFoundError` 问题 (#2561) @fkiraly
文档#
[文档] 在 GSoC 截止日期后从首页移除了 GSoC 公告 (#2543) @GuzalBulatova
[文档] 修复了 sktime 安装说明中的拼写错误,如果按字面遵循,会导致“invalid requirement error” (#2503) @Samuel-Oyeneye
贡献者#
@aiwalter, @chrisholder, @ciaran-g, @danbartl, @eenticott-shell, @fkiraly, @GuzalBulatova, @juanitorduz, @KatieBuc, @khrapovs, @lmmentel, @ltsaprounis, @MatthewMiddlehurst, @miraep8, @ris-bali, @Samuel-Oyeneye, @tarpas, @Tomiiwa
版本 0.11.2 - 2022-04-11#
修复#
版本 0.11.1 - 2022-04-10#
亮点#
GSoC 2022 申请说明 - 在 4 月 19 日前申请参与 sktime 的 GSoC! (#2373) @lmmentel @Lovkush-A @fkiraly
针对在 0.11.0 版本中引入的概率和层级预测功能的增强功能和错误修复
概率预测的流水线、调优和评估兼容性 (#2234, #2318) @eenticott-shell @fkiraly
核心接口变更#
数据类型、检查、转换#
放宽了
pd-multiindex
mtype,允许任意级别名称
预测#
概率预测接口现在也可用于自动矢量化情况
概率预测接口现在兼容分层预测接口
改进#
数据类型、检查、转换#
[改进] tsf 加载器允许指定返回的 mtype (#2103) @ltsaprounis
[改进] 放宽 multiindex 的名称规则 - 修复了
from_multi_index_to_nested
中的遗漏 (#2384) @ltsaprounis
预测#
[改进] 为
ForecastingPipeline
和TransformedTargetForecaster
添加与概率和分层预测的兼容性 (#2318) @fkiraly[改进] 允许在
ForecastingHorizon
中使用pd.Timedelta
值 (#2333) @khrapovs[改进]
ColumnEnsembleForecaster
的概率方法(predict_proba 除外) (#2356) @fkiraly[改进]
NaiveVariance
:verbose 参数和扩展的 docstring (#2395) @fkiraly[改进] 使用概率指标进行网格搜索 (#2234) @eenticott-shell
[改进] 流式预测(使用
update_predict
)的包装器,用于触发定期 refit (#2305) @fkiraly[改进]
TransformedTargetForecaster
中的后处理,(变换后的 y)预测流水线的 dunder 方法 (#2404) @fkiraly[改进] 抑制
all_estimators
估计器检索中的弃用消息,解决 dtw 导入消息 (#2418) @katiebuc[改进]
NaiveVariance
:verbose 参数和扩展的 docstring (#2395) @fkiraly
时间序列分类#
变换#
维护#
重构#
[改进] 分类期望输出测试更新 (#2295) @MatthewMiddlehurst
[改进] Transformer 模块全面重构 - 第三部分,panel 模块(第二批) (#2253) @fkiraly
[改进] Transformer 模块全面重构 - 第四部分,panel 模块(第三批) (#2369) @fkiraly
[改进] 测试参数重构:
TSInterpolator
(#2342) @NoaWegerhoff[改进] 将“sktime forecaster tests”移至
TestAllForecasters
类中 (#2311) @fkiraly[改进] 升级
BasePairwiseTransformer
以使用 datatypes 输入转换和检查 (#2363) @fkiraly[改进] 扩展
_HeterogeneousMetaEstimator
估计器以允许混合的元组/估计器列表 (#2406) @fkiraly[维护] 测试参数重构:预测 reducer 和
ColumnEnsembleClassifier
(#2223) @fkiraly
修复#
预测#
变换#
文档#
[文档] 扩展模板中的拼写错误修复:constructor -> constructor (#2348) @fkiraly
[文档] 修复了 '
docs/source/developer_guide/testing_framework.rst
' 的问题 (#2335) @0saurabh0[文档] 更新了 conda 安装说明 (#2365) @RISHIKESHAVAN
[文档] 在 interval_based_classification 示例笔记本中,对多元示例使用多元数据集 (#1822) @ksachdeva
贡献者#
@0saurabh0, @aiwalter, @ciaran-g, @danbartl, @eenticott-shell, @fkiraly, @katiebuc, @khrapovs, @ksachdeva, @lmmentel, @ltsaprounis, @MatthewMiddlehurst, @NoaWegerhoff, @RISHIKESHAVAN, @TNTran92
版本 0.11.0 - 2022-03-26#
要点#
多元预测,预测教程中的概率预测部分 (#2041) @kejsitake
分层和全局预测:forecaster 和 transformer 接口现在兼容分层数据,自动在层次结构级别上进行矢量化 (#2110, #2115, #2219) @danbartl @fkiraly
概率预测:
predict_var
(方差预测)和predict_proba
(完整分布预测)接口;区间和分位数预测的性能指标 (#2100, #2130, #2232) @eenticott-shell @fkiraly @kejsitaketransformer 和 classifier 流水线的 dunder 方法:使用
my_trafo1 * my_trafo2
表示流水线,使用my_trafo1 + my_trafo2
表示FeatureUnion
(#2090, #2251) @fkiraly常见请求:来自
statsforecast
包的AutoARIMA
现在可用作StatsforecastAutoARIMA
(#2251) @FedericoGarza对于扩展者:详细的“创建 sktime 兼容估计器”指南
依赖变更#
sktime
新增了一组用于深度学习的可选依赖,包括tensorflow
和tensorflow-probability
新的软依赖:
tslearn
(tslearn
聚类器所需)新的软依赖:
statsforecast
(StatsforecastAutoARIMA
所需)
核心接口变更#
数据类型、检查、转换#
新的
Hierarchical
科学类型,用于分层时间序列数据,mtype 格式为pd_multiindex_hier
(行多索引系列)新的
Table
科学类型,用于非时间序列或序列的“普通”表格(类似 2D 数据框)数据Table
科学类型的多种 mtype 格式:numpy1D
,numpy2D
,pd_DataFrame_Table
,pd_Series_Table
,list_of_dict
新的
Proba
科学类型,用于分布和类似分布的对象(用于概率预测)
预测#
forecasters 现在也接受
Panel
类型(面板和全局 forecaster)和Hierarchical
类型(分层 forecaster)的输入当 forecaster 获得
Panel
或Hierarchical
输入,但仅定义了Series
逻辑时,forecaster 将自动遍历(系列)实例当 forecaster 获得
Hierarchical
输入,但仅定义了Panel
或Series
逻辑时,forecaster 将自动遍历(面板)实例用于概率预测的新概率预测接口
新方法
predict_var(fh, X, cov=False)
用于方差预测,返回预测方差的时间序列新方法
predict_proba(fh, X, marginal=True)
用于分布预测,返回tensorflow
Distribution
时间序列分类#
用于 pipelining classifier 和 transformer 的 dunder 方法:
my_trafo1 * my_trafo2 * my_clf
将创建一个ClassifierPipeline
(兼容sklearn
)
变换#
transformer 现在也接受
Panel
类型(面板和全局 transformer)和Hierarchical
类型(分层 transformer)的输入当 transformer 获得
Panel
或Hierarchical
输入,但仅定义了Series
逻辑时,transformer 将自动遍历(系列)实例当 transformer 获得
Hierarchical
输入,但仅定义了Panel
或Series
逻辑时,transformer 将自动遍历(面板)实例Table
科学类型被用作返回“基本类型”的 transformer 的输出用于 pipelining transformer 的 dunder 方法:
my_trafo1 * my_trafo2 *
my_trafo3
将创建一个(单个)TransformerPipeline
(兼容sklearn
)用于 transformer 的
FeatureUnion
的 dunder 方法:my_trafo1 + my_trafo2 +
my_trafo3
将创建一个(单个)FeatureUnion
(兼容sklearn
)transformer dunder 流水线兼容
sklearn
transformer,自动包装在TabularToSeriesAdaptor
中
弃用和移除#
数据类型、检查、转换#
预测#
移除:forecaster
predict
,fit_predict
,update_predict_single
中的return_pred_int
参数。由predict_interval
和predict_quantiles
接口取代。弃用:
fit-in-predict
标签已弃用并重命名为fit_is_empty
。旧标签fit-in-predict
可使用至 0.12.0 版本移除。弃用:预测指标
symmetric
参数的默认值将在 0.12.0 版本中更改为False
。在此之前默认值为True
。
变换#
移除:series transformers 不再接受 Z 参数 - 请改用第一个参数 X (#1365, #1730)
弃用:
fit-in-transform
标签已弃用并重命名为fit_is_empty
。旧标签fit-in-transform
可使用至 0.12.0 版本移除。弃用:
FeatureUnion
中series_as_features
的旧位置,已移至transformations.compose
。旧位置仍可在 0.12.0 版本之前导入。弃用:
FeatureUnion
的preserve_dataframe
参数,将在 0.12.0 版本中移除。弃用:
WindowSummarizer
在transformations.series.windows_summarizer
的旧位置,已移至transformations.series.summarize
。旧位置仍可在 0.12.0 版本之前导入。
改进#
数据类型、检查、转换#
数据集和数据加载器#
[改进] 分层 mtype 生成器 (#2093) @ltsaprounis
聚类#
[改进]
tslearn
添加为软依赖,用于添加新的聚类器。(#2048) @chrisholder[改进] 在单问题聚类/分类问题中添加用户选项以确定返回类型 (#2139) @TonyBagnall
距离、核函数#
[改进] Lcss 距离的一些小改动 (#2119) @TonyBagnall
[改进] 添加一个 factory,为 distances 模块导出的所有距离添加 3D 功能 (#2051) @fkiraly
预测#
[改进] 添加 StatsForecast 中的 AutoARIMA (#2251) @FedericoGarza
[改进] 朴素方差预测估计器/包装器 (#1865) @IlyasMoutawwakil
[改进] forecasters 的
predict_proba
,添加 tensorflow-probability 依赖 (#2100) @fkiraly[改进] 概率预测指标 (#2232) @eenticott-shell
[改进] Hierarchical 数据的
_predict_fixed_cutoff
(#2094) @danbartl
时间序列分类#
[改进] 在单问题聚类/分类问题中添加用户选项以确定返回类型 (#2139) @TonyBagnall
[改进] TEASER 早期分类实现 (#2162) @MatthewMiddlehurst
[功能增强] 引入
classifier_type
标签 (#2165) @MatthewMiddlehurst[功能增强] 分类的 sklearn 模型选择测试 (#2180) @MatthewMiddlehurst
[功能增强] Rocket 转换器: 将精度更改为 float32 (#2135) @RafaAyGar
转换器#
[功能增强] 单变量时间序列自举法 (#2065) @ltsaprounis
[功能增强] 升级
BaseTransformer
以使用向量化工具,支持分层 mtype 兼容性 (#2219) @fkiraly
测试框架#
治理#
将 @danbartl 添加到核心开发者列表
将 @ltsaprounis 添加到核心开发者列表 (#2236) @ltsaprounis
已修复#
[错误修复] 修复 ThetaForecaster.predict_quantiles 引起的状态改变 (#2108) @fkiraly
[错误修复] 将
_make_hierarchical
重命名为_make_hierarchical
(拼写错误/错误) issue #2195 (#2196) @Vasudeva-bit[错误修复] 修复
PaddingTransformer._transform
错误的输出类型 (#2217) @fkiraly[错误修复] 修复
STLBootstrapTransformer
错误消息和文档字符串 (#2260) @fkiraly[错误修复] 修复 BaseForecaster 中区间->分位数转换,并修复 ARIMA.predict_interval (#2281) @fkiraly
[错误修复] 修复 Windows 系统中
VectorizedDF.__getitem__
索引频率的错误 (#2279) @ltsaprounis[错误修复] 修复
_predict_var
文档字符串中 Returns 部分重复的错误 (#2306) @fkiraly[错误修复] 修复 kmeans、medoids 在生成空聚类时崩溃的错误 (#2060) @chrisholder
弃用处理: 使用 StandardScaler 替换 normalize (#2167) @KishenSharma6
文档#
[文档] 预测器教程: 多变量预测,概率预测 (#2041) @kejsitake
[文档] 在 sktime 安装说明中添加“故障排除”链接 (#2121) @eenticott-shell
[文档] 增强距离文档字符串 (#2122) @TonyBagnall
[文档] 将 gitter 提及替换为适当的链接、引用 (#2187) @TonyBagnall
[文档] 更新环境文档,添加 sktime 支持的 python 版本,添加 python 3.9 (#2199) @Vasudeva-bit
[文档] 改进 HIVE-COTE v1.0 的文档字符串 (#2239) @TonyBagnall
[文档]
developer_guide.rst
中的拼写错误 (#2131) @theanorak
维护#
加速 EE 测试和 ColumnEnsemble 示例 (#2124) @TonyBagnall
[维护] 在 test_plotting 中添加 xfails 直到 #2066 解决 (#2144) @fkiraly
[功能增强] 改进 deep_equals 返回消息,如果 dict 不一致 (:pr:`2107`) @fkiraly
[功能增强] 扩展 deep_equals 以支持 ForecastingHorizon (#2225) @fkiraly
[维护] 更快的文档字符串示例 - ForecastingGridSearchCV, MultiplexForecaster (#2229) @fkiraly
[错误修复] 移除 StratifiedGroupKFold 的测试 (#2244) @TonyBagnall
[功能增强] 分类器类型提示 (#2246) @MatthewMiddlehurst
[功能增强] 用于测试的模拟估计器和模拟估计器生成器 (#2197) @ltsaprounis
[文档] 更新 PULL_REQUEST_TEMPLATE.md,使 PR 标题应以 [ENH]、[DOC] 或 [BUG] 开头 (#2293) @aiwalter
重构#
[功能增强] 聚类实验保存结果格式化 (#2156) @TonyBagnall
[功能增强] 在
datatypes
中将np.isnan
替换为pd.isnull
(#2220) @fkiraly[功能增强] 将
fit-in-transform
和fit-in-predict
重命名为fit_is_empty
(#2250) @fkiraly[功能增强] 测试参数重构: 所有分类器 (#2288) @MatthewMiddlehurst
[功能增强] 测试参数重构:
Arsenal
(#2273) @dionysisbacchus[功能增强] 测试参数重构:
RocketClassifier
(#2166) @dionysisbacchus[功能增强] 测试参数重构:
TimeSeriesForestClassifier
(#2277) @lielleravid[功能增强]
FeatureUnion
重构 - 移至transformations
, 添加标签, 魔术方法 (#2231) @fkiraly[功能增强] 将
statsforecast
中的AutoARIMA
更改为StatsForecastAutoARIMA
(#2272) @FedericoGarza
贡献者#
@aiwalter, @cdahlin, @chrisholder, @ciaran-g, @danbartl, @dionysisbacchus, @eenticott-shell, @FedericoGarza, @fkiraly, @hmtbgc, @IlyasMoutawwakil, @kejsitake, @KishenSharma6, @lielleravid, @lmmentel, @ltsaprounis, @MatthewMiddlehurst, @mikofski, @RafaAyGar, @theanorak, @Tomiiwa, @TonyBagnall, @Vasudeva-bit,
[0.10.1] - 2022-02-20#
亮点#
依赖项变化#
引入
scipy<1.8.0
的限制,以防止由于scipy
接口更改导致的错误一旦
sktime
兼容scipy 1.8.0
,该上限将被放宽
已添加#
文档#
[文档] 改进预测教程 (#1834) @baggiponte
[文档] 修复安装包的错误 conda 命令 (#1973) @schettino72`
[文档] 修复小文档问题 (#2035) @Saransh-cpp
数据集和数据加载器#
[功能增强] 添加
.tsf
数据格式的加载器 (#1934) @rakshitha123[功能增强] 添加用于单元测试的
.tsf
数据集 (#1996) @rakshitha123
数据类型、检查、转换#
预测#
转换器#
维护#
[维护] 放弃 C 扩展和 Cython 后更新 wheels CI/CD 工作流程 (#1972) @lmmentel
[维护] 重命名分类 notebook (#1980) @TonyBagnall
[维护] 从 CI-CD 移除
pytest-xdist
,取消跳过 test_multiprocessing_idempotent (#2004) @fkiraly[维护] 更改数据类型检查中的函数名为 lower_snake_case (#2014) @chicken-biryani
[维护]
linux
和mac
测试的详细输出 (#2045) @Saransh-cpp[维护] GitHub Actions: 再次推送时取消 PR 旧的但仍在运行的工作流程 (#2063) @RishiKumarRay
已修复#
[错误修复] 移除文档中的 MrSEQL notebook (#1974) @TonyBagnall
[错误修复] 修复聚类扩展模板上的导入 (#1978) @schettino72
[错误修复] HC2 组件错误修复 (#2020) @MatthewMiddlehurst
[错误修复] 修复如果序列有名称时,
nested_univ
到pd-multiindex
mtype 的转换错误 (#2000) @fkiraly[错误修复]
MiniRocket
符合 sklearn init 规范,修复__init__
中random_state
修改的错误 (#2027) @fkiraly[错误修复] naive forecaster 窗口错误 (#2047) @eenticott-shell
[错误修复] 修复
ColumnsEnsembleForecaster._predict
中的隐藏错误 (#2083) @aiwalter
贡献者#
@aiwalter, @baggiponte, @chicken-biryani, @danbartl, @eenticott-shell, @fkiraly, @khrapovs, @lmmentel, @MatthewMiddlehurst, @rakshitha123, @RishiKumarRay, @Rubiel1, @Saransh-cpp, @schettino72,
[0.10.0] - 2022-02-02#
亮点#
sktime
现在支持 python 3.7-3.9。由于生命周期结束,不再支持 Python 3.6。最后一个支持 python 3.6 的sktime
版本是 0.9.0。sktime
现在支持并要求numpy>=1.21.0
和statsmodels>=0.12.1
全面修订了安装和首次开发者的文档 (#1707) @amrith-shell
所有概率预测器现在都提供
predict_interval
和predict_quantiles
接口 (#1842, #1874, #1879, #1910, #1961) @fkiraly @k1m190r @kejsitake新的基于转换器的管道分类器 (#1721) @MatthewMiddlehurst
sktime
的开发者安装不再需要 C 编译器和cython
(#1761, #1847, #1932, #1927) @TonyBagnall
依赖项变化#
sktime
现在在 Windows、Mac 和基于 Unix 的系统上支持python
3.7-3.9sktime
现在支持并要求numpy>=1.21.0
和statsmodels>=0.12.1
sktime
Prophet
接口现在使用prophet
而不是已弃用的fbprophet
sktime
的开发者安装不再需要 C 编译器和cython
核心接口变化#
预测#
新的概率预测接口,用于分位数和预测区间
对于所有具有概率预测能力的预测器,即具有
capability:pred_int
标签的预测器新的
predict_interval(fh, X, coverage)
方法用于区间预测新的
predict_quantiles(fh, X, alpha)
方法用于分位数预测两者都在
coverage
,alpha
参数上进行了向量化,并适用于多变量预测旧的
return_pred_int
接口已弃用,将在 0.11.0 版本中移除参见预测器基础 API 和预测器扩展模板
返回残差的便利方法
所有预测器现在都有
predict_residuals(y, X, fh)
方法如果未传递
fh
,则计算样本内残差
转换器#
基础接口重构已推广到序列转换器 (#1790, #1795)
fit
,transform
,fit_transform
现在同时接受Series
和Panel
作为参数如果将
Panel
传递给序列转换器,它将应用于所有实例所有转换器现在都具有
transform(X, y=None)
和inverse_transform(X, y=None)
签名。这是由新的基础接口强制执行的。Z
(旧的第一个参数) 在 0.11.0 版本之前是X
的别名,之后将被移除X
(旧的第二个参数) 在这些转换器中未使用,已更改为y
参见转换器基础 API 和转换器扩展模板
弃用和移除#
数据类型、检查、转换#
预测#
弃用,计划在 0.11.0 中移除:预测器
predict
、fit_predict
、update_predict_single
中的return_pred_int
参数。替换为predict_interval
和predict_quantiles
接口。
时间序列分类#
移除:
MrSEQL
时间序列分类器 (#1548) @TonyBagnall移除
RISF
和 shapelet 分类器 (#1907) @TonyBagnalldata.io
模块移至 datasets (#1907) @TonyBagnall
变换#
新增#
文档#
数据类型、检查、转换#
数据集和数据加载器#
[ENH] 更新数据集头部信息 (#1752) @tonybagnall
[ENH] 清理分类数据集 (#1785) @tonybagnall
[ENH] contrib 中的多态数据加载器 (#1840) @tonybagnall
[ENH] 将函数和测试从 utils/data_io 移至 datasets/_data_io (#1777) @tonybagnall
聚类#
[ENH] 重构聚类模块 (#1864) @chrisholder
[ENH]
fit
在 Lloyd 算法中重复初始化 (#1897) @chrisholder
距离、核函数#
预测#
[ENH] Scaled Logit 变换器 (#1913, #1965) @ltsaprounis。
[ENH] 将
fit
参数添加到 statsmodels Holt-Winters 指数平滑接口 (#1849) @fkiraly[ENH] 将
predict_quantiles
添加到 FBprophet (#1910) @kejsitake[ENH] 将
predict_quantiles
添加到 ets, pmdarima 适配器 (#1874) @kejsitake[ENH]
_predict_interval
和_predict_coverage
的默认值 (#1879, #1961) @fkiraly[ENH] 重构了列集成预测器 (#1764) @Aparna-Sakshi
[ENH] 更新了 predict_quantiles 的扩展模板 (#1780) @kejsitake
[ENH] 重构预测区间:BATS/TBATS;#1625 的 bugfix;
predict_quantiles
的基类更新 (#1842) @k1m190r
时间序列分类#
[ENH] 基于新变换的管道分类器 (#1721) @MatthewMiddlehurst
[ENH]
FreshPRINCE
参数从 _config 移至 estimator 中 (#1944) @fkiraly[ENH] 用户选择分类问题数据加载函数的返回类型 (#1799) @tonybagnall
[ENH] TSC 重构:
compose
子模块 (#1852) @tonybagnall[ENH] TSC 重构:TSC 列集成 (#1859) @tonybagnall
[ENH] TSC 重构:TSF, RSF (#1851) @tonybagnall
[ENH] 将 C 扩展和 Cython 替换为基于 numba 的距离计算 (#1761, #1847, #1932, #1927) @TonyBagnall。
[ENH] 引入 msm 距离并修改 KNN 分类器以使用它 (#1926) @tonybagnall
[ENH] 提高 HC2 interval_speedup 的效率 (#1754) @MatthewMiddlehurst
[ENH] 分类器测试:移除 replace_X_y、注释并添加 contracting tests (#1800) @MatthewMiddlehurst
变换#
测试模块#
[ENH] 将 series_as_features 中的测试拆分为分类和回归 (#1959) @tonybagnall
[ENH] 测试
test_create_test_instances_and_names
fixture 生成方法 (#1829) @fkiraly
治理#
新的 CC 组成,更新了 codeowners (#1796)
更新了核心开发者列表 (#1841) @sumit-158
维护#
已修复#
[DOC] 修复了 transformer 扩展模板中的一个错别字 (#1901) @rakshitha123
[DOC] 修复了“Setting up a development environment”章节中的错别字 (#1872) @shubhamkarande13
[BUG] 修复了 ARIMA 和
TrendForecaster
不正确的“uses X”标签 (#1895) @ngupta23[BUG] 修复了连接训练集和测试集时的错误 (#1892) @tonybagnall
[BUG] Knn bugfix 允许与 GridsearchCV 和 column ensemble 一起使用 (#1903) @tonybagnall
[BUG] 修复了 DrCIF, STSF, MUSE, Catch22 中的各种错误 (#1869) @MatthewMiddlehurst
[BUG] 修复了
convert_align_to_align_loc
中错误的索引强制转换 (#1911) @fkiraly[BUG] 1523 修复了带有 anchorings 的 freqs 的
ForecastHorizon.to_absolute
(#1830) @eenticott-shell[BUG] 修复了
predict_interval
和predict_quantiles
中的 fh -> self.fh 问题 (#1775) @fkiraly[BUG] 修复了不正确的文档字符串,并解决了面板元数据推理中不等长/不等间距的混淆问题 (#1768) @fkiraly
[BUG] 修复了 CIF 与 CIT 冲突的问题,并添加了预防性测试 (#1709) @MatthewMiddlehurst
[BUG] 纠正了 examples/catch22.ipynb 调用
transform_single_feature
的问题 (#1793) @lmmentel[BUG] 修复了 prophet 中关于外部变量 X 内部更改的错误 (#1711) @kejsitake
[BUG] 修复了 sktime/utils/tests/test_datetime.py:21 中
pd.Series
的 DeprecationWarning 问题 (#1743) @khrapovs
贡献者#
@aiwalter, @amrith-shell, @Aparna-Sakshi, @AreloTanoh, @chrisholder, @eenticott-shell, @fkiraly, @k1m190r, @kejsitake, @khrapovs, @lmmentel, @ltsaprounis, @MatthewMiddlehurst, @MrPr3ntice, @mloning, @ngupta23, @rakshitha123, @RNKuhns, @shubhamkarande13, @sumit-158, @TonyBagnall,
[0.9.0] - 2021-12-08#
亮点#
经常请求的功能:AutoARIMA
get_fitted_params
可访问已拟合的 order 和 seasonal order (#1641) @AngelPoneNumba 距离模块 - 高效的时间序列距离 (#1574) @chrisholder
变换器基接口重构 - 默认对面板数据进行向量化 @fkiraly
核心接口更改#
数据类型、检查、转换#
时间序列分类#
时间序列分类器现在接受 2D
np.ndarray
,通过转换为 3D 而非抛出异常 (#1604) @TonyBagnall
变换#
fit
,transform
,fit_transform
现在同时接受Series
和Panel
作为参数如果将
Panel
传递给序列转换器,它将应用于所有实例所有变换器现在都使用 X 作为第一个参数,y 作为第二个参数。这是由新的基接口强制执行的。
这与之前不同类型的变换器不一致:series-to-series 变换器使用 Z 作为第一个参数,X 作为第二个参数。
Z(以前的第一个参数)在系列变换器中作为 X 的别名直到 0.10.0,之后将被弃用
X(以前的第二个参数)在那些更改为 y 的变换器中未使用
参阅新的变换器扩展模板
这些更改将通过 0.9.X 版本逐步推广到所有变换器
0.10.0 的新弃用#
数据类型、检查、转换#
时间序列分类#
MrSEQL 时间序列分类器 (#1548) @TonyBagnall
变换#
序列变换器将不再接受 Z 参数 - 第一个参数 Z 被 X 替换 (#1365)
新增#
文档#
[DOC] 使用 Anaconda 和 PyCharm 进行 sktime 开发的 Windows 安装指南 (#1640) @jasonlines
[DOC] 更新 installation.rst (#1636) @MrPr3ntice
[DOC] 用户文档中的错别字 (#1671) @marcio55afr
[DOC] 更新时间序列森林回归文档字符串 (#800) @thayeylolu
[DOC] 修复 Feature Union 中的文档字符串 (#1470) @AreloTanoh
[DOC] 添加了新贡献者 (#1602 #1559) @Carlosbogo @freddyaboulton
数据类型、检查、转换#
预测#
[改进] Auto-ETS 根据数据的非负性检查并选择模型 (#1615) @chernika158
[文档] 用于
ForecastingGridSearchCV
docstring的元调优示例 (#1656) @aiwalter
时间序列对齐#
时间序列分类#
[改进] 分类器测试加速 (#1599) @MatthewMiddlehurst
[改进] 实验整理由 (#1619) @TonyBagnall
[改进] 将 MiniRocket 和 MultiRocket 作为 RocketClassifier 的选项 (#1637) @MatthewMiddlehurst
[改进] 更新了分类器基类的类型标注 (#1633) @chrisholder
TSC重构:基于区间的分类包(#1583) @MatthewMiddlehurst
TSC重构:基于距离的分类包 (#1584) @MatthewMiddlehurst
TSC重构:基于特征的分类包 (#1545) @MatthewMiddlehurst
时间序列距离#
[改进] Numba 距离模块 - 高效的时间序列距离 (#1574) @chrisholder
[改进] 距离度量重构 (#1664) @chrisholder
治理#
维护#
已修复#
估计器注册表#
预测#
[错误] Facebook prophet 对外生数据 X 的副作用 (#1711) @kejsitake
[错误] 修复了
_split
的错误,意外删除了对 pandas.Index 的支持 (#1582) @fkiraly[错误] 在重新拟合预测器时 update_y_X 的问题由 (#1595) @ltsaprounis
性能指标,评估#
时间序列对齐#
时间序列分类#
[错误] 修复了 #1234 (#1600) @Carlosbogo
[错误] 修复了从 UCR 加载的问题 (#1610) @TonyBagnall
[错误] 修复了 TimeSeriesForest 分类器 (#1588) @OliverMatthews
[错误] 修复了 ShapeDTW 中的参数不匹配问题由 (#1638) @TonyBagnall
转换#
维护#
贡献者#
@aiwalter, @AngelPone, @AreloTanoh, @Carlosbogo, @chernika158, @chrisholder, @fstinner, @fkiraly, @freddyaboulton, @kejsitake, @lmmentel, @ltsaprounis, @MatthewMiddlehurst, @marcio55afr, @MrPr3ntice, @mloning, @OliverMatthews, @RNKuhns, @thayeylolu, @TonyBagnall,
完整更新日志#
[0.8.1] - 2021-10-28#
亮点#
新增了一系列转换器 - 日期-时间虚拟变量、统计摘要、STL 转换、函数转换器 (#1329 #1356 #1463 #1498) @boukepostma @eyalshafran @danbartl @RNKuhns
概率预测的新接口点,包括
predict_interval
和predict_quantiles
(#1421) @SveaMeyer13时间序列分割的实验性接口 (#1352) @patrickzib
0.10.0版本的新弃用项#
预测#
当前在
predict
中通过return_pred_int
实现的预测区间接口将被弃用,并由新的接口点predict_interval
和predict_quantiles
替换
核心接口变更#
预测#
概率预测的新接口点,包括
predict_interval
和predict_quantiles
(#1421) @SveaMeyer13将预测器的
univariate-only
标签更改为ignores-exogeneous-X
(#1358) @fkiraly
新增#
BaseEstimator/BaseObject#
预测#
statsmodels VAR 接口 (#1083, #1491) @thayeylolu @fkiraly
多元
TransformedTargetForecaster
,ForecastingPipeline
,BaseGridSearch
,MultiplexForecaster
(#1376) @aiwalterstatsmodels 接口
_StatsModelsAdapter
的预测区间 (#1489) @eyalshafran新的多元预测数据集,statsmodels 宏观经济数据 (#1553) @aiwalter @SinghShreya05
时间序列分类#
HIVE-COTE 2.0 分类器 (#1504) @MatthewMiddlehurst
自动生成分类器功能总结 #997 (#1229) @BINAYKUMAR943
转换器#
基于函数的转换器工厂,
FunctionTransformer
(#1498) @boukepostmaSTL 转换,
STLTransformer
(#1463) @eyalshafran
标注:变化点,分割#
用于时间序列分割的 Clasp (CIKM’21 发表) (#1352) @patrickzib
文档#
治理#
@SveaMeyer13, @GuzalBulatova, 和 @freddyaboulton 加入了核心开发者团队 (#1444)
测试框架#
已修复#
TSC重构:基类 (#1517) @TonyBagnall
TSC重构:混合/基于核的分类包 (#1557) @MatthewMiddlehurst
TSC重构:基于字典的分类包 (#1544) @MatthewMiddlehurst
TSC重构:时间序列分类器重构/Shape_DTW (#1554) @Piyush1729
TSC重构:
_muse
分类器 (#1359) @BINAYKUMAR943TSC重构:
ShapeletTransformClassifier
,HC2 的文档 (#1490) @MatthewMiddlehurstTSC重构:catch22 (#1487) @RavenRudi
TSC重构:tsfresh 分类器 (#1473) @kejsitake
[维护] 修复了 appveyor 故障 (#1541) @freddyaboulton
[错误] #1469:剥离索引 X 和 y 的名称 (#1493) @boukepostma
[错误] 来自 #866 的 W-XXX 频率错误 (#1409) @xiaobenbenecho
[错误] AutoARIMA 中不可预测的样本内预测使用 Pandas.NA (#1442) @IlyasMoutawwakil
[错误] 重构 sktime/…/_panels/_examples.py 以兼容 tsai (#1453) @bobbys-dev
[错误] model_selection/split 在提供了 DataFrame 时将整个 DataFrame 作为索引传递 (#1456) @fkiraly
[文档] 修复了
_proximity_forest.py
中的 docstring (#1531) @TonyBagnall[文档] 修复了 landing page 链接 (#1429) @Aparna-Sakshi
[文档] 将 DataChef 博客文章添加到社区展示 (#1464) @myprogrammerpersonality
[文档] 从 docstring 中移除许可证信息 (#1437) @ronnie-llamado
所有贡献者: @Aparna-Sakshi, @BINAYKUMAR943, @IlyasMoutawwakil, @MatthewMiddlehurst, @Piyush1729, @RNKuhns, @RavenRudi, @SveaMeyer13, @TonyBagnall, @afzal442, @aiwalter, @bobbys-dev, @boukepostma, @danbartl, @eyalshafran, @fkiraly, @freddyaboulton, @kejsitake, @mloning, @myprogrammerpersonality, @patrickzib, @ronnie-llamado, @xiaobenbenecho, @SinghShreya05, 和 @yairbeer
[0.8.0] - 2021-09-17#
亮点#
在 linux/osx 上支持 Python 3.9 (#1255) @freddyaboulton
用于安装包含所有附加项的 sktime 的
conda-forge
元包 @freddyaboulton框架支持多元预测 (#980 #1195 #1286 #1301 #1306 #1311 #1401 #1410) @aiwalter @fkiraly @thayeylolu
使用
registry.all_estimators
和registry.all_tags
整合了估计器和标签查找功能 (#1196) @fkiraly[文档] 对
sktime
的在线文档进行了重大改进[维护] 可用的 Binder 浏览器内 Notebook 演示 (#1266) @corvusrabus
核心接口变更#
BaseEstimator/BaseObject#
估计器(类和对象)的能力可以通过
get_tag
和get_tags
接口进行检查通过
registry/all_tags
列出适用于估计器类型的所有标签通过
registry/all_estimators
列出特定类型且带有某些标签的所有估计器
内存数据类型#
引入了 m(achine)types 和 scitypes 用于定义所有模块的内存格式约定,详见内存数据类型教程
现在位于
datatypes
中_convert
文件里的宽松转换方法在 0.10.0 版本中将不再公开访问
预测#
现在预测器可以接受
pd.DataFrame
,pd.Series
,np.ndarray
作为X
或y
,并返回与传入y
相同类型的预测结果sktime
现已支持多元预测器,所有核心接口方法在这种情况下都会返回合理的返回类型预测器是否能处理多元时间序列可以通过
get_tag("scitype:y")
进行检查,它会返回"单变量"
,"多元"
或"两者"
引入了更多标签,详见
registry/all_tags
时间序列分类#
引入了标签,详见
registry/all_tags
新增#
预测#
多元
ColumnEnsembleForecaster
(#1082 #1349) @fkiraly @GuzalBulatovaUnobservedComponents
statsmodels
包装器 (#1394) @juanitorduzTrendForecaster
(使用sklearn
回归器处理值与时间索引的关系) (#1209) @tensorflow-as-tfProphet 自定义季节性 (#1378) @IlyasMoutawwakil
扩展了
EnsembleForecaster
中的聚合功能 (#1190) @GuzalBulatovaForecastingHorizon
支持更多输入类型,从索引类型构建时检测is_relative
(#1169) @fkiraly
时间序列分类#
旋转森林时间序列分类器 (#1391) @MatthewMiddlehurst
转换器分类器 (#1180) @MatthewMiddlehurst
新版 Proximity forest (#733) @moradabaz
RISE 改进 (#975) @whackteachers
转换器#
基准测试和评估#
关键差异图 (#1277) @SveaMeyer13
分类实验 (#1260) @TonyBagnall
聚类实验 (#1221) @TonyBagnall
分类实验的更改 (#1137) @TonyBagnall
文档#
测试框架#
修复#
重构 TSC:DrCIF 和 CIF 到新接口 (#1269) @MatthewMiddlehurst
重构 TSC:TDE 添加和 HC2 文档 (#1357) @MatthewMiddlehurst
重构 TSC:Arsenal 添加和 HC2 文档 (#1305) @MatthewMiddlehurst
重构 TSC:_cboss (#1295) @BINAYKUMAR943
重构 TSC:rocket 分类器 (#1239) @victordremov
重构 TSC:基于字典的分类器 (#1084) @MatthewMiddlehurst
重构测试:使用评估器进行评估器测试参数设置 (#1361) @Aparna-Sakshi
更新 _data_io.py (#1308) @TonyBagnall
数据 IO (#1248) @TonyBagnall
[BUG] 契约测试修复 (#1392) @MatthewMiddlehurst
[BUG] 数据写入更新和 JapaneseVowels 数据集修复 (#1278) @MatthewMiddlehurst
[BUG] 修复
test_all_estimators
中 ESTIMATOR_TEST_PARAMS 的引用 (#1406) @fkiraly[BUG] 修复
TransformedTargetForecaster
中的微小静默问题 (#845) @aiwalter[BUG] pytest 失败后 C 编译器的故障排除 (#1262) @tensorflow-as-tf
[BUG] 单变量时间序列分类教程文档中的 bug 修复 (#1140) @BINAYKUMAR943
[BUG] bug 修复 - convertIO 中对 np.ndarray 的损坏引用 (#1191) @fkiraly
[BUG] STSF 测试修复 (#1170) @MatthewMiddlehurst
[BUG]
BaseObject.clone_tags
中的set_tags
调用使用了不正确的签名 (#1179) @fkiraly[文档] 更新转换器 docstrings Boss (#1320) @thayeylolu
[文档] 更新 exp_smoothing.py 的 docstring (#1339) @mathco-wf
[文档] 更新了 CONTRIBUTING.md 中的链接 (#1428) @Aparna-Sakshi
[文档] 更正贡献指南中的错别字 (#1398) @juanitorduz
[文档] 修复 README 中的微小错别字 (#1416) @justinshenk
[文档] 修复引用页面中的错别字 (#1310) @AreloTanoh
[文档] EnsembleForecaster 和 AutoEnsembleForecaster 的 docstring 示例 (#1382) @aiwalter
[文档] bats, tbats, arima, croston 的 docstring 改进 (#1309) @Lovkush-A
[文档] 更新 detrend 模块的 docstrings (#1335) @SveaMeyer13
[文档] 更新 ThetaLinesTransformer 的 docstring (#1312) @GuzalBulatova
[文档] 更新 ColumnwiseTransformer 和 TabularToSeriesAdaptor 的 docstrings (#1322) @GuzalBulatova
[文档] 添加 cosine 的描述和链接 (#1326) @AreloTanoh
[文档] naive forecasting docstring 编辑 (#1333) @AreloTanoh
[文档] 修复 transformations.rst 中的错别字 (#1324) @AreloTanoh
[文档] 在安装和 readme 中添加 conda-forge max dependency recipe (#1226) @fkiraly
[文档] 在预测教程中添加目录 (#1200) @bilal-196
[文档] 完成 EnsembleForecaster 的 docstring (#1165) @GuzalBulatova
[文档] 在分类器的 docstrings 中添加示例 (#1164) @ltoniazzi
[文档] 在 KNeighborsTimeSeriesClassifier 的 docstring 中添加示例 (#1155) @ltoniazzi
[维护] 移除依赖第三方网站的数据下载器测试,更改 test_time_series_neighbors 的测试数据集 (#1258) @TonyBagnall
[维护] 格式化设置文件 (#1236) @TonyBagnall
所有贡献者: @Aparna-Sakshi, @AreloTanoh, @BINAYKUMAR943, @Flix6x, @GuzalBulatova, @IlyasMoutawwakil, @Lovkush-A, @MatthewMiddlehurst, @RNKuhns, @SveaMeyer13, @TonyBagnall, @afzal442, @aiwalter, @bilal-196, @corvusrabus, @fkiraly, @freddyaboulton, @juanitorduz, @justinshenk, @ltoniazzi, @mathco-wf, @mloning, @moradabaz, @pul95, @tensorflow-as-tf, @thayeylolu, @victordremov, @whackteachers 和 @xloem
[0.7.0] - 2021-07-12#
新增#
新模块(实验性):时间序列聚类 (#1049) @TonyBagnall
新模块(实验性):成对转换器,表格数据和面板数据上的核/距离 - 基类、示例、扩展模板 (#1071) @fkiraly @chrisholder
新模块(实验性):序列标注和 PyOD 适配器 (#1021) @fkiraly @satya-pattnaik
新预测器:Croston 方法 (#730) @Riyabelle25
新转换器:多元去趋势 (#1042) @SveaMeyer13
新转换器:ThetaLines 转换器 (#923) @GuzalBulatova
特征/信息准则 get_fitted_params (#942) @ltsaprounis
文档:创建 add_dataset.rst (#970) @Riyabelle25
变更#
预测器重构:BaseGridSearch, ForecastingGridSearchCV, ForecastingRandomizedSearchCV (#1034) @GuzalBulatova
预测器重构:polynomial trend forecaster (#1003) @thayeylolu
预测器重构:Stacking, Multiplexer, Ensembler 和 TransformedTarget Forecasters (#977) @thayeylolu
预测器重构:statsmodels 和 theta forecaster (#1029) @thayeylolu
预测器重构:reducer (#1031) @Lovkush-A
预测器重构:ensembler, online-ensembler-forecaster 及其派生类 (#1015) @thayeylolu
预测器重构:TbatAdapter (#1017) @thayeylolu
预测器重构:PmdArimaAdapter (#1016) @thayeylolu
预测器重构:Prophet (#1005) @thayeylolu
预测器重构:CrystallBall Forecaster (#1004) @thayeylolu
预测器重构:移除 _SktimeForecaster 和 horizon mixins (#1088) @fkiraly
将调优教程添加到预测示例 notebook 中 - fkiraly 在 #1047 基础上的建议 (#1053) @fkiraly
分类:基于核方法的重构 (#875) @MatthewMiddlehurst
分类:catch22 重做 (#864) @MatthewMiddlehurst
转换器:改进 Multivariate-Detrending (#1077) @SveaMeyer13
更新 plot_series 以统一处理 pd.Int64 和 pd.Range 索引 (#892) @Dbhasin1
包含浮点数作为窗口长度 (#827) @thayeylolu
更新加载数据的文档 (#885) @SveaMeyer13
[文档] 更新 docstrings 以告知方法接受 ForecastingHorizon (#872) @julramos
修复#
修复 naive 模型中使用 seasonal periodicity 和 mean 策略的问题 (来自 PR #917) (#1124) @mloning
Bug 修复 - forecasters 应该使用内部接口 _all_tags 进行自检,而不是 _has_tag (#1068) @fkiraly
修复 Minirocket 分类器中的种子问题 (#1094) @Lovkush-A
修复 docstrings 中的微小错别字 (#889) @GuzalBulatova
BaseCluster 类问题解决 (#1075) @chrisholder
清理 metric docstrings 并修复 _RelativeLossMixin 中的 bug (#999) @RNKuhns
Arsenal 修复、扩展功能和 HC1 单元测试 (#902) @MatthewMiddlehurst
微小 bug 修复 - 在 forecasters 中进行输入检查之前将 _is_fitted 设置为 False (#941) @fkiraly
升级 nbqa (#998) @MarcoGorelli
所有贡献者: @Dbhasin1, @GuzalBulatova, @Lovkush-A, @MarcoGorelli, @MatthewMiddlehurst, @RNKuhns, @Riyabelle25, @SveaMeyer13, @TonyBagnall, @Yard1, @aiwalter, @chrisholder, @ckastner, @fkiraly, @jambo6, @julramos, @kachayev, @ltsaprounis, @mloning, @thayeylolu 和 @tombh
[0.6.1] - 2021-05-14#
修复#
变更#
ThetaForecaster 现在可与 initial_level 配合使用 (#769) @yashlamba
撤销 pmdarima 热修复并避免使用 pmdarima 1.8.1 (#831) @aaronreidsmith
新增#
向 BoxCoxTransformer 添加用于 lambda 估计的 Guerrero 方法 (#778) (#791) @GuzalBulatova
实现 DirRec 归约策略 (#779) @luiszugasti
向 BaseGridSearch 添加截止点,以便在 evaluate 中使用任何网格搜索… (#825) @aiwalter
为 Imputer 和 HampelFilter 添加 pd.DataFrame 转换 (#830) @aiwalter
为 Imputer 和 HampelFilter 添加 skip-inverse-transform 标签 (#788) @aiwalter
添加了对 alibi-detect 的引用 (#815) @satya-pattnaik
所有贡献者: @GuzalBulatova, @RNKuhns, @aaronreidsmith, @aiwalter, @kachayev, @ltsaprounis, @luiszugasti, @mloning, @satya-pattnaik 和 @yashlamba
[0.6.0] - 2021-04-15#
修复#
更正 check_X 和相关函数的文档字符串 (#701) @Lovkush-A
修复 #694 中提到的错误 (#697) @AidenRushbrooke
修复 CONTRIBUTING.md 中的拼写错误 (#688) @luiszugasti
HIVE-COTE 1.0 修复 (#678) @MatthewMiddlehurst
变更#
修改预测归约的测试 (#756) @Lovkush-A
升级 nbqa (#794) @MarcoGorelli
docs 文件夹中的 master 到 main 转换,关闭 #644 (#667) @ayan-biswas0412
暂时从单元测试中移除 MSM (#698) @TonyBagnall
更新数据集名称 (#676) @TonyBagnall
新增#
为 EnsembleForecaster 添加 agg 参数 (#774) @Ifeanyi30
多路复用预测器 (#715) @koralturkk
将 TSF 分类器重构为 TSF 回归器 (#693) @luiszugasti
Knn 单元测试 (#705) @TonyBagnall
Knn 转置修复 (#689) @TonyBagnall
预测的多输出归约策略 (#659) @Lovkush-A
所有贡献者: @AidenRushbrooke, @Ifeanyi30, @Lovkush-A, @MarcoGorelli, @MatthewMiddlehurst, @TonyBagnall, @afzal442, @aiwalter, @ayan-biswas0412, @dsherry, @jschemm, @kanand77, @koralturkk, @luiszugasti, @mloning, @pabworks 和 @xuyxu
[0.5.3] - 2021-02-06#
修复#
解决 Bug #640 (#642) @patrickzib
Ed knn (#638) @TonyBagnall
变更#
基准测试 issue141 (#492) @ViktorKaz
Catch22 重构和多线程 (#615) @MatthewMiddlehurst
新增#
创建新的工厂方法用于通过归约进行预测 (#635) @Lovkush-A
添加扩展窗口分割器 (#627) @koralturkk
预测用户指南 (#595) @Lovkush-A
所有贡献者: @Lovkush-A, @MatthewMiddlehurst, @RNKuhns, @TonyBagnall, @ViktorKaz, @aiwalter, @goastler, @koralturkk, @mloning, @pabworks, @patrickzib 和 @xuyxu
[0.5.2] - 2021-01-13#
修复#
修复 KNN 中的 _fit(X) (#610) @TonyBagnall
UEA TSC 模块改进 2 (#599) @TonyBagnall
修复 sktime.classification.frequency_based 未找到错误 (#606) @Hephaest
UEA TSC 模块改进 1 (#579) @TonyBagnall
放宽 numba 版本锁定 (#593) @dhirschfeld
所有贡献者: @Hephaest, @MatthewMiddlehurst, @TonyBagnall, @aiwalter 和 @dhirschfeld
[0.5.1] - 2020-12-29#
新增#
添加 ARIMA (#559) @HYang1996
添加示例笔记本 Window Splitters (#555) @juanitorduz
在文档字符串中添加 SlidingWindowSplitter 可视化 (#554) @juanitorduz
修复#
所有贡献者: @HYang1996, @TonyBagnall, @afzal442, @aiwalter, @angus924, @juanitorduz, @mloning 和 @ngupta23
[0.5.0] - 2020-12-19#
新增#
添加 HCrystalBall 包装器 (#485) @MichalChromcak
使用 stumpy 添加矩阵剖面 (#471) @utsavcoding
为 RISE 实现 feature_importances_ 属性 (#497) @AaronX121
为 RandomIntervalSpectralForest 添加并行化支持 (#482) @AaronX121
CI 在笔记本和 Python 脚本上运行 black 格式化工具 (#437) @MarcoGorelli
实现 catch22 转换器、CIF 分类器和基于字典的清理功能 (#453) @MatthewMiddlehurst
添加将数据集写入 ts 文件功能 (#438) @whackteachers
添加从包含长格式数据的 csv 文件加载的功能 (#442) @AidenRushbrooke
变更#
[文档]更新 load_data.py (#496) @Afzal-Ind
更新 forecasting.py (#487) @raishubham1
更新基本运动描述 (#475) @vollmersj
[文档] 更新 benchmarking/data.py 中的文档 (#489) @Afzal-Ind
SFA/WEASEL 的功能和性能改进 (#457) @patrickzib
修复#
修复 plot-series (#533) @gracewgao
[文档] 修复 RandomIntervalSpectralForest 损坏的文档字符串 (#473) @AaronX121
重新添加分类器中缺失的 bibtex 引用 (#468) @whackteachers
升级 pre-commit 版本,在笔记本上再次运行 (#469) @MarcoGorelli
修复 AutoETS 中的错误 (#445) @HYang1996
移除#
所有贡献者: @AaronX121, @Afzal-Ind, @AidenRushbrooke, @HYang1996, @MarcoGorelli, @MatthewMiddlehurst, @MichalChromcak, @TonyBagnall, @aiwalter, @bmurdata, @davidbp, @gracewgao, @magittan, @mloning, @ngupta23, @patrickzib, @raishubham1, @tch, @utsavcoding, @vnmabus, @vollmersj 和 @whackteachers
[0.4.3] - 2020-10-20#
新增#
变更#
改进字典分类器的性能 (#398) @patrickzib
修复#
所有贡献者: @Emiliathewolf, @alwinw, @evanmiller29, @kkoziara, @krumeto, @mloning 和 @patrickzib
[0.4.2] - 2020-10-01#
新增#
具有自动拟合能力的 ETSModel (#393) @HYang1996
WEASEL 分类器 (#391) @patrickzib
美国随时间变化的多元消费数据集 (#385) @SebasKoel
修复#
变更#
重构 SFA 实现(附加功能和速度改进) (#389) @patrickzib
所有贡献者: @HYang1996, @SebasKoel, @fkiraly, @akanz1, @alwinw, @big-o, @brettkoonce, @mloning, @patrickzib
[0.4.1] - 2020-07-09#
新增#
新的 sktime 标志 @mloning
TemporalDictionaryEnsemble (#292) @MatthewMiddlehurst
ShapeDTW (#287) @Multivin12
更新了 sktime 美术作品(标志) @mloning
带有时间序列森林特征重要性图的示例笔记本 (#319) @HYang1996
ACSF1 数据集 (#314) @BandaSaiTejaReddy
从 3D numpy 数组到嵌套 pandas DataFrame 的数据转换函数 (#304) @vedazeren
变更#
在教程中替换了 gunpoint 数据集,添加了 OSULeaf 数据集 (#295) @marielledado
更新了贡献指南 (#301) @Ayushmaanseth
修复#
KNN 与 sklearn 的兼容性 (#310) @Cheukting
所有贡献者: @Ayushmaanseth, @Mo-Saif, @Pangoraw, @marielledado, @mloning, @sophijka, @Cheukting, @MatthewMiddlehurst, @Multivin12, @ABostrom, @HYang1996, @BandaSaiTejaReddy, @vedazeren, @hiqbal2, @btrtts
[0.4.0] - 2020-06-05#
新增#
预测框架,包括:预测算法(预测器)、组合模型构建工具(元预测器)、调优和模型评估
所有估计器的一致单元测试
一致的输入检查
通过 flake8 强制执行 PEP8 代码规范检查
更改日志
支持 Python 3.8
支持 manylinux wheels
变更#
修订所有估计器以符合通用接口并确保与 scikit-learn 兼容
移除#
移除了一些系列作为特征设置中的冗余类,转而使用 scikit-learn 的实现:
Pipeline
和GridSearchCV
移除
HomogeneousColumnEnsembleClassifier
,转而使用更灵活的ColumnEnsembleClassifier
修复#
来自 scikit-learn 的弃用警告和未来警告
来自 statsmodels 的用户警告