更新日志#
本文件将记录此项目的所有显著变更。我们从v0.4.0开始在此文件中跟踪变更。格式基于 Keep a Changelog ,并且我们遵循 Semantic Versioning 。所有 releases 的源代码在GitHub上可用。
关于即将到来的变更和下一个版本,请参阅我们的 里程碑。关于我们的长期计划,请参阅我们的 路线图。
版本 0.33.1 - 2024-09-26#
为在巴黎的pydata展示会准备的小功能发布。
亮点#
MOIRAI 基础模型的接口 (#6746) @pranavvp16, @benHeid
GroupbyCategoryForecaster
用于按类别或细分应用面板预测 (#7066) @felipeangelimvieira在
ReconcilerForecaster
中,用户现在可以选择返回一个不包含__total
的数据框 (#7127) @SaiRevanth25通过聚类进行时间序列分割 (#6782) @ankit-1204
依赖项更改#
optuna
(超参数优化软依赖) 的版本限制已更新为<4.1
mne
(变换软依赖) 的版本限制已更新为>=1.5,<1.9
增强功能#
BaseObject 和基础框架#
数据类型、检查、转换#
[ENH] 为
polars
添加层次化 scitype 支持 (#6697) @pranavvp16
预测#
[ENH] 为MOIRAI基础模型添加接口 (#6746) @pranavvp16, @benHeid
[ENH]
GroupbyCategoryForecaster
用于按类别或细分应用面板预测 (#7066) @felipeangelimvieira[ENH] 为
ReconcilerForecaster
添加一个参数,以返回不包含双下划线级别的 DataFrame (#7127) @SaiRevanth25
注册与搜索#
时间序列异常、变化点、分段#
[ENH] 通过聚类进行时间序列分割 (#6782) @ankit-1204
变换#
文档#
[DOC] 为 TimeSeriesKernelKMeans 添加了一个文档字符串示例 (#7124) @Saptarshi-Bandopadhyay
维护#
[MNT] 更新预提交钩子和相应更改 (#7109) @yarnabrina
[MNT] [Dependabot](deps): 将
optuna
要求从<3.7
更新到<4.1
(#7104) @dependabot[bot][MNT] [Dependabot](deps): 将
mne
要求从<1.8,>=1.5
更新为>=1.5,<1.9
(#7129) @dependabot[bot][MNT] 暂时跳过
test_complex_function
中与temporian
相关的失败,直到 #7040 解决 (#7147) @fkiraly[MNT] 从
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] ffp3 数据集的 URL 在 CRAN 上更改;相应地更新了
_fpp3_loaders.py
(#7084) @ericjb[MNT] 移除
pytorch-forecasting
的 <3.11 限制,添加上限 (#7092) @fkiraly[MNT] [Dependabot](deps): 将
dask
要求从<2024.8.2
更新到<2024.8.3
(#7062) @dependabot[bot][MNT] [Dependabot](deps): 将
numpy
要求从<2.1,>=1.21
更新为>=1.21,<2.2
(#7007) @dependabot[bot][MNT] [Dependabot](deps): 将
scikit-base
要求从<0.9.0,>=0.6.1
更新为>=0.6.1,<0.10.0
(#7035) @dependabot[bot][MNT] [Dependabot](deps): 将
holidays
要求从<0.56,>=0.29
更新为>=0.29,<0.57
(#7096) @dependabot[bot][MNT] [Dependabot](deps): 将
pykan
要求从<0.2.2,>=0.2
更新为>=0.2,<0.2.7
(#7010) @dependabot[bot][MNT] [Dependabot](deps): 将
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
选举相关的文档更新
核心接口变更#
引入了一个科学类型适应框架,允许通过类型强制在另一种类型的插槽中使用一种类型的估计器。当前,强制框架涵盖了
sklearn
、skpro
和sktime
估计器,并且是可扩展的。为这种强制提供了一个用户和开发者的简写,即registry.coerce_scitype
函数,该函数分派到各个强制机制。产生聚类分配的时间序列聚类器可以被强制转换为转换,从而使其能够在任何转换管道的槽位中使用。
异常和变化点检测器现在可以与转换器管道化,从而形成一个检测器。Dunder 连接
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
类型支持 (#6485) @pranavvp16[ENH] Polars
Panel
类型支持 (#6552) @pranavvp16[ENH] 在
gluonts
数据类型中添加feature_kind
元数据属性 (#6871) @shlok191
预测#
[ENH] 新的正则化VAR降维预测器,
VARReduce
(#6725) @meraldoantonio[ENH] 在
prophetverse
模块中添加HierarchicalProphet
估计器 (#7028) @felipeangelimvieira
时间序列聚类#
变换#
[ENH] 在 X 中扩展分类支持到转换器和管道 (#6924) @Abhay-Lejith
文档#
[DOC] 修复
ExpandingCutoffSplitter
的文档字符串 (#7033) @ninedigits
维护#
[MNT] 与热修复分支
anirban-sktime-0.31.2
同步变更日志 (#6963) @yarnabrina[MNT] 使用
numpy 2
跳过test_auto_arima
的装饰,直到最终修复/诊断 (#6973) @fkiraly[MNT] 将基类
TimeSeriesLloyds
重命名为BaseTimeSeriesLloyds
(#6992) @fkiraly[MNT] [Dependabot](deps): 将
tj-actions/changed-files
从 44 升级到 45 (#7019) @dependabot[bot][MNT] [Dependabot](deps): 将
holidays
要求从<0.55,>=0.29
更新为>=0.29,<0.56
(#7006) @dependabot[bot][MNT] [Dependabot](deps): 将
dask
要求从<2024.8.1
更新到<2024.8.2
(#7005) @dependabot[bot]
修复#
BaseObject 和基础框架#
[BUG] 修复
test_softdep_error
依赖处理,检查环境标记标签是否不满足 (#6961) @fkiraly[BUG] 修复在环境中存在多个发行版时(例如在 Databricks 上)的依赖检查器 (#6986) @fkiraly, @toandaominh1997
基准测试和指标#
[BUG] 修复
ForecastingBenchmark
在数据加载器返回元组 (y, X) 时出错的问题 (#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] 修复
make_reduction
对非 sklearn 估计器的类型推断
版本 0.32.0 - 2024-08-11#
维护版本,包含计划中的弃用和变更操作。
有关最后的非维护内容更新,请参见 0.31.1。
依赖项更改#
skpro
(软依赖) 的版本限制已更新为>=2,<2.6.0
skforecast``(预测软件依赖)的版本限制已更新为 ``<0.14.0
。
核心接口变更#
所有
sktime
估计器和对象现在都需要在get_test_params
中至少有两个测试参数集,以符合check_estimator
合同测试的要求。这一要求之前在扩展模板中有所提及,但并未强制执行。现在,它也通过check_estimator
包含在自动化测试中。没有(未保留的)参数的估计器,即无法设置两个不同参数集的情况,则不在此要求之列。
弃用和移除#
从
sktime 0.38.0
开始,预测器的predict_proba
将需要skpro
存在于 Python 环境中,以便使用分布对象来表示分布预测。直到sktime 0.35.0
,predict_proba
将继续在没有skpro
的情况下工作,如果skpro
不存在,则默认返回sktime.proba
中的对象。从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
的导入。
内容#
[MNT] [Dependabot](deps): 将
skpro
要求从<2.5.0,>=2
更新为>=2,<2.6.0
(#6897) @dependabot[bot][MNT] 更新
pre-commit
钩子的版本 (#6947) @yarnabrina[MNT] 0.32.0 发布操作 - 恢复临时跳过
get_test_params
数字检查以进行 0.21.1 和 0.22.0 发布 (#5114) @fkiraly[MNT] 将
skforecast
升级到0.13
版本,支持 python3.12
(#6946) @yarnabrina
贡献者#
版本 0.31.2 - 2024-08-13#
热修复发布,在热修复发布 0.32.1 之后发布,以将相同的热修复应用于 0.31.X 版本。
使用 make_reduction
时针对不完全符合 sklearn
规范的表格回归器(如来自 catboost
的回归器)的热修复。
有关最后的非维护内容更新,请参见 0.31.1。
内容#
[BUG] 修复
make_reduction
对非 sklearn 估计器的类型推断
注释#
这是针对0.31.1版本的修复补丁,修复了一个回归问题。此版本未包含在0.32.0或0.32.1版本中。
版本 0.31.1 - 2024-08-10#
亮点#
对象的HTML表示现在有一个链接到文档页面的按钮(#6876):user:mateuszkasprowicz
darts
缩减模型的接口 (#6712) @fnhirwa, @yarnabrina预测器现在可以支持分类
X
,根据标签 (#6704, #6732) @Abhay-LejithDirectReductionForecaster
现在有一个windows_identical
选项 (#6650) @hliebertForecastingOptunaSearchCV
现在可以传递自定义采样器和“越高越好”的分数 (#6823, #6846) @bastisar, @gareth-brown-86, @mk406
依赖项更改#
holiday
(变换软依赖) 的版本限制已更新为>=0.29,<0.54
dask
(数据容器和并行化后端) 的版本限制已更新为<2024.8.1
核心接口变更#
BaseObject 和基础框架#
实现者不再需要在估计器依赖项的导入名称与PEP 440包名称不同时设置``package_import_alias``标签。所有内部逻辑现在仅使用PEP 440包名称。如果已经设置了该标签,则无需移除,但它不再是必需的。
估计器现在有一个标签
capability:categorical_in_X: bool
来表明该估计器可以处理输入数据X
中的分类特征。如果X
是以pandas
为基础的 mtypes 之一传递的,则可以使用具有分类和字符串值特征的估计器。所有对象的HTML表示现在包括一个指向该对象文档的链接,并且现在与
sklearn
的HTML表示一致。
增强功能#
BaseObject 和基础框架#
[ENH] 在
X
中添加分类支持的标签 (#6704) @Abhay-Lejith[ENH] 添加分类支持:在是/否情况下引发错误 (#6732) @Abhay-Lejith
[ENH] 在对象的html repr中链接文档 (#6876) @mateuszkasprowicz
数据集和数据加载器#
[ENH] M5 数据集的数据加载器 (#6731) @SaiRevanth25
数据类型、检查、转换#
[ENH]
check_pdmultiindex_panel
如果存在无效的object
列,则返回其名称 (#6797) @SaiRevanth25[ENH] 允许在系列中使用对象数据类型 (#5886) @yarnabrina
[ENH] 在
datatypes
中转换器框架测试覆盖所有类型,包括需要软依赖的类型 (#6838) @fkiraly[ENH] 为
gluonts
基础数据容器检查器添加缺失的feature_kind
元数据字段 (#6861) @fkiraly[ENH] 在数据类型检查中添加了
feature_kind
元数据 (#6490) @Abhay-Lejith[ENH] 添加了对
gluonts
PandasDataset
作为Series
科学类型的支持 (#6837) @shlok191
预测#
[ENH]
darts
缩减模型适配器 (#6712) @fnhirwa, @yarnabrina[ENH] 为
ForecastingOptunaSearchCV
添加评分方向 (#6846) @gareth-brown-86, @mk406[ENH] 基于
cure-lab
研究代码库的LTSFTransformer
全新实现 (#6202) @geetu040[ENH] 在
DirectReductionForecaster
中添加windows_identical
(#6650) @hliebert[ENH] 更新
make_reduction
中的类型推断,使用中心科学类型推断并允许概率表格回归器 (#6893) @fkiraly[ENH] DeepAR 和 NHiTS 以及对
pytorch-forecasting
接口的改进 (#6551) @XinyuWuu
注册与搜索#
时间序列异常、变化点、分段#
时间序列分类#
变换#
测试框架#
供应商和上架库#
[ENH] 供应商 fracdiff 库 (#6777) @DinoBektesevic
文档#
[DOC] 为
MatrixProfileTransformer
添加 Stumpy 作者的署名 (#6762) @alexander-lakocy[DOC] 为
StatsForecastGARCH
和StatsForecastARCH
文档字符串添加示例 (#6761) @melinny[DOC] 添加对齐笔记本示例 (#6768) @alexander-lakocy
[DOC] 根据sphinx指南修复API参考中的transformers类型表 (#6771) @alexander-lakocy
[DOC] 去重用户指南和示例 (关闭 #6767) (#6770) @alexander-lakocy
[DOC] 改进了
DWTTransformer
的文档字符串 (#6764) @Mitchjkjkjk[DOC] 从标签 API 参考中交叉引用估计器搜索 (#6816) @fkiraly, @yarnabrina
[DOC] 更新了
check_is_mtype
的文档字符串以匹配 skprocheck_is_mtype
函数 (#6835) @julian-fong[DOC] 添加了分叉使用建议 (#6827) @yarnabrina
[DOC] 更改文档中的链接以引用同一版本 (#6841) @yarnabrina
[DOC] 为 1:1 接口类添加适当的作者署名 - 对齐器、距离、预测器、参数估计器 (#6850) @fkiraly
维护#
[MNT] 将
Callable
从typing
导入更新为collections.abc
(#6798) @yarnabrina[MNT] 使用
codespell
和typos
修正拼写错误 (#6799) @yarnabrina[MNT] 类型提示的更新和修复 (#6743) @ZhipengXue97
[MNT] 发布工作流程:升级已弃用的 pypa 动作参数 (#6878) @szepeviktor
[MNT] 暂时将
matplotlib
固定在3.9.1
以下 (#6890) @yarnabrina[MNT] 使
pyproject.toml
解析在差异测试中对非包相关更改更具鲁棒性 (#6882) @fkiraly[MNT] [Dependabot](deps): 将
pytest
要求从<8.3,>=7.4
更新为>=7.4,<8.4
(#6819) @dependabot[bot][MNT] [Dependabot](deps): 将
dask
要求从<2024.6.3
更新为<2024.7.2
(#6818) @dependabot[bot][MNT] [Dependabot](deps): 将
sphinx-gallery
要求从<0.17.0
更新到<0.18.0
(#6820) @dependabot[bot][MNT] [Dependabot](deps): 将
holidays
要求从<0.53,>=0.52
更新为>=0.52,<0.54
(#6780) @dependabot[bot][MNT] [Dependabot](deps): 将sphinx要求从
!=7.2.0,<8.0.0
更新为!=7.2.0,<9.0.0
(#6865) @dependabot[bot][MNT] [Dependabot](deps): 将
holidays
要求从<0.54,>=0.52
更新为>=0.52,<0.55
(#6898) @dependabot[bot][MNT] [Dependabot](deps): 将
dask
要求从<2024.7.2
更新到<2024.8.1
(#6907) @dependabot[bot]
修复#
BaseObject 和基础框架#
数据类型、检查、转换#
预测#
注册与搜索#
时间序列异常、变化点、分段#
变换#
可视化#
[BUG] 在
plot_series
中,验证数据框格式时修剪未使用的级别 (#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
兼容性代码风格和预提交更新,使用
ruff
进行代码检查
有关上次非维护内容更新,请参见 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](deps): 将 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
支持后更新预提交钩子 (#6331) @yarnabrina
贡献者#
版本 0.30.2 - 2024-07-04#
亮点#
新的 估计器概览表和估计器搜索页面 (#6147) @duydl
HFTransformersForecaster
(hugging face transformers 连接器) 现在有一个用户友好的界面,用于应用 PEFT 方法 (#6457) @geetu040ForecastingOptunaSearchCV
用于通过optuna
对预测器进行超参数调优 (#6630) @mk406, @gareth-brown-86prophetverse
包的预测器现在由sktime
索引 (#6614) @felipeangelimvieiraskforecast
适配器用于减少策略 (#6531) @Abhay-Lejith, @yarnabrina基于EnbPI的预测器,包含来自
aws-fortuna
的组件(#6449):user:benHeidparametrize_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]
skforecast
ForecasterAutoreg 适配器 (#6531) @Abhay-Lejith, @yarnabrina[ENH] 扩展
HFTransformersForecaster
以支持 PEFT 方法 (#6457) @geetu040[ENH] 在
BaseForecaster
中,将capability:insample
的检查移至_check_fh
样板 (#6593) @XinyuWuu[ENH]
ForecastingOptunaSearchCV
用于通过optuna
对预测器进行超参数调优 (#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](deps): 将 holidays 要求从
<0.51,>=0.29
更新为>=0.29,<0.52
(#6634) @dependabot[bot][MNT] [Dependabot](deps): 将 holidays 要求从
<0.52,>=0.29
更新为>=0.52,<0.53
(#6702) @dependabot[bot][MNT] [Dependabot](deps): 将 dask 要求从
<2024.6.1
更新到<2024.6.2
(#6643) @dependabot[bot][MNT] [Dependabot](deps): 将 numba 要求从
<0.60,>=0.53
更新为>=0.53,<0.61
(#6590) @dependabot[bot][MNT] [Dependabot](deps): 将 dask 要求从
<2024.6.2
更新到<2024.6.3
(#6647) @dependabot[bot][MNT] 从 PR CI 和
setup.cfg
中移除覆盖率报告和pytest-cov
(#6363) @fkiraly[MNT]
scipy
1.14.0
兼容性为csr_matrix
的deep_equals
插件 (#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
问题 5414 或pykalman
问题 109。该包的分支将在
sktime
中进行维护。pykalman
的用户可以将导入from pykalman import x
替换为等效的导入from sktime.libs.pykalman import x
。通过转换器
KalmanFilterTransformerPK
的间接用户不会受到影响,因为API没有变化,只是他们不再需要在他们的python环境中安装原始的pykalman
包。
核心接口变更#
时间序列注释、异常、变化点、分段 API 已经完全重构,以符合 scikit-base
模式、sktime
标签,并提供更一致和灵活的接口。
API 提供了用于注释标签的
predict
方法,例如,段落、异常点,以及用于指示序列的transform
方法,例如,1/0 指示器,用于表示在时间戳处是否存在异常。在某些估计器中使用的
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月结束生命周期,并且多个 sktime
核心依赖项,包括 scikit-learn
,已经停止对3.8的支持。
预测#
cINNForecaster
已重命名为 CINNForecaster
。在弃用期之后,该估计器不再以其旧名称提供。用户应将任何 cINNForecaster
的导入替换为 CINNForecaster
的导入。
增强功能#
文档#
维护#
[MNT] [Dependabot](deps): 将 skpro 要求从
<2.3.0,>=2
更新为>=2,<2.4.0
(#6443) @dependabot[bot][MNT] [Dependabot](deps): 将 scikit-learn 要求从
<1.5.0,>=0.24
更新为>=0.24,<1.6.0
(#6462) @dependabot[bot][MNT] [Dependabot](deps): 将 scikit-base 要求从
<0.8.0,>=0.6.1
更新为>=0.6.1,<0.9.0
(#6488) @dependabot[bot][MNT] 在 CI 中放弃对 Python 3.8 的测试覆盖 (#6329) @yarnabrina
[MNT] 最终更改周期 (0.30.0) 用于将
cINNForecaster
重命名为CINNForecaster
(#6367) @geetu040[MNT] 添加
joblib
为核心依赖 (#6384) @yarnabrina[MNT] 将 CRLF 行尾改为 LF 行尾 (#6512) @yarnabrina
[MNT] 解决
pykalman
问题 -sktime
本地 pykalman 分支 (#6188) @fkiraly
贡献者#
@Alex-JG3, @dependabot[bot], @fkiraly, @geetu040, @yarnabrina
版本 0.29.1 - 2024-05-30#
亮点#
TransformSelectForecaster
根据序列类型(例如,间歇性、块状)应用不同的预测器(#6453):user:shlok191通过
rdata
包加载 fpp3(预测、原理和实践)数据集,以sktime
数据格式 (#6477) @ericjbExpandingCutoffSplitter
- 通过移动截止点进行分割 (#6360) @ninedigits
依赖项更改#
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 和基础框架#
基准测试, 指标, 分割器#
数据加载器#
数据类型、检查、转换#
[ENH] Polars 转换工具 (#6455) @pranavvp16
预测#
时间序列对齐#
时间序列分类#
变换#
测试框架#
可视化#
文档#
[DOC] 修复了文档中的错误句子 (#6375) @helloplayer1
[DOC] 修正
dask_to_pd
转换函数的文档字符串 (#6439) @pranavvp16
维护#
[MNT] [Dependabot](deps): 将 holidays 需求从
<0.49,>=0.29
更新为>=0.29,<0.50
(#6456) @dependabot[bot][MNT] [Dependabot](deps): 将 pycatch22 要求从
<0.4.4
更新到<0.4.6
(#6442) @dependabot[bot][MNT] [Dependabot](deps): 将 sphinx-design 要求从
<0.6.0
更新到<0.7.0
(#6471) @dependabot[bot][MNT] [Dependabot](deps): 将 dask 要求从
<2024.5.1
更新到<2024.5.2
(#6444) @dependabot[bot][MNT] [Dependabot](deps): 将 dtw-python 要求从
<1.5,>=1.3
更新为>=1.3,<1.6
(#6474) @dependabot[bot][MNT] 在每个模块测试中包含
sktime/tests
中的单元测试 (#6353) @yarnabrina[MNT] 对
AutoTBATS
的维护更改 (#6400) @yarnabrina
修复#
预测#
[BUG] 修复当
forecaster_X_exogeneous="complement"
时ForecastX
的问题 (#6433) @fnhirwa[BUG] 修改了 VAR 代码以允许
predict_quantiles
为 0.5(修复了 #4742)(#6441) @meraldoantonio
神经网络#
[BUG] 移除
networks.base
中重复的BaseDeepNetworkPyTorch
(#6398) @luca-miniati
时间序列分类#
[BUG] 解决
LSTMFCNClassifier
更改callback
参数 (#6239) @ArthrowAbstract[BUG] 修复某些分类器中的
_get_train_probs
以接受任何输入数据类型 (#6377) @fkiraly[BUG] 修复
ProximityForest
、树、树桩和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月结束生命周期,并且多个 sktime
核心依赖项,包括 scikit-learn
,已经停止对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,学习形状序列,形状序列转换 (#6296) @johannfaouzi (作者), @fkiraly (接口)来自
tslearn
的新分类器接口:时间序列 SVC、SVR、学习形状(#6273):user:`rtavenar`(作者),:user:`fkiraly`(接口)ForecastX
现在可以使用未来未知的自变量,如果它们在predict
中传递 (#6199) @yarnabrinabagging/bootstrap 预测器现在可以应用于多元、外生、层次数据,并生成完全概率性的预测 (#6052) @fkiraly
neuralforecast
模型现在有设置来自动检测日期时间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 和基础框架#
基准测试, 指标, 分割器#
预测#
[ENH] 与
neuralforecast
相关的小改动 (#6312) @yarnabrina[ENH] 在
ForecastX
中使用未来未知的自变量选项,如果在predict
中传递 (#6199) @yarnabrina[ENH] 为
neuralforecast
模型添加optimizer
参数 (#6235) @pranavvp16[ENH] 更新
neuralforecast
中freq="auto"
的行为以适应估计器 (#6237) @geetu040
神经网络#
[ENH] 为
CNNNetwork
和ResnetNetwork
添加了测试参数 (#6209) @julian-fong
概率分布与模拟器#
时间序列分类#
时间序列聚类#
时间序列回归#
变换#
测试框架#
文档#
[DOC] 在
InvertAugmenter
文档字符串示例中添加缺失的导入语句 (#6236) @Anteemony[DOC] 在文档字符串中添加使用示例 (#6264) @MihirsinhChauhan
[DOC] 为多个估计器的文档字符串添加了使用示例 (#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
(转换软依赖)的版本限制已更新为>=0.7.0,<0.9.0
。pykalman-bardo
的依赖已被原始分支pykalman
替换。pykalman-bardo
已被合并回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, @fkiraly来自
pyts
的 Shapelet 变换作为sktime
变换器可用 (#6082) @Abhay-Lejith预测调优器现在可以通过
return_n_best_forecasters=-1
返回所有参数的性能 (#6031) @HassnHamada
依赖项更改#
temporian
现在是 ``sktime``(转换)的软依赖项holidays
(转换软依赖) 的版本限制已更新为>=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 模型,由 @pranavvp16 提供 (#6047)[ENH] 修复
ForecastingHorizon.freq
在pandas 2.2.X
中的处理,由 @fkiraly 提交 (#6057)
神经网络模板#
[ENH] 为
RNNNetwork
添加了测试参数 (#6155) @julian-fong
时间序列分类#
时间序列聚类#
[ENH] 为
TimeSeriesKMeansTslearn
添加新的测试参数集 (#6195) @shankariraja
时间序列回归#
[ENH] 从
sktime-dl
迁移 DL 回归器:CNTC, InceptionTime, MACNN (#6038) @nilesh05apr[ENH]
MultiplexRegressor
- 时间序列回归器的自动机器学习多路复用器 (#6075) @ksharma6
变换#
[ENH]
TemporianTransformer
-temporian
的接口 (#5980) @ianspektor, @achoum[ENH] 重构并改进了
Catch22
转换器 - 支持列名、短别名,重构为pd.Series
,sktime
原生并行化 (#6002) @julnow[ENH] Shapelet 变换接口
pyts
(#6082) @Abhay-Lejith[ENH] 添加一个
test_mstl
模块,检查transform
是否返回了所需的组件,由 @kcentric 提交 (#6084)
测试框架#
文档#
[DOC] 由 @yarnabrina 修复了更改日志中的拼写错误 (#6034)
[DOC] 在开发者指南中修正了Discord频道提及 (#6163) @shankariraja
[DOC] 为 @rikstarmans 在
FallbackForecaster
(#6069) 中添加贡献 @fkiraly[DOC] 在
BaseSeriesAnnotator
中,记录int_label
选项 (#6143) @Alex-JG3[DOC] 修复
_registry.py
中的拼写错误 (#6160) @pranavvp16[DOC] 将ExponentialSmoothing默认方法从L-BFGS-B更改为SLSQP (#6186) @manuel-munoz-aguirre
[DOC] 在README中添加名人堂小部件(添加了名人堂部分) #3716 (#6203) @KaustubhUp025
[DOC] 为
DummyClassifier
添加了文档字符串示例 (#6146) @YashKhare20[DOC] 修复“入门”示例代码块中的语法错误,用于时间序列回归 (#6022) @sahusiddharth
[DOC] 添加了空白行以正确渲染
FourierFeatures
文档字符串,sp_list
(#5984) @tiloye[DOC] 为
CNNRegressor
添加了文档字符串示例 (#6102) @meraldoantonio[DOC] 在开发者指南中修正了Discord频道提及 (#6163) @shankariraja
[DOC] 在
FallbackForecaster
中添加 @rikstarmans 的贡献 (#6069) @fkiraly[DOC] 修复
_registry.py
中的拼写错误 (#6160) @pranavvp16[DOC]
ExponentialSmoothing
- 在默认方法从L-BFGS-B
改为 SLSQP 后修复文档字符串 (#6186) @manuel-munoz-aguirre[DOC] 在 README 中添加名人堂小部件和部分 (#6203) @KaustubhUp025
维护#
[MNT] [Dependabot](deps-dev): 将
holidays
要求从<0.45,>=0.29
更新为>=0.29,<0.46
(#6164) @dependabot[bot][MNT] [Dependabot](deps-dev): 将
dtw-python
要求从<1.4,>=1.3
更新为>=1.3,<1.5
(#6165) @dependabot[bot][MNT] [Dependabot](deps): 将
tj-actions/changed-files
从 42 升级到 43 (#6125) @dependabot[bot][MNT] 确保 Update Contributors 不在主分支上运行 (#6189) @Greyisheep, @duydl
[MNT] 初始化更改周期 (0.28.0) 以将
cINNForecaster
重命名为CINNForecaster
(#6121) @geetu040[MNT] 在
forecasting
额外功能中更新statsforecast
版本 (#6064) @yarnabrina[MNT] Docker 文件由 (#6076) @deysanjeeb 更新
[MNT] 仅在 PR 上运行
update-contributors
工作流(通过 (#6133) @fkiraly)[MNT] 在 ‘Install and Test’ GHA 工作流程中启用并发设置 (#6074) @MEMEO-PRO
修复#
距离, 核函数#
[BUG] 解决
numba
边界矩阵例程中的冗余或问题语句 (#6183) @albertoazzari
估计器注册#
预测#
[BUG] 修复了当
X
传递给predict
但未传递给fit
时SARIMAX
的失败问题 (#6005) @Abhay-Lejith[BUG] 修复
BaseForecaster.predict_var
默认值,如果predict_proba
已实现 (#6067) @fkiraly[BUG] 在
ForecastingHorizon
中,当索引值少于3个时,忽略pd.infer_freq
上的ValueError
(#6097) @tpvasconcelos
时间序列分类#
时间序列回归#
变换#
[BUG] 修复
Summarizer
中意外的 NaN 值 (#6081) @ShreeshaM07[BUG] 更新
_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'
,以及通过backend_params
传递的n_jobs
和pre_dispatch
。
变换#
在
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
,参数值不变。
内容#
文档#
维护#
[MNT] [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
现在是分类和转换的软依赖项
核心接口变更#
变换#
所有转换双下划线现在自动将 sklearn
转换器强制转换为 sktime
转换器,在使用双下划线指定的 sktime
管道中使用 sklearn
转换器时,不再需要将 TabularToSeriesAdaptor
包装起来。
弃用和移除#
变换#
Catch22Wrapper
的 n_jobs
参数已被弃用,并将在 sktime
0.28.0 中移除。用户应通过 set_config
传递并行化后端参数。
增强功能#
基准测试, 指标, 分割器#
数据加载器#
[ENH] 在数据加载器中添加编码参数 (#6000) @Cyril-Meyer
数据类型、检查、转换#
预测#
[ENH] 公开
ProphetPiecewiseLinearTrendForecaster
的季节性参数 (#5834) @sbuse[ENH]
FallbackForecaster
- 支持概率预测 (#5847) @ninedigits[ENH] 从
statsmodels
库中访问ARIMA
的接口 (#5857) @arnaujc91[ENH]
statsforecast
AutoTBATS
直接接口估计器 (#5908) @yarnabrina[ENH] 直接
statsforecast
接口估计器的几个更新 (#5920) @yarnabrina[ENH] 为
FallbackForecaster
添加 nan 策略处理 (#5924) @ninedigits[ENH]
ForecastX
选项,用于在预测未来未知的外生变量时使用未来已知的外生变量 (#5926) @fkiraly[ENH]
neuralforecast
适配器和 rnn 预测器 (#5962) @yarnabrina[ENH] 在抽象并行化后端上重新架构
ForecastingSkoptSearchCV
(#5973) @fkiraly[ENH] 在
ForecastingPipeline
中,允许将None
X
传递给转换器 (#5977) @albahhar, @fkiraly
时间序列注释#
[ENH] 第二个
GMMHMM
测试参数集 (#5931) @sanjayk0508
时间序列分类#
时间序列回归#
[ENH] 从
sktime-dl
迁移 DL 回归器:FCN, LSTMFCN, MLP (#6001) @nilesh05apr
变换#
测试框架#
修复#
预测#
流水线#
概率分布与模拟器#
时间序列分类#
变换#
[BUG] 修复了 MSTL 转换器的转换方法 (#5996) @Abhay-Lejith
维护#
[MNT] 通过根据版本使用不同的模拟方法修复 moto 的破坏性更改 (#5858) @yarnabrina
[MNT] 通过使用较新的
root_mean_absolute_error
函数解决了 RMSE 的FutureWarning
问题 (#5884) @yarnabrina[MNT] 当缺少软依赖时跳过
mlflow
测试 (#5888) @achieveordie[MNT] 更新多个操作的版本 (#5929) @yarnabrina
[MNT] 添加 codecov 令牌到覆盖率上传 (#5930) @yarnabrina
[MNT] 避免在 CI 中对文档/模板/等更改运行单元测试 (#5976) @yarnabrina
[MNT] [Dependabot](deps-dev): 将 dask 要求从
<2024.1.1
更新到<2024.1.2
(#5861) @dependabot[bot][MNT] [Dependabot](deps-dev): 将 dask 要求从
<2024.1.2
更新到<2024.2.1
(#5958) @dependabot[bot][MNT] [Dependabot](deps-dev): 将 holidays 要求从
<0.43,>=0.29
更新为>=0.29,<0.44
(#5965) @dependabot[bot][MNT] [Dependabot](deps-dev): 将 dask 要求从
<2024.2.1
更新到<2024.2.2
(#5991) @dependabot[bot]
文档#
[DOC] 文档中的拼写错误,修正了 monotonous 为 monotonic (#5946) @eduardojp26
[DOC] 修正了文档字符串中的拼写错误 (#5949) @yarnabrina
[DOC] 修正了文档字符串中的拼写错误 (#5950) @yarnabrina
[DOC] 正确格式化
feature_selection.py
中的文档字符串 (#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
参数已被移除。
内容#
[MNT] [Dependabot](deps-dev): 将
scikit-learn
要求从<1.4.0,>=0.24
更新为>=0.24,<1.5.0
(#5776) @dependabot[bot][MNT] [Dependabot](deps): 将 styfle/cancel-workflow-action 从
0.12.0
升级到0.12.1
(#5839) @dependabot[bot][MNT] [Dependabot](deps): 将 dorny/paths-filter 从
2
升级到3
(#5838) @dependabot[bot][BUG] 修复
IgnoreX
中的标签处理 (#5843) @tpvasconcelos, @fkiraly
版本 0.25.1 - 2024-01-24#
亮点#
在
make_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"
设置为False
来防止存储所有已见数据的引用,即self._y
和self._X
,这可以通过set_config
实现。这对于预测器的序列化非常有用。目前,该设置仅支持数据和预测器的组合,其中不会触发实例或变量广播,但该功能将在未来扩展到所有情况。
参数估计与假设检验#
参数插件或基于估计的参数调整估计器现在可以通过
*
双下划线快速构建,这将构建一个PluginParamsForecaster
或PluginParamsTransformer
,其中所有拟合的参数(get_fitted_params
)从左元素插入到右元素(set_params
),参数名称匹配。例如,SeasonalityACF() * Deseasonalizer()
将构建一个Deseasonalizer
,其sp``(季节性周期)参数由 ``SeasonalityACF
调整,通过序列上的 ACF 显著性标准估计sp
。*
这个双下划线符号绑定在左边,例如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] 修复docker化测试 (#5426) @kurayami07734
维护#
[MNT] [Dependabot](deps-dev): 将 sphinx-issues 要求从
<4.0.0
更新到<5.0.0
(#5792) @dependabot[bot][MNT] [Dependabot](deps): 将 tj-actions/changed-files 从 41 升级到 42 (#5777) @dependabot[bot]
[MNT] [Dependabot](deps-dev): 将架构要求从
<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] 解决
pandas
中的各种弃用问题 (#5733) @fkiraly, @yarnabrina[MNT] 代码质量更新 (#5786) @yarnabrina
[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
,形式为 2D 的np.ndarray
或pd.DataFrame
,每列代表一个输出。predict
方法将返回相同类型的预测输出。为了保持向下兼容性,predict
对于单变量输出将始终返回 1D 的np.ndarray
,目前这不会被弃用。真正的多输出分类器和回归器被标记为新的标签
capability:multioutput
为True
。所有其他分类器和回归器通过y
的列进行广播,并且可以通过set_config
选择并行化后端,通过设置backend:parallel
和backend:parallel:params
配置标志,详情请参阅set_config
的文档字符串。广播功能会自动扩展到所有现有的第三方分类器和回归器,一旦sktime
更新,通过基类继承,估计器类本身不需要更新。分类器和回归器现在有一个标签
y_inner_mtype
,这允许扩展者指定一个内部mtype
,类型为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
的文档字符串以获取详细信息。在预测
evaluate
中,compute
参数在 0.24.0 版本中被弃用后已被移除。其目的是在dask
并行化后端中区分惰性或急切评估。用户应通过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
的文档字符串。
时间序列分类#
在
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
的文档字符串。
增强功能#
BaseObject 和基础框架#
基准测试, 指标, 分割器#
数据类型、检查、转换#
预测#
[ENH] 在reducers中重构索引生成以使用``ForecastingHorizon``方法 (#5539) @fkiraly
[ENH] 预测器
fit_predict
带有predict
的X_pred
参数 (#5562) @fkiraly[ENH] 重构
DirectReductionForecaster
以使用sklearn
输入强制工具 (#5581) @fkiraly[ENH] 为
Prophet
添加fit_kwargs
(#5597) @tpvasconcelos[ENH]
Croston
测试参数 - 整数平滑参数 (#5608) @NguyenChienFelix33
参数估计与假设检验#
[ENH] 添加新的
FunctionParamFitter
参数估计器 (#5630) @tpvasconcelos
时间序列注释#
时间序列分类#
[ENH] 在
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
的 predict 方法中将索引匹配改为整数 (#5642) @ciaran-g
变换#
可视化#
维护#
[MNT] CI 修改 (#5498) @yarnabrina
[MNT] 在基础中重命名变量 (#5502) @yarnabrina
[MNT] 更新预提交钩子 (#5646) @yarnabrina
[MNT] [Dependabot](deps-dev): 将
pytest-xdist
要求从<3.4,>=3.3
更新为>=3.3,<3.5
(#5551) @dependabot[bot][MNT] [Dependabot](deps-dev): 将
dask
要求从<2023.7.1
更新到<2023.11.1
(#5552) @dependabot[bot][MNT] [Dependabot](deps-dev): 将
dask
要求从<2023.11.1
更新为<2023.12.2
(#5629) @dependabot[bot][MNT] [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的博客文章相关的笔记本用于测试 (#5604) @onyekaugochukwu, @joanlenczuk
[DOC] 在文档字符串中删除定义错误的额外参数 (#5617) @wayneadams
[DOC] 修复
AA_datatypes_and_datasets.ipynb
面板数据加载示例中的拼写错误 (#5594) @fkiraly[DOC] 预测
evaluate
工具 - 在文档字符串中改进算法描述 #5603 (#5603) @adamkells[DOC] 调整
FunctionTransformer
的文档字符串 (#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-miniatiSignatureTransformer
的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
时间段别名和从偏移列 (#5513) @Ram0nB
维护#
[MNT] 自动格式化 pyproject (#5425) @yarnabrina
[MNT] 移除了两个最近添加的钩子 (#5453) @yarnabrina
[MNT] 新的 CI 工作流程以测试 extras (#5375) @yarnabrina
[MNT] 根据特定软依赖项拆分每个组件的CI作业 (#5304) @yarnabrina
[MNT] 修复
base
模块中的拼写错误 (#5313) @yarnabrina[MNT] 修复
forecasting
模块中的拼写错误 (#5314) @yarnabrina[MNT] 添加了缺失的检出步骤 (#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
的文档字符串以修正关于逆变换和管道的陈述 (#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
。
内容#
[MNT] 将
numba
要求从<0.58,>=0.53
更新为>=0.53,<0.59
(#5299, #5319) @dependabot[bot], @fkiraly[MNT] [Dependabot](deps-dev): 将
skpro
要求从<2.1.0,>=2.0.0
更新为>=2.0.0,<2.2.0
(#5396) @dependabot[bot][MNT] [Dependabot](deps-dev): 将
holidays
需求从<0.34,>=0.29
更新为>=0.29,<0.35
(#5342) @dependabot[bot][MNT] 从
pykalman
迁移到pykalman-bardo
(#5277) @mbalatsko
贡献者#
版本 0.23.1 - 2023-10-12#
亮点#
所有层次/多变量预测器和转换器的广播现在可以使用并行化后端
joblib
、dask
通过set_config
(#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
的警告现在可以通过set_config
设置的warnings
配置在每个估计器的基础上被静音(参见文档字符串)。
预测#
层次化和多元化的预测现在可以使用并行化和分布式后端,包括
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 和基础框架#
基准测试, 指标, 分割器#
[ENH] 将拆分器整合为具有系统测试和扩展的独立模块 (#5017, #5331) @BensHamza, @fkiraly
[ENH] 允许
evaluate
接受任何组合的多个指标,并使用正确的预测方法 (#5192) @hazrulakmal
数据加载器#
[ENH] 数据集加载器模块重构 (#5239) @hazrulakmal
预测#
[ENH] 添加基于
scipy
optimize_curve
的CurveFitForecaster
(#5240) @benHeid[ENH] 将
test_interval_wrappers.py
链接到evaluate
中的更改以进行条件测试 (#5337) @fkiraly[ENH] 在多变量或层次情况下广播估计器的
joblib
和dask
后端 - 第1部分,VectorizedDF.vectorize_est
(#5267) @fkiraly[ENH] 在多变量或层次情况下广播估计器的
joblib
和dask
后端 - 第2部分,基类配置 (#5301) @fkiraly[ENH] ARCH 模型接口
arch
包 (#5326) @Vasudeva-bit[ENH] 在
ForecastX
中,启用对预测的X
进行forecaster_y
拟合 (#5334) @benHeid[ENH] 如果内部
forecaster_y
忽略X
,则在ForecastX
中跳过不必要的拟合 (#5353) @yarnabrina[ENH] 在
TestAllEstimators
中移除predict_proba
的遗留代码 (#5386) @fkiraly
时间序列对齐#
时间序列距离和核#
时间序列回归#
[ENH] 在
BaseRegressor
中,允许y
为 1Dpd.DataFrame
(#5282) @mdsaad2305
变换#
[ENH]
PeakTimeFeatures
转换器用于生成一个/多个高峰/小时-日-周、工作时间等的指示特征 (#5191) @ali-parizad[ENH]
VmdTransformer
,添加分解-预测-重组作为文档字符串示例和测试 (#5250) @fkiraly`* [ENH] 改进 ``evaluate` 失败错误信息 (#5269) @fkiraly[ENH] 为
STLTransformer
添加适当的inverse_transform
(#5300) @fkiraly[ENH] 在多变量或层次情况下广播估计器的
joblib
和dask
后端 - 第1部分,VectorizedDF.vectorize_est
(#5267) @fkiraly[ENH] 在多变量或层次情况下广播估计器的
joblib
和dask
后端 - 第2部分,基类配置 (#5301) @fkiraly[ENH] 将
DateTimeFeatures
测试重构为pytest
夹具 (#5397) @adamkells
测试框架#
维护#
[MNT] 将 numba 要求从 <0.58,>=0.53 恢复为 >=0.53,<0.59” (#5297) @fkiraly
[MNT] 移除了
py37.dockerfile
并更新了CI的文档条目 (#5356) @kurayami07734[MNT] [Dependabot](deps): 将 styfle/cancel-workflow-action 从 0.11.0 升级到 0.12.0 (#5355) @dependabot[bot]
[MNT] [Dependabot](deps): 将 stefanzweifel/git-auto-commit-action 从 4 升级到 5 (#5373) @dependabot[bot]
[MNT] [Dependabot](deps-dev): 将 holidays 需求从 <0.33,>=0.29 更新为 >=0.29,<0.34 (#5276) @dependabot[bot]
[MNT] [Dependabot](deps-dev): 将 numpy 要求从 <1.26,>=1.21.0 更新为 >=1.21.0,<1.27 (#5275) @dependabot[bot]
[MNT] [Dependabot](deps-dev): 将 arch 要求从 <6.2.0,>=5.6.0 更新为 >=5.6.0,<6.3.0 (#5392) @dependabot[bot]
文档#
[DOC]
partition_based_clustering
笔记本的性能提升 (#5278) @alexfilothodoros[DOC] 记录了 ax 参数和 plot_series 中的图形 (#5325) @ShreeshaM07
[DOC] 提升笔记本2的可读性 - 分类、回归与聚类 (#5312) @achieveordie
[DOC] 为 DateTimeFeatures 类添加了所有功能名称到文档字符串中 (#5283) @Abhay-Lejith
[DOC] 修正分类笔记本中的拼写错误 (#5390) @pirnerjonas
[DOC] 文档
ax
参数和plot_series
中的图形 (#5325) @ShreeshaM07
修复#
基准测试, 指标, 分割器#
预测#
[BUG] 修复
STLForecaster
标签ignores-exogeneous-X
以正确设置复合组件 (#5365) @yarnabrina[BUG]
statsforecast 1.6.0
兼容性 - 在statsforecast
适配器中,修复RuntimeError: dictionary changed size during iteration
(#5317) @arnaujc91[BUG]
statsforecast 1.6.0
兼容性 - 修复sktime
和statsforecast
之间的参数差异 (#5393) @luca-miniati[BUG] 修复
ARCH._check_predict_proba
(#5384) @Vasudeva-bit
时间序列对齐#
时间序列距离和核#
[BUG] 修复调用
tslearn
lcss
时的numba
错误 (#5368) @benHeid, @BensHamza, @fkiraly
变换#
可视化#
[BUG] 修复
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开始索引)的列名始终是变量名。
之前,在单变量情况下,总是 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 和基础框架#
基准测试, 指标, 分割器#
[ENH] 允许
BaseBenchmarking
使用无限制的ID字符串 (#5130) @hazrulakmal
数据集和数据加载器#
预测#
流水线#
概率分布与模拟器#
时间序列分类#
时间序列距离和核#
变换#
[ENH] statsmodels MSTL 接口 - 转换器 (#5125) @luca-miniati
[ENH] 基于
vmdpy
的 VMD(变分模态分解)变换器 (#5129) @DaneLyttinen
测试框架#
维护#
[MNT] 将 CI 运行器升级到最新的稳定镜像 (#5031) @yarnabrina
[MNT] 将
test_reduce_global
中的固定装置移动到pytest
固定装置 (#5157) @fkiraly[MNT] 每个组件的额外依赖规范 (#5136) @yarnabrina
[MNT] 将
Pipeline
异常从test_all_estimators
移动到测试_config
(#5251) @fkiraly[MNT] 更新预提交钩子的版本并修复
flake8
指出的E721
问题 (#5163) @yarnabrina[MNT] [Dependabot](deps-dev): 将 sphinx-gallery 要求从 <0.14.0 更新到 <0.15.0 (#5124) @dependabot[bot]
[MNT] [Dependabot](deps-dev): 将 pandas 要求从 <2.1.0,>=1.1.0 更新为 >=1.1.0,<2.2.0 (#5183) @dependabot[bot]
[MNT] [Dependabot](deps): 将 actions/checkout 从 3 升级到 4 (#5189) @dependabot[bot]
[MNT] [Dependabot](deps-dev): 将 holidays 要求从 <0.32,>=0.29 更新为 >=0.29,<0.33 (#5214) @dependabot[bot]
[MNT] [Dependabot](deps-dev): 将 statsforecast 要求从 <1.6,>=0.5.2 更新为 >=0.5.2,<1.7 (#5215) @dependabot[bot]
文档#
[DOC] 修复
make_pipeline
,make_reduction
,window_summarizer
和load_forecasting
数据文档字符串 (#5065) @hazrulakmal[DOC] 加速教程笔记本 - 深度学习分类器 (#5169) @alexfilothodoros
[DOC] 修复
ColumnEnsembleForecaster
文档字符串中的渲染问题,添加ColumnEnsembleTransformer
示例 (#5201) @benHeid[DOC] 修复
installation.rst
中的拼写错误 (#5213) @Akash190104[DOC] 为
temporal_train_test_split
文档字符串添加了示例 (#5216) @JonathanBechtel[DOC] 对
STLForecaster
文档字符串进行简单编辑以正确呈现 (#5220) @hazrulakmal
修复#
基准测试, 指标, 分割器#
[BUG] 在分割器中,如果未指定,正确推断 datetime 数据类型的系列频率 (#5009) @hazrulakmal
[BUG] 修复
BaseWindowSplitter
的get_n_split
方法以处理分层数据 (#5012) @hazrulakmal
预测#
[BUG] 修复在
_predict
中导致ConformalIntervals
异常的检查 (#5134) @fkiraly[BUG] 确保预测调优器不会在列(变量)上进行向量化 (#5145) @fkiraly, @SmirnGregHM
[BUG] 修复标签以指示
NaiveForecaster
对外生特征的支持 (#5162) @yarnabrina[BUG] 在复合预测器的测试中为
y_dict
添加缺失的return
语句 (#5253) @BensHamza[BUG] 修复
pd-multiindex
上的ForecastKnownValues
失败 (#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开始索引)的列名将始终是变量名。以前,在单变量情况下,它总是 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
参数。需要更多时间升级依赖代码的用户可以在 0.22.last 之前设置legacy_interface=True
。
扩展开发者应使用新的 "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):user: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
夹具重写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
中的错误 #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
的文档字符串,参考非对称 MAPE 的使用 (#4948) @MBristle[DOC] 在安装说明中删除重复的故障排除 ‘matches_not_found’ (#4956) @julia-kraus
[ENH] 在文档构建中,为示例部分添加复制剪贴板按钮 (#5015) (#5015) @yarnabrina
[DOC] 改进
ForecastingGridSearchCV
等调优预测器文档字符串中scoring
的描述 (#5022) @fkiraly[DOC] 改进文档字符串示例的格式 (#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 版本开始不再作为依赖项。用户或开发者无需采取任何行动,因为该包仅用于内部弃用操作。pycatch22
在 Python 3.7 结束生命周期后,已被重新添加为软依赖项。
弃用和移除#
预测 - 单变量概率预测的列名更改#
从0.23.0版本开始,预测器的 predict_quantiles
和 predict_intervals
在单变量情况下的返回值将与多变量情况下的返回值保持一致:最上层(从0开始索引)的列名将始终是变量名。之前,在单变量情况下,它总是 Coverage
或 Quantiles
,无论 y
中存在的变量名是什么,而在多变量情况下,它总是 y
中存在的变量名。
更改将在两个 MINOR 周期内进行,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)检查未来的命名约定,对于_predict_quantiles
或_predict_intervals
具有标准签名,不带legacy_interface
。从 0.23.0 开始,该标签将无效。在变更期间:如果标签设置为
"new"
,测试将始终针对新接口进行检查;如果标签设置为"old"
,测试将针对旧接口进行检查,无论处于哪个阶段。从 0.23.0 开始,该设置将无效,测试将始终针对新接口进行检查。扩展者 - 推荐的更改操作:扩展者应致力于将其第三方扩展升级到
"pred_int:legacy_interface:testcfg=new"
行为,截止到 0.21.last。可以通过在传递给check_estimator
之前设置forecaster.set_config({"pred_int:legacy_interface:testcfg": "new"})
来强制执行针对后期阶段和弃用后行为的测试。在 0.22.0 之后可以移除set_config
调用,并且应在 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 列表#
[ENH] 在单变量情况下,将
"Coverage"
和"Quantiles"
的默认变量名替换为变量名 (#4880) @fkiraly, @benheid[BUG] 0.21.0 版本修复 - 修复
sklearn 1.3.0
与基于partial
的动态错误度量在test_make_scorer
中的交互问题 (#4915) @fkiraly[MNT] 在调试完成之前,xfail
mlflow
失败 #4904,为py-spy
添加 gitignore (#4913) @fkiraly[DOC] 0.21.0 发布行动 - 更新弃用指南以反映弃用 deprecated 的使用 (#4914) @fkiraly
[MNT] 0.21.0 发布行动 - 在 Python 3.7 EOL 后将
pycatch22
作为软依赖添加回来 (#4790) @fkiraly
版本 0.20.1 - 2023-07-14#
亮点#
Monash 预测仓库的数据加载器 (#4826) @hazrulakmal
estimator crafter = 所有对象/估计器蓝图规范的字符串序列化/反序列化 (#4738) @fkiraly
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
是序列化器str
在固定 Python 环境中的伪逆,因此可用于完全可复现的规范存储和共享,例如在可复现的科学研究或性能基准测试中。进一步的工具
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#
[ENH]
_HeterogenousMetaEstimator
接受任意长度的元组列表 (#4793) @fkiraly[ENH] 改进依赖项的处理与别名 (#4832) @hazrulakmal
[ENH] 在估计器转储期间添加显式上下文管理器 (#4859) @achieveordie, @yarnabrina
基准测试和指标#
数据加载器#
[ENH] Monash Forecasting Repository 的数据加载器 (#4826) @hazrulakmal
预测#
[ENH] 重构
ForecastingHorizon
以在私有方法中使用基于Index
的cutoff
(#4463) @fkiraly[ENH]
SkoptForecastingCV
- 使用scikit-optimize
进行超参数调优 (#4580) @hazrulakmal[ENH] 为
predict_interval
和predict_quantiles
添加更多合约测试 (#4763) @yarnabrina[ENH]
statsmodels
AutoReg
接口 (#4774) @CTFallon, @mgazian000, @JonathanBechtel[ENH] 将
ForecastX
的缺失数据处理标签设置为True
以妥善应对未来的未知变量 (#4876) @fkiraly
时间序列分类#
[ENH] 迁移 MCDCNN 分类器、回归器、网络从
sktime-dl
(#4637) @achieveordie[ENH] 在
CNNNetwork
中,添加控制padding
和filter_size
逻辑的选项 (#4784) @alan191006
时间序列回归#
[ENH] 迁移 MCDCNN 分类器、回归器、网络从
sktime-dl
(#4637) @achieveordie
变换#
[ENH] 在
BaseTransformer.transform
中允许X=None
(#4112) @fkiraly[ENH] 在
DateTimeFeatures
转换器中添加hour_of_week
选项 (#4724) @VyomkeshVyas[ENH]
ColumnEnsembleTransformer
-remainder
参数 (#4789) @fkiraly[ENH]
SplitterSummarizer
转换器按折叠应用转换器 (#4759) @BensHamza
可视化#
维护#
[MNT] 暂时跳过所有 DL 估计器 (#4760) @achieveordie
[MNT] 在 1.3 版本中处理
sklearn
的if_delegate_has_method
弃用 (#4764) @fkiraly[MNT] 确保 CI 在
pandas 2
上运行于 python 3.8-3.10 (#4795) @fkiraly[MNT] 在
main
上跳过失败的test_transform_and_smooth_fp
(#4836) @fkiraly[MNT] Dependabot 设置 (#4852) @yarnabrina
[MNT] 更新 readthedocs 环境至 python 3.11 和 ubuntu 22.04 (#4821) @fkiraly
[MNT] [Dependabot](deps): 将 actions/download-artifact 从 2 升级到 3 (#4854) @dependabot[bot]
[MNT] [Dependabot](deps): 将 styfle/cancel-workflow-action 从 0.9.1 升级到 0.11.0 (#4855) @dependabot[bot]
[MNT] [Dependabot](deps): 将 actions/upload-artifact 从 2 升级到 3 (#4856) @dependabot[bot]
[MNT] 修复剩余的
sklearn 1.3.0
兼容性问题 (#4860) @fkiraly, @hazrulakmal[MNT] 扩展软依赖错误消息测试支持,适用于带有版本说明符和别名的包 (#4867) @hazrulakmal, @fkiraly
文档#
[DOC] 更新入门文档,添加回归示例 (#4216) @GargiChakraverty-yb
[DOC] 在read-the-docs中为非最新分支添加横幅 (#4681) @yarnabrina
[DOC] 测试指南:为 doctest 命令添加省略号标志 (#4768) @mdsaad2305
[DOC] 为时间序列森林回归器和虚拟回归器的文档字符串添加了示例 (#4775) @mgazian000
[DOC] 更新 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
的依赖项已经停止支持。预提交和编码风格升级(3.8 及以上)
计划在 0.20.0 版本中弃用的操作
依赖项更改#
numpy
版本范围现在允许版本1.25.X
弃用和移除#
Python 3.7 生命周期结束#
sktime
从 sktime
0.20.0 及以后版本不再支持 Python 3.7。
Python 将于 2023 年 6 月 27 日达到生命周期结束,而 sktime
的核心依赖项已经在新版本中放弃了对 Python 3.7 的支持(例如,scikit-learn
)。
时间序列分类#
ComposableTimeSeriesClassifier
和 WeightedEnsembleClassifier
已经完成了向 classification.ensemble
的迁移,它们不再可以在原来的位置导入。
PR 列表#
[MNT] 0.20.0 发布行动 - 将
scikit-base
的限制增加到<0.6.0
(#4735) @fkiraly[MNT] 0.20.0 发布行动 - 移除所有 Python 模块中不必要的初始 utf 注释,这在 Python 3 中是不必要的 (#4725) @yarnabrina
[MNT] 0.20.0 发布行动 - 使用
pyupgrade
升级到 Python 3.8 及以上版本的编码风格 (#4726) @yarnabrina
贡献者#
版本 0.19.2 - 2023-06-19#
亮点#
statsforecast
AutoETS
和AutoCES
接口 (#4648, #4649) @yarnabrina更新所有预提交钩子的版本,代码库中的相应更改 (#4680) @yarnabrina
核心接口变更#
ForecastingHorizon
和预测器的fit
、predict
现在支持range
作为输入。注意:range(n)
从0
开始,到n-1
结束。对于一个n
步的预测,包括地平线中的所有n
个整数步,传递range(1, n+1)
。
增强功能#
预测#
[ENH]
statsforecast
AutoETS
直接接口估计器 (#4648) @yarnabrina[ENH]
statsforecast
AutoCES
直接接口估计器 (#4649) @yarnabrina[ENH] 在
ForecastingHorizon
和fit
及predict
方法中支持传递range
对象 (#4716) @yarnabrina
时间序列分类#
[ENH] 从
sktime-dl
迁移ResNetRegressor
(#4638) @achieveordie
文档#
维护#
[MNT] 解决
main
上的 pre-commit 问题 (#4673) @yarnabrina[MNT] 更新预提交钩子版本及相应更改 (#4680) @yarnabrina
修复#
BaseObject#
[BUG] 修复嵌套
sklearn
对象的clone
/set_params
问题 (#4707) @fkiraly, @hazrulakmal
基准测试#
[BUG] 修复
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
的核心依赖项已经在新版本中停止了对 Python 3.7 的支持(例如,scikit-learn
)。
sktime
将在 0.20.0 版本,或 2023 年 6 月 27 日之后的第一个次要版本中,放弃对 Python 3.7 的支持,以较晚者为准。
依赖项#
tensorflow-probability
不再是一个依赖或软依赖,它也从所有依赖集(包括dl
)中移除。
预测#
legacy_interface
参数已从预测器的predict_proba
中移除。该方法现在总是返回一个BaseDistribution
对象,这与先前的默认行为一致,即legacy_interface=False
。
PR 列表#
版本 0.19.0#
由于维护目的而被跳过,不应使用。(从pypi中移除)
版本 0.18.1 - 2023-05-22#
亮点#
sktime
现在有一个通用的适配器类到statsforecast
(#4539, #4629) @yarnabrinastatsforecast
AutoTheta
通过直接接口添加,更多内容即将推出 (#4539) @yarnabrina时间序列对齐模块已更新:对齐器的扩展模板(#4613),基于
numba
的对齐路径作为sktime
对齐器可用(#4620) @fkiraly预测基准框架现在允许传递多个指标 (#4586) @hazrulakmal
新的时间序列分类器:bagging, MACNN, RNN (#4185, #4533, #4636) @ArushikaBansal, @fkiraly, @achieveordie
核心接口变更#
概率分布#
蒙特卡洛近似的默认样本大小规范现在使用
scikit-base
配置系统添加了一个
quantile
方法,该方法返回与BaseForecaster.predict_quantiles
返回的格式相同的分位数表。添加了一个
ppf
方法,用于返回分位数
增强功能#
基准测试#
[ENH] 扩展预测基准测试框架以支持多种指标,增加测试覆盖率 (#4586) @hazrulakmal
预测#
[ENH]
statsforecast
AutoTheta
直接接口估计器 (#4539) @yarnabrina[ENH] 以通用方式重写
_StatsForecastAdapter
以支持除AutoARIMA
以外的其他模型 (#4629) @yarnabrina
概率分布#
时间序列对齐#
时间序列分类#
[ENH] SimpleRNN DL 时间序列回归器,从
sktime-dl
迁移 (#4185) @ArushikaBansal[ENH] 添加 MACNN 分类器和网络 (#4636) @achieveordie
时间序列距离和核#
变换#
测试框架#
维护#
[MNT] 根据问题 #4379 将
Union[int | float]
更改为 float (#4575) @mdsaad2305[MNT] 临时绑定
holidays
以避免Prophet
中的错误,随后恢复 (#4594, #4600) @fkiraly, @yarnabrina[MNT] 从 CI 中排除
FCNClassifier
以防止内存溢出,直到修复错误 (#4616) @fkiraly[MNT] 从
check_is_scitype
文档字符串中移除被遗忘的legacy_interface
引用 (#4630) @fkiraly
文档#
[DOC] 改进MAPE指标的文档字符串 (#4563) @hazrulakmal
[DOC] 额外的术语表条目 (#4556) @sanjayk0508
[DOC] 修复在生成 Sphinx 时的警告 - 语言 (
conf.py
) 和dists_kernels.rst
错误的导入 (#4593) @mdsaad2305[DOC]
AutoETS
文档字符串 - 澄清依赖于auto
的参数的条件性忽略 (#4597) @luca-miniati[DOC] 在
dists_kernels.rst
中修正模块路径 (#4625) @mdsaad2305[DOC]
SimpleRNNClassifier
的文档字符串 (#4572) @wasup-yash[DOC] 为从常见的表格csv格式加载数据添加示例 (#4612) @TonyZhangkz
[DOC] 从
check_is_scitype
文档字符串中移除被遗忘的legacy_interface
引用 (#4630) @fkiraly[DOC] 将doctest指南添加到测试文档中 (#4634) @mdsaad2305
修复#
BaseObject, BaseEstimator#
预测#
[BUG] 修正了
_predict_interval
的默认逻辑,以防_predict_quantiles
未实现但_predict_proba
已实现 (#4529) @fkiraly[BUG]
RecursiveReductionForecaster
pandas 2 修复 (#4568) @fkiraly[BUG] 在
_StatsModelsAdapter
中,如果在_predict_interval
中statsmodels
的get_prediction
不支持exog
参数,则避免传递exog
(#4589) @yarnabrina[BUG] 修复
BaseGridCV
中n_best_forecasters_
排序错误,如果指标的lower_is_better
为False
(#4590) @hazrulakmal
概率分布#
时间序列距离和核#
时间序列分类#
[BUG] 修复损坏的RNN分类器 (#4531) @achieveordie
[BUG] 修复
ABC
继承与 RNNfit
重写之间的冲突 (#4527) @achieveordie @fkiraly
时间序列回归#
[BUG] 修复损坏的RNN回归器 (#4531) @achieveordie
[BUG] 修复
ABC
继承与 RNNfit
重写之间的冲突 (#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
。在0.17.0之前的版本中,基于tensorflow-probability
的返回值仍然可以通过在predict_proba
中设置参数legacy_interface=False
来获得。这对于处理弃用问题很有用。从 0.19.0 开始,
predict_proba
方法中的legacy_interface
参数将被移除,同时也将移除返回基于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
可以通过在强制安装的
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``中可用,参见`示例 <https://mybinder.org/v2/gh/sktime/sktime/main?filepath=examples>`_ (#4381) @dashapetr
SARIMAX
的概率预测功能 (#4439) @yarnabrinasktime-dl
中的InceptionTime
分类器已迁移 (#3003) @tobiasweede对概率预测接口进行了许多错误修复 -
BaggingForecaster
,BATS
,TBATS
,DynamicFactor
,VECM
核心接口变更#
预测#
所有预测器(
Baseforecaster
的后代)现在都有以下新标签:capability:insample
,布尔值,表示分类器是否可以进行样本内预测。capability:pred_int:insample
,布尔值,表示分类器是否能够进行概率性的样本内预测,例如,样本内的预测区间。
所有预测器现在都通过
check_estimator
进行了接口一致性测试,包括区间预测的样本内(基于上述标签)和样本外测试。
时间序列分类#
所有时间序列分类器(
BaseClassifier
的后代)现在都有一个标签capability:predict_proba
。这表明分类器是否实现了非默认(非delta-mass)的概率分类功能。
增强功能#
数据类型、检查、转换#
预测#
[ENH] 为
SARIMAX
添加_predict_interval
以支持predict_interval
和predict_quantiles
(#4439) @yarnabrina[ENH] 将
ForecastingHorizon
-BaseForecaster
的cutoff
接口调整为依赖公共点 (#4456) @fkiraly[ENH] 样本内预测测试 - 在
test_predict_time_index
中用标签和标签依赖合约替换 try/except (#4476) @fkiraly[ENH] 移除
BaseForecaster
中_predict_interval
和_predict_quantiles
的冗余实现检查 (#4481) @yarnabrina[ENH] 测试所有预测器的
predict_quantiles
、predict_interval
样本内 (#4470) @fkiraly[ENH] 对
NaiveForecaster
的高性能重新实现 -"last"
策略 (#4461) @fkiraly[ENH] 在
_StatsModelsAdapter
中添加了_predict_interval
,并在其他估计器中继承以减少代码重复 (#4465) @yarnabrina[ENH] 在
ForecastingHorizon
中,将to_absolute().to_pandas()
调用重构为一个方法 (#4464) @fkiraly
时间序列分类#
[ENH] 迁移
InceptionTime
分类器和示例(来自sktime-dl
)(#3003) @tobiasweede
时间序列回归#
变换#
测试框架#
维护#
文档#
[DOC] 修复
MiniRocket
示例代码中的错误 - 错误的转换器 (#4497) @doncarlos999[DOC] 将
InceptionTimeClassifier
和LSTMFCNClassifier
添加到 API 文档 (#4484) @fkiraly[DOC] 将内容从 pydata 全球 2022(transformers, pipelines 教程)移动到 sktime 主仓库 (#4381) @dashapetr
修复#
预测#
[BUG] 修复
BaggingForecaster
概率预测中的pandas
写入错误 (#4478) @fkiraly[BUG] 修复
_PmdArimaAdapter
和_StatsForecastAdapter
在 0.17.1 之后的predict_quantiles
(#4469) @fkiraly[BUG]
ForecastingHorizon
构造函数 - 从常规DatetimeIndex
基础地平线错误推断的freq
属性覆盖 (#4466) @fkiraly, @yarnabrina[BUG] 修复损坏的
DynamicFactor._predict_interval
(#4479) @fkiraly[BUG] 修复
pmdarima
接口在X
包含比预测范围更多的索引时中断的问题 (#3667) @fkiraly, @SzymonStolarski[BUG] 修复
BATS
和TBATS
的_predict_interval
接口 (#4492, #4505) @fkiraly`[BUG] 修复
VECM._predict_interval
接口以适应类似日期的索引 (#4506) @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
版本
用户反馈和 pandas 2
兼容性问题在 #4426 中受到欢迎。
依赖项更改#
版本限制
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
可以通过在强制安装的
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.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
默认情况下仅在调用predict_proba
会引发错误的情况下返回BaseDistribution
,即在 0.17.0 之前,也就是在 Python 3.11 上且 Python 环境中没有tensorflow-probability
的情况下。在 0.18.0 版本之前,可以通过在
predict_proba
中设置新参数legacy_interface=False
来强制BaseDistribution
返回。这对于处理弃用很有用。从 0.18.0 版本开始,
legacy_interface
的默认值将设置为False
。从 0.19.0 开始,
predict_proba
方法中的legacy_interface
参数将被移除,同时也将移除返回基于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
模块中的B016 Cannot raise a literal
的代码检查问题 (#4284) @SamiAlavi[MNT] 移除工作流中自动检测和更新
CONTRIBUTORS.md
的分支限制 (#4323) @achieveordie[MNT] 执行对
ContractableBOSS
typed_dict
参数的遗忘弃用 (#4331) @fkiraly[MNT] 修复转换模块中的代码检查问题 (#4291) @SamiAlavi
[MNT] 修复了
base
、networks
、registry
模块中的代码检查问题 (#4310) @SamiAlavi[MNT] 检查
test_croston.py
(#4334) @ShivamPathak99[MNT] 自动修复代码检查问题 (#4317) @SamiAlavi
[MNT] 修复
clustering
模块中的代码检查问题 (#4318) @SamiAlavi[MNT] 修复
forecasting
模块中的代码检查问题 (#4319) @SamiAlavi[MNT] 修复了
annotation
模块中的代码检查问题 (#4309) @SamiAlavi[MNT] 修复
series_as_features
,tests
,dist_kernels
,benchmarking
模块中的代码检查问题 (#4321) @SamiAlavi[MNT] 修复了
classification
模块中的代码检查问题 (#4311) @SamiAlavi[MNT] 修复
performance_metrics
模块中的代码检查问题 (#4320) @SamiAlavi[MNT] 修复
utils
模块中的代码检查问题 (#4322) @SamiAlavi[MNT] 在作者字段中用GitHub ID替换作者姓名 (#4340) @SamiAlavi
文档#
[DOC] 改进
VectorizedDF.items
和.__iter__
的文档字符串 (#4223) @fkiraly[DOC] 更新 transformer 扩展模板文档字符串,引用
Hierarchical
(#4250) @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 的核心依赖。numba
将在 0.18.0 版本中从核心依赖变为软依赖。依赖于numba
的估计器在 python 环境中存在numba
时将完全像以前一样工作。
核心接口变更#
基准测试#
基于
kotsu
的基准测试模块为预测器的基准测试引入了一种新的设计和语法。
预测#
预测器现在将一致地保留传递的
pd.Series
中的name
属性。以前,命名的pd.Series
并未完全支持。
弃用和移除#
依赖项#
numba
将在sktime 0.18.0
中从核心依赖变为软依赖。为了确保依赖于numba
的sktime
代码在未来能够正常运行,请确保在环境中显式安装numba
,或者安装包含numba
的all_extras
软依赖集。除此之外,依赖numba
的估计器将和以前一样正常工作。
增强功能#
基准测试#
数据类型、检查、转换#
预测#
变换#
修复#
数据集和数据加载器#
[BUG] 修正
'StarlightCurves'
数据集标识符字符串为 ‘StarLightCurves’ (#4222) @NeuralNut
预测#
参数估计#
时间序列聚类#
维护#
文档#
[DOC] 改进了
dtw_distance
的文档字符串 (#4028) @fkiraly, @matthewmiddlehurst[DOC] 修复转换器
transform
文档字符串中的表格 - 将 md 更改为 rst (#4199) @romanlutz[DOC] 在分类笔记本中移除 pandas 和
DataFrame
|Series
之间的间隔 (#4200) (#4200) @romanlutz[DOC] 修复了
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
现在是一个软依赖项。如果statsmodels
存在于 Python 环境中,依赖于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
,或者安装包含statsmodels
的all_extras
软依赖集。
数据类型、检查、转换#
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[MNT] 0.16.0 弃用操作 - 将
BaseForecaster.cutoff
更改为pd.Index
(#3678) @fkiraly[MNT] 在
HierarchyEnsembleForecaster
文档字符串中隔离statsmodels
- 意外遗漏的提交 (#4168) @fkiraly[MNT] 在
pre-commit
配置中将isort
升级到5.12.0
(#4167) @snnbotchway
文档#
修复#
BaseObject#
预测#
时间序列分类#
[BUG] 诊断并修复测试套件中由于
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 规范字符串来指定包依赖关系
数据类型、检查、转换#
用于时间序列、面板和层次数据的新m类型,可以在安装
dask
时使用:dask_series
、dask_panel
、dask_hierarchical
。这些现在可以在估计器中使用。与dask
的端到端集成尚未可用,但已在路线图中。
距离, 核函数#
成对变换器现在拥有一个方法
transform_diag
,该方法返回距离/核矩阵的对角线。成对面板变换器可以通过算术运算相互组合,这将导致变换器的相应算术组合,例如,距离之和
成对面板转换器可以使用
*
dunder 与简单转换器组合,这将导致一个管道,首先应用简单转换器,然后应用成对转换器
时间序列聚类#
时间序列聚类器现在可以与
make_pipeline
和*
双下划线一起使用,以构建带有时间序列转换器的线性管道
弃用和移除#
在
check_estimator
和run_tests
中,return_exceptions
参数已被弃用,并将在 0.17.0 中被 ``raise_exceptions``(其逻辑否定)取代。直到 0.17.0,两个参数都将有效,非默认值将覆盖。
增强功能#
数据类型、检查、转换#
距离, 核函数#
预测#
[ENH] 为
DirectTabularRegressionForecaster
和DirectTimeSeriesRegressionForecaster
添加全局预测(池化)选项 (#3688) @danbartl[ENH]
hcrystalball
预测器适配器 (#4040) @MichalChromcak
流水线#
时间序列分类#
时间序列聚类#
[ENH] 时间序列的DBSCAN聚类 (#4003) @fkiraly, @josuedavalos
变换#
[ENH] 更改
DateTimeFeatures
转换以处理多索引数据,并添加选项以删除列。(#3996) @KishManani[ENH] 启用
TimeSince
转换器以原生转换多索引数据框 (#4006) @KishManani[ENH] 通过更改周期差计算使
TimeSince
转换更快 (#4018) @KishManani
测试框架#
[ENH] 更新
_check_soft_dependencies
以允许 PEP 440 规范字符串用于版本边界 (#3925) @fkiraly[ENH] 允许在
_check_soft_dependencies
中使用包标识符字符串的元组/列表 (#3955) @fkiraly[ENH]
_check_estimator_deps
也允许BaseObject
的列表或元组 (#4002) @fkiraly[ENH] 扩展
sklearn_scitype
以从组合中正确推断出 scitype (#4021) @fkiraly[ENH] 在
check_estimator
和run_tests
中用raise_exceptions
替换return_exceptions
参数,并进行弃用 (#4030) @fkiraly
可视化#
[ENH] 为
plot_series
实现绘图标题 (#4038) @arnavrneo
维护#
[MNT] 对0.15.0意外遗漏的弃用操作进行处理:在
WEASEL
和BOSS
中,移除type_dict
并更新默认alphabet_size=2
(#4025) @xxl4tomxu98[MNT] 由于
main
分支上的未修复失败,跳过LSTMFCNClassifier
测试 (#4037) @fkiraly[MNT] 修复
_check_soft_dependencies
在无类引用的情况下对 PEP 440 规范符的破坏 (#4044) @fkiraly[MNT] 解决
pd.Series
构造函数dtype
弃用 /FutureWarning
(#4031) @fkiraly[MNT] 解决
TrendForecaster
中pandas
astype
的弃用 /FutureWarning
(#4032) @fkiraly[MNT] 在
WindowSummarizer
中显式使用min_periods
参数以解决弃用消息 (#4052, #4074) @arnavrneo
文档#
[DOC]
ForecastingPipeline
的完整文档字符串 (#3840) @darshitsharma[DOC] 更新了距离 API 参考页面 (#3852) @MatthewMiddlehurst, @fkiraly
[DOC] 修复 README 中的构建标签 (#4007) @badrmarani
[DOC] 安装
sktime
时在 macOS ARM 上的警告、注意事项和故障排除 (#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#
亮点#
MLflow
自定义风味用于sktime
预测 (#3912, #3915) @benjaminbluhm在
DateTimeFeatures
转换中添加了周末虚拟变量is_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
的软依赖,由于安装问题。如果pycatch22
依赖在 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
格式(参见文档字符串)。自 0.14.0 版本起,list
格式已被弃用,并在 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 自定义风格 (#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 文档字符串 (#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#
亮点#
文档 & 添加新数据集加载器的逐步指南 (#3805) @templierw
新转换器:
Catch22Wrapper
,pycatch22
的直接接口 (#3431) @MatthewMiddlehurst新转换器:
TimeSince
用于特征工程,计算自固定日期/索引以来的时间 (#3810) @KishManani
核心接口变更#
预测#
用于变量子集的外生数据的双下划线方法:
my_forecaster[variables]
将创建一个ForecastingPipeline
,该管道将外生数据子集化为variables
增强功能#
BaseObject#
预测#
时间序列分类#
[ENH]
Catch22Transformer
更新和pycatch22
的Catch22Wrapper
(#3431) @MatthewMiddlehurst[ENH]
MinirocketMultivariateVariable
转换器,适用于不等长时间序列的 miniROCKET (#3786) @michaelfeil[ENH] 稍微加快了
ComposableTimeSeriesForestClassifier
的测试 (#3762) @TonyBagnall[ENH] 对于TDE小系列发出警告而非错误 (#3767) @MatthewMiddlehurst
[ENH] 为深度学习分类器和回归器添加一些
get_test_params
值 (#3761) @TonyBagnall
时间序列回归#
[ENH] 为深度学习分类器和回归器添加一些
get_test_params
值 (#3761) @TonyBagnall
变换#
治理#
[GOV] 添加 @achieveordie 为核心开发者 (#3851) @achieveordie
修复#
数据加载器#
预测#
[BUG] 修复
ColumnEnsembleForecaster
以适应分层X
(#3768) @RikStarmans @fkiraly
时间序列分类#
[BUG]
keras
导入快速修复 (#3744) @ltsaprounis[BUG] 在
TemporalDictionaryEnsemble
中,设置Parallel
prefer="threads"
,修复了 #3788 (#3808) @TonyBagnall[BUG] 在
DummyClassifier
中,修复错误设置的capability:multivariate
标签 (#3858) @fkiraly
变换#
[BUG] 修复 FourierFeatures 与 pd.DatetimeIndex 的行为 (#3606) @eenticott-shell
[BUG] 修复
FeatureUnion
中get_params
的无限循环 (#3708) @hoesler @fkiraly[BUG]
SupervisedIntervals
错误修复和清理 (#3727) @MatthewMiddlehurst[BUG] 减少
MultiRocket
测试示例的大小以避免测试中偶尔出现的MemoryError
(#3813) @TonyBagnall[BUG] 修复行向量化情况下 transformers 的
Primitives
输出的返回索引 (#3839) @fkiraly[BUG] 在
Reconciler
中,修复了外层索引中只有一个唯一ID的小层次结构的求和矩阵错误 (#3859) @ciaran-g
测试框架#
[BUG] 更新
test_deep_estimator_full
以整合tensorflow
/keras
的新版本 (#3820) @achieveordie
文档#
[DOC] 撰写和深度学习分类器文档整理 (#3756) @TonyBagnall
[DOC] 添加了新的 Slack 链接 (#3747) @hadifawaz1999
[DOC] 更新文件格式规范页面以显示超链接格式的列表 (#3775) @achieveordie
[DOC] 示例网页 (#3653) @MatthewMiddlehurst
[DOC] 在
team.rst
中更新 CC、CoC 和活跃核心开发者列表 (#3733) @GuzalBulatova[DOC] 改进 ShapeletTransformClassifier 文档字符串 (#3737) @MatthewMiddlehurst
[DOC] 改进 sklearn 分类器文档字符串 (#3754) @MatthewMiddlehurst
[DOC] 添加缺失的估计器到分类API页面 (#3742) @MatthewMiddlehurst
[DOC] 回归API参考的更新 (#3751) @TonyBagnall
[DOC] 修复了
RocketClassifier
文档字符串中的拼写错误 (#3759) @matt-wisdom[DOC] 在分类笔记本中添加关于不等长数据的部分 (#3809) @MatthewMiddlehurst
[DOC] 关于添加新数据集加载器工作流程的文档 (#3805) @templierw
[DOC] 更新 CONTRIBUTORS.md (#3781) @achieveordie
[DOC] 改进了
TSFreshRelevantFeatureExtractor
的文档字符串 (#3785) @MatthewMiddlehurst
维护#
[MNT] 将
setup.py
转换为pyproject.toml
。依赖于setuptools>61.0.0
(#3723) @jorenham @wolph[MNT] 临时跳过新失败
test_deep_estimator_full[keras-adamax]
(#3817) @fkiraly[MNT] 修复
pyproject.toml
损坏的字符串 (#3797) @TonyBagnall[MNT] 从测试中排除
TapNet
(#3812) @TonyBagnall[MNT] 解决
ContinuousIntervalTree
和RandomShapeletTransform
的弃用警告 (#3796) @MatthewMiddlehurst[MNT] 隔离
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):user:achieveordie @fkiraly.ts
文件的文档格式规范 (#3380) @achieveordie新预测器:模块化/可配置的 Theta 预测器 (#1300) @GuzalBulatova
预测
evaluate
现在支持层次和面板数据,并通过dask
和joblib
实现并行化(#3511, #3542):user: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
的默认值将从"efficient"
变为"comprehensive"
在 0.15.0 版本中。
测试框架#
测试名称
test_methods_do_not_change_state
将在 0.15.0 版本中更改为test_non_state_changing_method_contract
。如果在check_estimator
中作为参数使用了旧名称,为了安全过渡,请在测试/固定装置的排除或包含中同时使用新名称和旧名称(以列表形式)。
增强功能#
BaseObject#
数据加载器#
[ENH] 在
load_from_tsfile
中支持.ts
文件的@targetlabel
标识符 (#3436) @achieveordie
数据类型、检查、转换#
预测#
[ENH] 模块化/可配置的 Theta 预测器 (#1300) @GuzalBulatova
[ENH] 在
make_reduction
中扩展递归策略以允许对面板数据进行全局池化 (#3451) @danbartl[EHN] 使用
{joblib, dask}
并行化evaluate
(#3511) @topher-lo[ENH] 在
_StatsModelsAdapter._update
中使用statsmodels
的append
(#3527) @chillerobscuro[ENH]
ColumnEnsembleForecaster
的numpy
整数支持 (#3557) @fkiraly[ENH] 扩展
ColumnEnsembleForecaster
以允许应用多元预测器 (#3504) @fkiraly[ENH] 修复
ExpandingWindowSplitter
在initial_window=0
时的问题,并弃用"start_with_window"
(#3690) @chillerobscuro
参数估计#
时间序列注释#
时间序列分类#
[ENH] 用于分类的 TapNet DL 模型 (#3386) @achieveordie
[ENH] 为
TapNet
估计器快速测试参数及文档字符串/接口清理 (#3544) @achieveordie[ENH] 为
CNNRegressor
添加更多相关参数以提高用户灵活性 (#3561) @achieveordie[ENH] 允许
KNeighborsTimeSeriesClassifier
处理不等长序列之间的距离 (#3654) @fkiraly
时间序列回归#
[ENH] 从
sktime-dl
中用于回归的 TapNet DL 模型 (#3481) @achieveordie[ENH] 允许
KNeighborsTimeSeriesRegressor
处理不等长序列之间的距离(#3654) @fkiraly
变换#
测试框架#
治理#
[GOV] 将 @GuzalBulatova 添加到 CC (#3505) @GuzalBulatova
[GOV] 新的 CC 观察者角色,更新角色持有者列表 (#3505) @GuzalBulatova
文档#
[DOC] 为
.ts
文件添加格式规范。(#3380) @achieveordie[DOC]
sklearn
在分类器笔记本中的使用示例 (#3523) @MatthewMiddlehurst[DOC] 用
sphinx-design
替换sphinx-panels
(#3575) @MatthewMiddlehurst[DOC] 在扩展模板中为
get_test_params
添加建议 (#3635) @achieveordie
维护#
[MNT] 从
_HeterogeneousMetaEstimator
中移除ABCMeta
继承 (#3569) @fkiraly[MNT] 用
sphinx-design
替换已弃用的sphinx-panels
(#3575) @MatthewMiddlehurst
重构#
修复#
BaseObject#
数据加载器#
[BUG] 修复当
extract_path
不为None
时从 timeseriesclassification.com 加载数据的错误 (#3021) @TonyBagnall[BUG] 修复在ts格式文件中写入数据集的错误 (#3532) @TonyBagnall
数据类型、检查、转换#
预测#
[BUG] 修复
ConformalIntervals
更新未更新residuals_matrix
(#3460) @bethrice44[BUG] 修复
NaiveForecaster.predict_var
中非空window_length
的残差公式 (#3495) @topher-lo[BUG] 修复
ColumnEnsembleForecaster
对于str
索引的问题 (#3504) @canbooo @fkiraly[BUG] 修复
EnsembleForecaster
中的条件requires-fh-in-fit
标签 (#3642) @fkiraly
参数估计#
时间序列注释#
[BUG] 修复
BaseHmmLearn
中的标签拼写错误 (#3563) @guzalbulatova @miraep8
时间序列聚类#
[BUG] 将所有平均参数传递给 kmeans (#3486) @chrisholder
时间序列分类#
[BUG] 修复
KNeighborsTimeSeriesClassifier
标签处理依赖于距离组件 (#3654) @fkiraly[BUG] 为
TapNet
估计器添加缺失的get_test_params
(#3541) @achieveordie[BUG]
numba
/np.median
交互在大数据集上运行n_jobs>1
时引发错误 (#3602) @TonyBagnall[BUG] 在 #2397 中发现的
numba
和np.zeros
之间的交互错误 (#3618) @TonyBagnall[BUG] 各种小错误修复 (#3706) @MatthewMiddlehurst
时间序列距离和核#
[BUG] 修复了msm对齐路径 (#3484) @chrisholder
[BUG] TWE 对齐路径修复与重构 (#3485) @chrisholder
[BUG] 修复
AggrDist.__init__
中set_tags
调用的拼写错误 (#3562) @aiwalter
时间序列回归#
变换#
[BUG]
RandomShapeletTransform
: 将最大形状数量限制为类别数量 (#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 版本中移除。
增强功能#
数据类型、检查、转换#
[ENH] 优化
from_3d_numpy_to_nested
转换函数 (#3339) @paulbauriegel[ENH] 简化
convert_to_scitype
逻辑,修复 scitype 转换器模块中的导出和文档字符串遗漏 (#3358) @fkiraly
数据加载器#
预测#
[ENH] 为
ConformalIntervals
中的residuals_matrix
计算添加并行fit
和predict_residuals
(#3414) @bethrice44[ENH] 为朴素预测器添加预测方差和分位数 (#3435) @topher-lo
时间序列注释#
时间序列分类#
[ENH] 字典分类器加速 (#3216, #3360) @patrickzib
[ENH] 新分类器:
MLPClassifier
(#3232) @AurumnPegasus[ENH] 新分类器:
FCNClassifier
(#3233) @AurumnPegasus
时间序列距离和核#
变换#
[ENH] 傅里叶特征变换器 (#3374) @ltsaprounis
[ENH] 为
LogTransformer
添加了scale
和offset
参数 (#3354) @bugslayer-332[ENH]
pandas 1.5.0
兼容性修复:如果在Lag
中没有传递或指定freq
,则使用infer_freq
(#3456) @fkiraly
测试框架#
修复#
数据类型、检查、转换#
预测#
[BUG] 修复默认保形区间
initial_window
参数 (#3383) @bethrice44
时间序列注释#
时间序列分类#
变换#
[BUG] 确保
Differencer
始终正确反转 (#3346) @fkiraly, @ilkersigirci
维护#
文档#
[DOC] 将
SlidingWindowSplitter
中start_with_window
的错误文档字符串默认值更改为实际默认值 (#3340) @bugslayer-332[DOC] 修正
examples/AA_datatypes_and_datasets.ipynb
中的小拼写错误 (#3349) @achieveordie[DOC] 在“提问地点”下的过期slack链接 (#3449) @topher-lo
[DOC] 在“提问地点”下的过期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
,直到兼容性问题解决为止
核心接口变更#
预测#
用于将转换器管道化到外生数据的 dunder 方法:
my_trafo ** my_forecaster
将创建一个ForecastingPipeline
注意:**
优先于 ``*``(应用于内生数据)ignores-exogeneous-X
标签的默认值设置为更安全的值False
。这不会影响sktime
预测器,但可能会影响sktime
兼容的预测器,在这些预测器中,如果标签的显式设置被省略,那么X
现在会被传递给所有内部函数_fit
、predict
等。这种情况只有在以下条件下才会被破坏:(a) 标签被错误地省略,(b) 内部函数被破坏,即只有在错误 (a) 掩盖了错误 (b) 的情况下才会引发异常。
时间序列距离和核#
用于将普通转换器与成对转换器进行管道连接的 dunder 方法:
my_trafo ** distance
将创建一个PwTrafoPanelPipeline
,等同于“首先对两个输入应用my_trafo.fit_transform
,然后应用distance
”
变换#
应用
OptionalPassthrough
的 dunder 方法:-my_trafo
等同于OptionalPassthrough(my_trafo)
用于反转变换器的dunder方法:
~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#
数据类型、检查、转换#
预测#
时间序列注释#
时间序列距离和核#
变换#
[ENH] 通道选择 (Dhariyal et al 2021) 用于多变量时间序列分类 (#3248) @haskarb
[ENH] 通道选择 (Dhariyal et al 2021) - 与任意距离的兼容性 (#3256) @fkiraly
[ENH] 在
Lag
中,使单滞后和多滞后情况下的列命名一致 (#3261) @KishManani[ENH] 弃用
transformations.series.compose
以支持transformations.compose
(#3271) @fkiraly[ENH] 通过
neg
dunder 实现的OptionalPassthrough
包装 (#3273) @fkiraly
测试框架#
治理#
修复#
数据集和数据加载器#
[BUG] 修复
classLabel = False
时的write_ndarray_to_tsfile
(#3303) @paulbauriegel
数据类型、检查、转换#
[BUG] 修复
_load_provided_dataset()
中某些转换失败的问题 (#3231) @achieveordie[BUG] 修复在
np.all
内部忘记的列表推导括号重复实例 (#3245) @achieveordie, @fkiraly
预测#
[BUG] 修复
DirectReductionForecaster
中的标签 (#3257) @KishManani[BUG] 如果
auto=True
且additive_only=True
,在AutoETS.fit
中移除多余的UserWarning
#3311 (#3317) @chillerobscuro
参数估计#
时间序列注释#
[BUG] 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, @lbventuraupdate
功能为AutoARIMA
、BATS
、TBATS
和预测调优器 (#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#
数据集和数据加载器#
[ENH] 数据加载器的重构 (#3109) @achieveordie
数据类型、检查、转换#
预测#
[ENH]
VECM
的predict_interval
功能 (#2925) @AurumnPegasus[ENH]
DynamicFactor
predict_interval
和predict_quantiles
(#3105) @lbventura[ENH] 使用
get_window
函数重构SingleWindowSplitter
(#3146) @khrapovs[ENH] 添加
VAR._predict_intervals
(#3149) @lbventura
参数估计#
时间序列注释#
时间序列分类#
[ENH] 将向量分类器从
_contrib
移动到分类模块 (#2951) @MatthewMiddlehurst[ENH] 对CNN分类器基类的各种改进 (#2991) @AurumnPegasus
[ENH] 弃用
ProbabilityThresholdEarlyClassifier
(#3133) @MatthewMiddlehurst
时间序列回归#
变换#
[ENH] 重构了
ColumnConcatenator
,使用pd-multiindex
内部类型重写 (#2379) @fkiraly[BUG] 修复
RandomIntervalFeatureExtractor
以拥有唯一的列名 (#3001) @fkiraly[BUG] 修复
Differencer.inverse_transform
无法访问数据索引freq
的问题 (#3007) @fkiraly[ENH] 增加
FunctionTransformer
和TabularToSeriesAdaptor
的无状态范围 (#3087) @fkiraly[ENH] 将简单的
ShapeletTransform
从_contrib
移动到transformations
模块 (#3136) @fkiraly
测试框架#
[ENH]
functools
包装器以保留由make_mock_estimator
包装的估计器中的文档字符串 (#3228) @ltsaprounis[ENH] 将
FittedParamExtractor
的测试参数重构为get_test_params
(#2995) @mariamjabara[ENH] 将
_config
中剩余的所有测试参数重构为get_test_params
(#3123) @fkiraly
文档#
[DOC] 从
sktime-dl
添加多元 CNN 示例 (#3002) @tobiasweede[DOC] 来自 pydata Berlin 2022 的概率预测笔记本 (#3016) @ciaran-g, @eenticott-shell, @fkiraly
[DOC] 修复
segmentation_with_clasp.ipynb
中的拼写错误 (#3060) @soma2000-lang[DOC] 来自 pydata London 2022 的分层预测笔记本 (#3227) @danbartl, @fkiraly
修复#
数据类型、检查、转换#
预测#
时间序列分类#
变换#
测试框架#
维护#
[MNT] 修复损坏的 Slack 邀请链接 (#3017, #3066) @aiwalter, @Arvind644
[MNT] 将
testdir
添加到.gitignore
(#3019) @Lovkush-A[MNT] 将 MacOS GitHub actions 主机升级到 MacOS-11 (#3107) @lmmentel
[MNT] 重新激活
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#
亮点#
依赖项更改#
Python 需求和软依赖现在尽可能地隔离到估计器类中,见下文。
sktime
现在支持numpy 1.22
。prophet
软依赖现在必须高于 1.1 版本,在此版本中它不再依赖于pystan
。对
pystan
的间接软依赖已被移除。对
hcrystalball
的软依赖已被移除。
核心接口变更#
数据类型、检查、转换#
VectorizedDF
现在支持对列进行矢量化
依赖处理#
Python 要求和软依赖现在通过
python_version
和python_dependencies
标签隔离到估计器类中。这允许将算法与其依赖要求一起打包。
预测#
所有预测器现在都可以进行多元预测。单变量预测器通过迭代/向量化变量来实现这一点。在这种情况下,变量的单个预测器存储在
forecasters_
属性中。ForecastingHorizon
现在在freq
属性中存储频率信息。它可以通过新的freq
参数在构造函数中设置,并且在传递数据时会推断/更新。
变换#
所有转换器现在都可以转换多元时间序列。单变量转换器通过迭代/向量化变量来实现这一点。在这种情况下,变量的单个转换器存储在
transformers_
属性中。
弃用和移除#
预测#
已弃用:使用带有
freq
的pd.Timestamp
的 ForecastingHorizon 方法已被弃用,并将在 0.14.0 版本中引发异常。使用pd.Timestamp
仍然是可能的。这是由于pandas
中pd.Timestamp
的freq
属性已被弃用。从 0.14.0 版本开始,预测器的公共
cutoff
属性将从索引元素更改为pd.Index
子类型。移除:类
HCrystalBallForecaster
,参见 #2677。
性能指标#
从所有性能指标构造函数中移除了
func
和name
参数。changed:
greater_is_better
属性已被greater_is_better
标签替换。
时间序列分类#
从
BaseClassifier
后代中移除了"capability:early_prediction"
标签。早期的分类器现在有自己的估计器类型。为了搜索早期分类器,请使用early-classifier
科学类型字符串,而不是标签。
变换#
移除:
Differencer
-drop_na
参数 已被移除。na_handling
的默认值已更改为fill_zero
移除:
WindowSummarizer
中的lag_config
参数,请改用lag_feature
参数。
增强功能#
数据类型、检查、转换#
预测#
[ENH]
BaggingForecaster
用于通过装袋添加预测区间 (#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) @NoaBenAmi @lielleravid
频繁请求的算法:Stankeviciute 等人,2021 年后的经验性和一致性预测区间(#2542, #2706) @bethrice44 @fkiraly
依赖项更改#
新的软依赖项:
pykalman
和 ``filterpy``(用于卡尔曼滤波器转换器)
核心接口变更#
BaseObject#
预测#
性能指标#
性能指标有一个新的基类设计和继承结构。请参阅
BaseForecastingErrorMetric
文档字符串文档。接口的更改向下兼容,并为进一步的重构奠定了基础。
时间序列回归#
TSR 基类已更新为一个与
BaseClassifier
平行的接口(#2647):user:fkiraly。请参阅基类文档字符串以获取规范详细信息。
弃用和移除#
数据类型、检查、转换#
从
from_multi_index_to_3d_numpy
中移除了instance_index
和time_index
参数。请改用convert
或convert_to
。
预测#
移除:标签
fit-in-predict
,现归入fit_is_empty
下已弃用:
HCrystalBallForecaster
,将在 0.13.0 版本中移除。参见 #2677。
性能指标#
changed: 在所有相关性能指标中,将
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
中将估计器方法迭代作为测试夹具暴露 (#2781) @fkiraly
治理#
修复#
聚类#
数据类型、检查、转换#
距离, 核函数#
[BUG] 修复了距离工厂1d数组的bug (#2691) @chrisholder
预测#
[BUG] 修复
update_predict
的cv
参数默认值和文档字符串错误 (#2589) @aiwalter[BUG]
UnobservedComponents
的ignores-exogeneous-X
标签修正 (#2666) @fkiraly[BUG] 修复了
pmdarima
接口的索引处理,如果X
索引集严格大于y
索引集 (#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] 文本更改示例笔记本 (#2648) @lbventura
[DOC] 将
TimeSeriesForestClassifier
的文档位置从kernel_based
更新为interval_based
在get_started.rst
中 (#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, @NoaBenAmi, @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
数据类型、检查、转换#
距离, 核函数#
[ENH] 微调距离 (#2553) @chrisholder
预测#
时间序列分类#
为 DrCIF 减少集成规模 (#2595) @TonyBagnall
变换#
修复#
BaseObject#
聚类#
[BUG] Lloyds 聚类算法提前退出错误 (#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方法:为
TransformedTargetForecaster
管道写trafo * forecaster * my_postproc
(#2404) @fkiraly多路复用/自动机器学习的dunder方法:为
MultiplexForecaster
编写forecaster1 | forecaster2 | forecaster3
,用于在预测器上进行调优(#2540):user:miraep8dunders 与现有的转换器管道和特征联合结合,例如,
trafo1 * trafo2 * forecaster
或(trafo1 + trafo2) * forecaster
UnobservedComponents
预测器的预测区间 (#2454) @juanitorduzall_estimators
的新参数return_tags
允许列出带有选定标签的估计器 (#2410) @miraep8
依赖项更改#
scipy
的上限放宽至scipy<1.9.0
,sktime
现在与scipy 1.8.X
版本兼容。
核心接口变更#
所有估计器#
所有估计器现在都有一个 reset
方法,该方法将对象重置为初始化后的干净状态,同时保留超参数。相当于 clone
但会覆盖 self
。
预测#
预测器有两个新的魔术方法。使用魔术方法可以轻松创建管道对象:
*
与一个转换器结合创建预测管道,例如,my_trafo1 * my_forecaster * my_postproc
。预测器之前的转换器在TransformedTargetForecaster
中用于预处理。预测器之后的转换器在TransformedTargetForecaster
中用于后处理。|
与另一个预测器结合创建一个多路复用器,例如,forecaster1 | forecaster2 | forecaster 3
。结果是MultiplexForecaster
类,可以与网格搜索结合用于自动机器学习风格的调优。
Dunder 方法与现有的 transformer 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#
数据类型、检查、转换#
预测#
注册表#
测试框架#
变换#
修复#
聚类#
[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
时间序列分类#
变换#
测试框架#
重构#
维护#
[MNT] 将 contrib 模块设为私有 (#2422) @MatthewMiddlehurst
[MNT] 移除意外提交的prob集成笔记本 (#2476) @eenticott-shell
[MNT] 在Windows上将scipy镜像切换到anaconda以解决所有CI/CD中的``gfortran``
FileNotFoundError
(#2561) @fkiraly
文档#
[DOC] 在GSoC截止日期后从着陆页移除GSoC公告 (#2543) @GuzalBulatova
[DOC] 修复sktime安装说明中的拼写错误,如果逐字遵循会导致“无效要求错误” (#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 日前申请 GSoC 与 sktime!(#2373) @lmmentel @Lovkush-A @fkiraly
0.11.0 版本中引入的概率性和层次性预测功能的增强和错误修复
概率预测的流水线、调优和评估兼容性 (#2234, #2318) @eenticott-shell @fkiraly
核心接口变更#
数据类型、检查、转换#
pd-multiindex
mtype 被放宽,允许任意层级名称
预测#
概率预测接口现在也适用于自动向量化的情况
概率预测接口现在与层次预测接口兼容
增强功能#
数据类型、检查、转换#
[ENH] tsf 加载器以允许指定返回的 mtype (#2103) @ltsaprounis
[ENH] 放宽多索引的名称规则 - 修复了
from_multi_index_to_nested
中的遗漏 (#2384) @ltsaprounis
预测#
[ENH] 为
ForecastingPipeline
和TransformedTargetForecaster
添加对概率性和层次性预测的兼容性 (#2318) @fkiraly[ENH] 允许
pd.Timedelta
值在ForecastingHorizon
中使用 (#2333) @khrapovs[ENH] 为
ColumnEnsembleForecaster
的概率方法(predict_proba 除外)(#2356) @fkiraly[ENH] 使用概率度量的网格搜索 (#2234) @eenticott-shell
[ENH] 流预测的包装器(用于
update_predict
使用)以触发定期重拟合 (#2305) @fkiraly[ENH] 在
TransformedTargetForecaster
中的后处理,用于(转换后的 y)预测管道的双下划线方法 (#2404) @fkiraly[ENH] 在
all_estimators
估计器检索中抑制弃用消息,解决 dtw 导入消息 (#2418) @katiebuc
时间序列分类#
变换#
维护#
重构#
[ENH] 分类预期输出测试更新 (#2295) @MatthewMiddlehurst
[ENH] Transformers 模块全面重构 - 第三部分,panel 模块(第二批)(#2253) @fkiraly
[ENH] Transformers 模块全面重构 - 第 IV 部分,panel 模块(第 3 批)(#2369) @fkiraly
[ENH] 测试参数重构:
TSInterpolator
(#2342) @NoaBenAmi[ENH] 将“sktime 预测器测试”移入
TestAllForecasters
类 (#2311) @fkiraly[ENH] 升级
BasePairwiseTransformer
以使用 datatypes 输入转换和检查 (#2363) @fkiraly[ENH] 扩展
_HeterogeneousMetaEstimator
估计器以允许混合元组/估计器列表 (#2406) @fkiraly[MNT] 测试参数重构:预测缩减器和
ColumnEnsembleClassifier
(#2223) @fkiraly
修复#
预测#
变换#
文档#
[DOC] 拼写修正:在扩展模板中将 constructor 修正为 constructor (#2348) @fkiraly
[DPC] 修复了
'docs/source/developer_guide/testing_framework.rst'
的问题 (#2335) @0saurabh0[DOC] 更新了 conda 安装说明 (#2365) @RISHIKESHAVAN
[DOC] 在 interval_based_classification 示例笔记本中,使用多元数据集进行多元示例 (#1822) @ksachdeva
贡献者#
@0saurabh0, @aiwalter, @ciaran-g, @danbartl, @eenticott-shell, @fkiraly, @katiebuc, @khrapovs, @ksachdeva, @lmmentel, @ltsaprounis, @MatthewMiddlehurst, @NoaBenAmi, @RISHIKESHAVAN, @TNTran92
版本 0.11.0 - 2022-03-26#
亮点#
多变量预测,预测教程中的概率预测部分 (#2041) @kejsitake
层次化与全局预测:预测器和转换器接口现在兼容层次化数据,自动向量化层次级别 (#2110, #2115, #2219) @danbartl @fkiraly
概率预测:``predict_var``(方差预测)和 ``predict_proba``(完整分布预测)接口;区间和分位数预测的性能指标(#2100, #2130, #2232):user:eenticott-shell @fkiraly @kejsitake
transformer 和 classifier 管道的 dunder 方法:为管道写
my_trafo1 * my_trafo2
,为FeatureUnion
写my_trafo1 + my_trafo2
(#2090, #2251) @fkiraly经常请求的功能:
statsforecast
包中的AutoARIMA
现在作为StatsforecastAutoARIMA
提供 (#2251) @FedericoGarza扩展者:详细 “创建兼容sktime的估计器”指南
依赖项更改#
sktime
有一个新的可选深度学习依赖集,包括tensorflow
和tensorflow-probability
新的软件依赖:
tslearn``(``tslearn
聚类器所需)新的软依赖:
statsforecast``(``StatsforecastAutoARIMA
所需)
核心接口变更#
数据类型、检查、转换#
新的
Hierarchical
科学类型用于层次时间序列数据,mtype 格式为 ``pd_multiindex_hier``(行多索引序列)新的
Table
科学类型用于“普通”的表格(类似二维数据框)数据,这些数据不是时间序列或顺序的。Table
科学类型的多种 mtype 格式:numpy1D
、numpy2D
、pd_DataFrame_Table
、pd_Series_Table
、list_of_dict
新的
Proba
科学类型用于分布和类似分布的对象(用于概率预测)
预测#
预测器现在也接受
Panel
类型(面板和全局预测器)和Hierarchical
类型(分层预测器)的输入当预测器接收到
Panel
或Hierarchical
输入,并且只定义了Series
逻辑时,预测器将自动循环处理(序列)实例。当预测器接收到
Hierarchical
输入,并且只定义了Panel
或Series
逻辑时,预测器将自动循环处理(面板)实例。新的概率预测接口用于概率预测:
新方法
predict_var(fh, X, cov=False)
用于方差预测,返回预测方差的时间序列新方法
predict_proba(fh, X, marginal=True)
用于分布预测,返回tensorflow
Distribution
时间序列分类#
用于管道分类器和转换器的双下划线方法:
my_trafo1 * my_trafo2 * my_clf
将创建一个ClassifierPipeline``(与 ``sklearn
兼容)
变换#
transformers 现在也接受
Panel
类型(panel 和 global transformers)和Hierarchical
类型(hierarchical transformers)的输入当给定
Panel
或Hierarchical
输入,并且只定义了Series
逻辑时,转换器将自动循环处理(系列)实例。当给定
Hierarchical
输入时,如果只定义了Panel
或Series
逻辑,转换器将自动循环遍历(面板)实例。Table
科学类型用作返回“原始”数据的转换器的输出。用于管道转换器的 dunder 方法:
my_trafo1 * my_trafo2 * my_trafo3
将创建一个(单一的)``TransformerPipeline``(与sklearn
兼容)transformers 中
FeatureUnion
的 dunder 方法:my_trafo1 + my_trafo2 + my_trafo3
将创建一个(单一的)``FeatureUnion`` (sklearn
兼容)transformer dunder pipeline 与
sklearn
转换器兼容,自动包装在TabularToSeriesAdaptor
中
弃用和移除#
数据类型、检查、转换#
预测#
移除了预测器
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
。
变换#
已弃用:
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 之前仍可导入。
增强功能#
数据类型、检查、转换#
数据集和数据加载器#
[ENH] 分层 mtype 生成器 (#2093) @ltsaprounis
聚类#
[ENH]
tslearn
作为软依赖添加,并用于添加新的聚类器。(#2048) @chrisholder[ENH] 添加用户选项以确定单个问题聚类/分类问题中的返回类型 (#2139) @TonyBagnall
距离, 核函数#
[ENH] 对 Lcss 距离的小改动 (#2119) @TonyBagnall
预测#
[ENH] 从 StatsForecast 添加
AutoARIMA
(#2251) @FedericoGarza[ENH] 朴素方差预测估计器/包装器 (#1865) @IlyasMoutawwakil
[ENH] 预测器
predict_proba
,依赖 tensorflow-probability (#2100) @fkiraly[ENH] 概率预测指标 (#2232) @eenticott-shell
[ENH]
Hierarchical
数据的_predict_fixed_cutoff
(#2094) @danbartl
时间序列分类#
[ENH] 添加用户选项以确定单个问题聚类/分类问题中的返回类型 (#2139) @TonyBagnall
[ENH] 早期分类实现 (#2162) @MatthewMiddlehurst
[ENH] 引入
classifier_type
标签 (#2165) @MatthewMiddlehurst[ENH] 分类的sklearn模型选择测试 (#2180) @MatthewMiddlehurst
[ENH] Rocket 转换器:将精度更改为 float32 (#2135) @RafaAyGar
变换#
[ENH] 单变量时间序列自助法 (#2065) @ltsaprounis
[ENH] 升级
BaseTransformer
以使用向量化工具,分层 mtype 兼容性 (#2219) @fkiraly
测试框架#
治理#
将 @danbartl 添加到核心开发者列表
将 @ltsaprounis 添加到核心开发者列表 (#2236) @ltsaprounis
固定#
[BUG] 修复了由 ThetaForecaster.predict_quantiles 引起的固定状态变化 (#2108) @fkiraly
[BUG]
_make_hierarchical
被重命名为_make_hierarchical
(拼写错误/bug) 问题 #2195 (#2196) @Vasudeva-bit[BUG] 修复
PaddingTransformer._transform
的错误输出类型 (#2217) @fkiraly[BUG] 修复
STLBootstrapTransformer
错误信息和文档字符串 (#2260) @fkiraly[BUG] 修复 BaseForecaster 中的转换区间->分位数,并修复 ARIMA.predict_interval (#2281) @fkiraly
[BUG] 修复
VectorizedDF.__getitem__
中索引频率的 Windows 错误 (#2279) @ltsaprounis[BUG] 修复了
_predict_var
文档字符串中 Returns 部分的重复问题 (#2306) @fkiraly[BUG] 修复了当生成空簇时kmeans和medoids的崩溃问题 (#2060) @chrisholder
弃用处理:使用 StandardScaler 替换 normalize (#2167) @KishenSharma6
文档#
[DOC] 预测器教程:多元预测,概率预测 (#2041) @kejsitake
[DOC] 在 sktime 安装说明中添加“故障排除”链接 (#2121) @eenticott-shell
[DOC] 增强距离文档字符串 (#2122) @TonyBagnall
[DOC] 将 gitter 提及替换为适当的链接、引用 (#2187) @TonyBagnall
[DOC] 更新了 sktime 的环境文档,添加了 Python 3.9 版本 (#2199) @Vasudeva-bit
[DOC] 改进了 HIVE-COTE v1.0 的文档字符串 (#2239) @TonyBagnall
[DOC]
developer_guide.rst
中的拼写错误 (#2131) @theanorak
维护#
加速EE测试和ColumnEnsemble示例 (#2124) @TonyBagnall
[MNT] 在 test_plotting 中添加 xfails 直到 #2066 被解决 (#2144) @fkiraly
[ENH] 扩展 deep_equals 以支持 ForecastingHorizon (#2225) @fkiraly
[MNT] 更快的文档字符串示例 - ForecastingGridSearchCV, MultiplexForecaster (#2229) @fkiraly
[BUG] 移除 StratifiedGroupKFold 的测试 (#2244) @TonyBagnall
[ENH] 分类器类型提示 (#2246) @MatthewMiddlehurst
更新了 pre-commit 链接,并且语法上也更新了 Coding Style 文档 (#2285) @Tomiiwa
[ENH] 用于测试的模拟估计器和模拟估计器生成器 (#2197) @ltsaprounis
[DOC] 更新 PULL_REQUEST_TEMPLATE.md 以便 PR 标题应以 [ENH]、[DOC] 或 [BUG] 开头 (#2293) @aiwalter
重构#
[ENH] 聚类实验保存结果格式化 (#2156) @TonyBagnall
[ENH] 将
fit-in-transform
和fit-in-predict
重命名为fit_is_empty
(#2250) @fkiraly[ENH] 测试参数重构:所有分类器 (#2288) @MatthewMiddlehurst
[ENH] 测试参数重构:
Arsenal
(#2273) @dionysisbacchus[ENH] 测试参数重构:
RocketClassifier
(#2166) @dionysisbacchus[ENH] 测试参数重构:
TimeSeriesForestClassifier
(#2277) @lielleravid[ENH]
FeatureUnion
重构 - 移动到transformations
,标签,双下划线方法 (#2231) @fkiraly[ENH] 从
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
兼容,上限将被放宽
添加#
文档#
[DOC] 改进预测教程 (#1834) @baggiponte
[DOC] 修复错误的 conda 命令以安装包 (#1973) @schettino72`
[DOC] 修复次要文档问题 (#2035) @Saransh-cpp
数据集和数据加载器#
[ENH] 添加了
.tsf
数据格式的加载器 (#1934) @rakshitha123[ENH] 为单元测试添加了
.tsf
数据集 (#1996) @rakshitha123
数据类型、检查、转换#
预测#
变换#
维护#
[MNT] 重命名分类笔记本 (#1980) @TonyBagnall
[MNT] 从 CI-CD 中移除
pytest-xdist
,取消跳过 test_multiprocessing_idempotent (#2004) @fkiraly[MNT] 将数据类型检查中的函数名改为小写蛇形命名法 (#2014) @chicken-biryani
[MNT] 为
linux
和mac
测试提供详细输出 (#2045) @Saransh-cpp[MNT] GitHub Actions: 当再次推送时取消PR的旧但正在运行的工作流 (#2063) @RishiKumarRay
固定#
[BUG] 移除文档中的 MrSEQL 笔记本 (#1974) @TonyBagnall
[BUG] 修复聚类扩展模板中的导入 (#1978) @schettino72
[BUG] HC2 组件错误修复 (#2020) @MatthewMiddlehurst
[BUG] 修复
nested_univ
转换为pd-multiindex
mtype 的问题,如果系列有名称 (#2000) @fkiraly[BUG]
MiniRocket
遵守 sklearn 初始化规范,修复__init__
中的random_state
修改 (#2027) @fkiraly[BUG] 朴素预测器窗口错误 (#2047) @eenticott-shell
[BUG] 修复
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.9。sktime
现在支持并要求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
参见 transformer 基础 API 和 transformer 扩展模板
弃用和移除#
数据类型、检查、转换#
预测#
已弃用,计划在0.11.0版本中移除:预测器
predict
、fit_predict
、update_predict_single
中的return_pred_int
参数。已被predict_interval
和predict_quantiles
接口取代。
时间序列分类#
移除:
MrSEQL
时间序列分类器 (#1548) @TonyBagnall移除了
RISF
和形状分类器 (#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] 缩放对数转换器 (#1913, #1965) @ltsaprounis.
[ENH] 为 statsmodels Holt-Winters 指数平滑接口添加
fit
参数 (#1849) @fkiraly[ENH] 在 FBprophet 中添加
predict_quantiles
(#1910) @kejsitake[ENH] 在 ets, pmdarima 适配器中添加
`predict_quantiles
(#1874) @kejsitake[ENH]
_predict_interval
和_predict_coverage
的默认值 (#1879, #1961) @fkiraly[ENH] 重构列集成预测器 (#1764) @Aparna-Sakshi
[ENH] 更新 predict_quantiles 的扩展模板 (#1780) @kejsitake
[ENH] 预测区间重构:BATS/TBATS;修复 #1625 的错误;更新
predict_quantiles
的基础类 (#1842) @k1m190r
时间序列分类#
[ENH] 基于新转换的管道分类器 (#1721) @MatthewMiddlehurst
[ENH] 分类问题数据加载函数的用户选择返回 (#1799) @tonybagnall
[ENH] TSC 重构:
compose
子模块 (#1852) @tonybagnall[ENH] TSC 重构:TSC 列集合 (#1859) @tonybagnall
[ENH] TSC 重构: TSF, RSF (#1851) @tonybagnall
[ENH] 用基于numba的距离计算替换C扩展和Cython (#1761, #1847, #1932, #1927) @TonyBagnall.
[ENH] 引入 msm 距离并调整 KNN 分类器以使用它 (#1926) @tonybagnall
[ENH] HC2 interval_speedup 的效率改进 (#1754) @MatthewMiddlehurst
[ENH] 分类器测试:移除 replace_X_y、注释,并添加合约测试 (#1800) @MatthewMiddlehurst
变换#
测试模块#
治理#
新的CC组合,更新了codeowners (#1796)
更新核心开发者列表 (#1841) @sumit-158
维护#
固定#
[DOC] 修复了transformer扩展模板中的拼写错误 (#1901) @rakshitha123
[DOC] 修复“设置开发环境”部分的拼写错误 (#1872) @shubhamkarande13
[BUG] 修复 ARIMA 和
TrendForecaster
的错误“使用 X”标签 (#1895) @ngupta23[BUG] 修复在连接训练和测试数据时的错误 (#1892) @tonybagnall
[BUG] Knn 错误修复以允许 GridsearchCV 和与列集合一起使用 (#1903) @tonybagnall
[BUG] 修复了DrCIF、STSF、MUSE、Catch22中的各种错误 (#1869) @MatthewMiddlehurst
[BUG] 修复了
convert_align_to_align_loc
中的错误索引强制 (#1911) @fkiraly[BUG] 1523 修复
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] 修复了关于外生变量X内部变化的prophet错误 (#1711) @kejsitake
[BUG] 修复
pd.Series
在 sktime/utils/tests/test_datetime.py:21 中的 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
访问拟合的顺序和季节性顺序 (#1641) @AngelPoneNumba 距离模块 - 高效的时间序列距离 (#1574) @chrisholder
Transformers 基础接口重构 - 默认向量化到面板数据 @fkiraly
核心接口变更#
数据类型、检查、转换#
时间序列分类#
时间序列分类器现在通过转换为3D而不是抛出异常来接受2D
np.ndarray
(#1604) @TonyBagnall
变换#
fit
,transform
,fit_transform
现在接受Series
和Panel
作为参数如果将
Panel
传递给一个系列转换器,它将应用于所有实例。所有转换器现在都使用 X 作为它们的第一个参数,y 作为它们的第二个参数。这是由新的基础接口强制执行的。
这在不同类型的变压器之间以前是不一致的:串联变压器使用 Z 作为第一个参数,X 作为第二个参数。
Z (前第一个参数) 在系列转换器中直到0.10.0版本别名为 X,之后将被弃用
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
数据类型、检查、转换#
预测#
[ENH] Auto-ETS 根据数据的非负性检查模型以供选择 (#1615) @chernika158
时间序列对齐#
时间序列分类#
[ENH] 分类器测试速度提升 (#1599) @MatthewMiddlehurst
[ENH] 通过 (#1619) @TonyBagnall 进行的实验整理
[ENH] 将 MiniRocket 和 MultiRocket 作为 RocketClassifier 的选项 (#1637) @MatthewMiddlehurst
[ENH] 更新分类基类类型 (#1633) @chrisholder
TSC 重构:基于间隔的分类包(#1583) @MatthewMiddlehurst
TSC 重构:基于距离的分类包 (#1584) @MatthewMiddlehurst
TSC 重构:基于功能的分类包 (#1545) @MatthewMiddlehurst
时间序列距离#
[ENH] Numba 距离模块 - 高效的时间序列距离 (#1574) @chrisholder
[ENH] 距离度量重构 (#1664) @chrisholder
治理#
维护#
固定#
估计器注册#
预测#
[BUG] Facebook prophet 对外部数据 X 的副作用 (#1711) @kejsitake
[BUG] 修复
_split
的错误,意外移除了对 pandas.Index 的支持 (#1582) @fkiraly[BUG] 修复
convert
和_split
对于 Numpy 1D 输入的问题 (#1650) @fkiraly[BUG] 当我们通过 (#1595) @ltsaprounis 重新拟合预测器时,update_y_X 存在问题
性能指标,评估#
时间序列对齐#
时间序列分类#
[BUG] 修复 #1234 (#1600) @Carlosbogo
[BUG] 从 UCR 加载修复 (#1610) @TonyBagnall
[BUG] TimeSeriesForest 分类器修复 (#1588) @OliverMatthews
[BUG] 通过 (#1638) @TonyBagnall 修复了 ShapeDTW 中的参数不匹配问题
变换#
维护#
贡献者#
@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
自动生成 d 分类器功能总结 #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) @BINAYKUMAR943重构 TSC:
ShapeletTransformClassifier
, HC2 的文档 (#1490) @MatthewMiddlehurst重构 TSC: catch22 (#1487) @RavenRudi
重构 TSC:tsfresh 分类器 (#1473) @kejsitake
[MNT] 修复 appveyor 失败 (#1541) @freddyaboulton
[BUG] #1469: 去除索引 X 和 y 的名称 (#1493) @boukepostma
[BUG] 来自 #866 的 W-XXX 频率错误 (#1409) @xiaobenbenecho
[BUG] 在AutoARIMA中,Pandas.NA用于不可预测的样本内预测 (#1442) @IlyasMoutawwakil
[BUG] 重构 sktime/…/_panels/_examples.py 以兼容 tsai (#1453) @bobbys-dev
[BUG] 如果提供了DataFrame,model_selection/split 会将整个 DataFrame 作为索引传递 (#1456) @fkiraly
[DOC] 在
_proximity_forest.py
中修复了文档字符串 (#1531) @TonyBagnall[DOC] 修复登录页面链接 (#1429) @Aparna-Sakshi
[DOC] 将 DataChef 博客文章添加到社区展示 (#1464) @myprogrammerpersonality
[DOC] 从文档字符串中移除许可证信息 (#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#
亮点#
Python 3.9 对 linux/osx 的支持 (#1255) @freddyaboulton
conda-forge
用于安装带有所有额外功能的 sktime 的元包 @freddyaboulton多变量预测的框架支持 (#980 #1195 #1286 #1301 #1306 #1311 #1401 #1410) @aiwalter @fkiraly @thayeylolu
使用
registry.all_estimators
和registry.all_tags
进行估计器和标签的合并查找 (#1196) @fkiraly[DOC] 对
sktime
的 在线文档 进行了重大改版[DOC] 可搜索、自动更新的估计器注册 在在线文档中 (#930 #1138) @afzal442 @mloning
[MNT] 在浏览器中工作的 Binder 笔记本展示 (#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")
来检查,该方法可以返回"univariate"
、"multivariate"
或"both"
。已经引入了更多标签,请参见
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
新近邻森林版本 (#733) @moradabaz
RISE 的改进 (#975) @whackteachers
变压器#
基准测试与评估#
关键差异图 (#1277) @SveaMeyer13
分类实验 (#1260) @TonyBagnall
聚类实验 (#1221) @TonyBagnall
切换到分类实验 (#1137) @TonyBagnall
文档#
测试框架#
固定#
重构 TSC:DrCIF 和 CIF 到新接口 (#1269) @MatthewMiddlehurst
重构 TSC:TDE 添加和 HC2 的文档 (#1357) @MatthewMiddlehurst
重构 TSC:HC2 的 Arsenal 添加和文档 (#1305) @MatthewMiddlehurst
重构 TSC: _cboss (#1295) @BINAYKUMAR943
重构 TSC: 火箭分类器 (#1239) @victordremov
重构 TSC:基于字典的分类器 (#1084) @MatthewMiddlehurst
重构测试:使用估计器的估计器测试参数 (#1361) @Aparna-Sakshi
更新 _data_io.py (#1308) @TonyBagnall
数据输入输出 (#1248) @TonyBagnall
[BUG] 合约测试修复 (#1392) @MatthewMiddlehurst
[BUG] 数据写入更新与JapaneseVowels数据集修复 (#1278) @MatthewMiddlehurst
[BUG] 修复了
test_all_estimators
中的 ESTIMATOR_TEST_PARAMS 引用 (#1406) @fkiraly[BUG] pytest 失败后 C 编译器的故障排除 (#1262) @tensorflow-as-tf
[BUG] 单变量时间序列分类教程文档中的错误修复。(#1140) @BINAYKUMAR943
[BUG] bugfix - 修复 convertIO 中对 np.ndarray 的损坏引用 (#1191) @fkiraly
[BUG] STSF 测试修复 (#1170) @MatthewMiddlehurst
[BUG]
set_tags
调用在BaseObject.clone_tags
中使用了错误的签名 (#1179) @fkiraly[DOC] 更新转换器文档字符串 Boss (#1320) @thayeylolu
[DOC] 更新了 exp_smoothing.py 的文档字符串 (#1339) @mathco-wf
[DOC] 更新了 CONTRIBUTING.md 中的链接 (#1428) @Aparna-Sakshi
[DOC] 修正贡献指南中的拼写错误 (#1398) @juanitorduz
[DOC] 修复 README 中的小拼写错误 (#1416) @justinshenk
[DOC] 修正了引用页面中的一个拼写错误 (#1310) @AreloTanoh
[DOC] EnsembleForecaster 和 AutoEnsembleForecaster 文档字符串示例 (#1382) @aiwalter
[DOC] 改进了 bats, tbats, arima, croston 的文档字符串 (#1309) @Lovkush-A
[DOC] 更新 detrend 模块的文档字符串 (#1335) @SveaMeyer13
[DOC] 更新 ThetaLinesTransformer 的文档字符串 (#1312) @GuzalBulatova
[DOC] 更新 ColumnwiseTransformer 和 TabularToSeriesAdaptor 的文档字符串 (#1322) @GuzalBulatova
[DOC] 添加了余弦的描述和链接 (#1326) @AreloTanoh
[DOC] 朴素预测文档字符串编辑 (#1333) @AreloTanoh
[DOC] 修复了 transformations.rst 中的拼写错误 (#1324) @AreloTanoh
[DOC] 在预测教程中添加目录 (#1200) @bilal-196
[DOC] EnsembleForecaster 的完整文档字符串 (#1165) @GuzalBulatova
[DOC] 在分类的文档字符串中添加示例 (#1164) @ltoniazzi
[DOC] 在 KNeighborsTimeSeriesClassifier 的文档字符串中添加示例 (#1155) @ltoniazzi
[MNT] 移除依赖第三方网站的数据下载器测试,更改test_time_series_neighbors的测试数据集 (#1258) @TonyBagnall
[MNT] 格式化设置文件 (#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
添加了 mloning 和 aiwalter 作为 forecasting/base 代码的所有者 (#1108) @fkiraly
更改#
预测器重构:BaseGridSearch, ForecastingGridSearchCV, ForecastingRandomizedSearchCV (#1034) @GuzalBulatova
预测重构:多项式趋势预测器 (#1003) @thayeylolu
预测重构:堆叠、多路复用器、集成器和转换目标预测器 (#977) @thayeylolu
预测重构:statsmodels 和 theta 预测器 (#1029) @thayeylolu
预测重构:reducer (#1031) @Lovkush-A
预测重构:集成器、在线集成预测器及其后代 (#1015) @thayeylolu
预测重构:TbatAdapter (#1017) @thayeylolu
预测重构:PmdArimaAdapter (#1016) @thayeylolu
预测重构:Prophet (#1005) @thayeylolu
预测重构:CrystallBall 预测器 (#1004) @thayeylolu
分类: 基于内核的重构 (#875) @MatthewMiddlehurst
分类: catch22 重制 (#864) @MatthewMiddlehurst
Transformers: 使 OptionalPassthrough 支持多变量输入 (#1112) @aiwalter
Transformers: 多元去趋势的改进 (#1077) @SveaMeyer13
更新 plot_series 以统一处理 pd.Int64 和 pd.Range 索引 (#892) @Dbhasin1
将浮点数作为窗口长度包含在内 (#827) @thayeylolu
更新加载数据的文档 (#885) @SveaMeyer13
固定#
Bug修复 - 预测器应使用内部接口 _all_tags 进行自我检查,而不是 _has_tag (#1068) @fkiraly
修复Minirocket分类器中的种子问题 (#1094) @Lovkush-A
修复文档字符串中的小拼写错误 (#889) @GuzalBulatova
BaseCluster 类问题已解决 (#1075) @chrisholder
阿森纳修复、扩展功能和HC1单元测试 (#902) @MatthewMiddlehurst
更新 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 添加了 Guerrero 方法用于 lambda 估计 (#778) (#791) @GuzalBulatova
DirRec 简化策略的实现 (#779) @luiszugasti
为 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
在文档文件夹中将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
更改#
基准测试问题141 (#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
添加示例笔记本窗口分割器 (#555) @juanitorduz
在 doctrings 中添加 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
[DOC] 更新 benchmarking/data.py 中的文档 (#489) @Afzal-Ind
SFA/WEASEL 的功能与性能改进 (#457) @patrickzib
固定#
修复绘图系列 (#533) @gracewgao
[DOC] 修复 RandomIntervalSpectralForest 的损坏文档字符串 (#473) @AaronX121
添加回缺失的bibtex引用至分类器 (#468) @whackteachers
更新预提交版本,再次运行于笔记本 (#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 的艺术作品(logo) @mloning
带有时间序列森林特征重要性图的示例笔记本 (#319) @HYang1996
ACSF1 数据集 (#314) @BandaSaiTejaReddy
从3d numpy数组到嵌套pandas数据帧的数据转换函数 (#304) @vedazeren
更改#
在教程中替换了枪口数据集,添加了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 轮子
更改#
修订了所有估计器以符合通用接口,并确保与scikit-learn兼容
已移除#
为支持 scikit-learn 的实现,针对序列作为特征的设置,提供了一些冗余的类:
Pipeline
和GridSearchCV
HomogeneousColumnEnsembleClassifier
更倾向于更灵活的ColumnEnsembleClassifier
固定#
来自 scikit-learn 的弃用和未来警告
statsmodels 的用户警告