TemporalDictionaryEnsemble#
- class TemporalDictionaryEnsemble(n_parameter_samples=250, max_ensemble_size=50, max_win_len_prop=1, min_window=10, randomly_selected_params=50, bigrams=None, dim_threshold=0.85, max_dims=20, time_limit_in_minutes=0.0, contract_max_n_parameter_samples=inf, typed_dict=True, save_train_predictions=False, n_jobs=1, random_state=None)[source]#
时间字典集成 (TDE)。
基于字典的时间字典集成的实现,如[R822586daffca-1]中所述。
概述:输入“n”个长度为“m”维数为“d”的序列。TDE 使用高斯过程回归器搜索选择的“k”个参数值,并通过 LOOCV 评估每个值。然后保留“s”个集成成员。单个分类器有六个主要参数
alpha:字母表大小
w:窗口长度
l:词长
p:标准化/不标准化
h:级别
b:MCB/IGB
对于任何组合,单个 TDE 分类器会沿着序列滑动一个长度为 w 的窗口。长度为 w 的窗口通过进行傅里叶变换并保留前 l/2 个复系数缩短为长度为 l 的词。然后将这些 l 个系数离散化为 alpha 个可能的值,使用通过 b 找到的断点形成长度为 l 的词。使用 h 个级别的空间金字塔为每个序列形成并存储词的直方图。对于多元序列,使用简化直方图的准确性来选择维度。
fit 涉及找到 n 个直方图。predict 使用 1 最近邻,距离函数为直方图交集距离。
- 参数:
- n_parameter_samplesint,默认为 250
为最终集成考虑的参数组合数量。
- max_ensemble_sizeint,默认为 50
集成中估计器的最大数量。
- max_win_len_propfloat,默认为 1
最大窗口长度占序列长度的比例,必须介于 0 和 1 之间。
- min_windowint,默认为 10
最小窗口长度。
- randomly_selected_params: int,默认为 50
在使用高斯过程参数选择之前随机选择的参数数量。
- bigrams布尔值或 None,默认为 None
是否使用 bigrams,对于单变量数据默认为 True,对于多变量数据默认为 False。
- dim_thresholdfloat,默认为 0.85
多变量数据的维度准确性阈值,必须介于 0 和 1 之间。
- max_dimsint,默认为 20
多变量数据中每个分类器的最大维度数。
- time_limit_in_minutesint,默认为 0
时间限制(分钟),用于限制构建时间,将覆盖 n_parameter_samples。默认为 0 表示使用 n_parameter_samples。
- contract_max_n_parameter_samplesint,默认为 np.inf
设置 time_limit_in_minutes 时考虑的最大参数组合数量。
- typed_dictbool,默认为 True
使用 numba 类型化的 Dict 来存储词频。可能会增加内存使用,但对于大型数据集会更快。由于当前 Dict 无法被 pickled,因此在将其转换为带有多个线程的 python dict 并进行 pickled 时会产生一些开销。
- save_train_predictionsbool,默认为 False
在 fit 中保存集成成员的训练预测,用于 _get_train_probs 留一法交叉验证。
- n_jobsint,默认为 1
fit 和 predict 并行运行的作业数量。-1 表示使用所有处理器。
- random_stateint 或 None,默认为 None
随机数生成的种子。
- 属性:
- n_classes_int
类别数量。
- classes_list
类别标签。
- n_instances_int
训练样本数量。
- n_dims_int
每个样本的维度数量。
- series_length_int
每个序列的长度。
- n_estimators_int
使用的最终分类器数量(<= max_ensemble_size)
- estimators_列表,形状为 (n_estimators),元素为 IndividualTDE
在 fit 中训练的估计器集合。
- weights_列表,形状为 (n_estimators),元素为 float
集成中每个估计器的权重。
注意
有关 Java 版本,请参阅 TSML。
参考文献
示例
>>> from sktime.classification.dictionary_based import TemporalDictionaryEnsemble >>> from sktime.datasets import load_unit_test >>> X_train, y_train = load_unit_test(split="train", return_X_y=True) >>> X_test, y_test = load_unit_test(split="test", return_X_y=True) >>> clf = TemporalDictionaryEnsemble( ... n_parameter_samples=10, ... max_ensemble_size=3, ... randomly_selected_params=5, ... ) >>> clf.fit(X_train, y_train) TemporalDictionaryEnsemble(...) >>> y_pred = clf.predict(X_test)
方法
check_is_fitted
([method_name])检查估计器是否已拟合。
clone
()获取与对象具有相同超参数和配置的克隆。
clone_tags
(estimator[, tag_names])从另一个对象克隆标签作为动态覆盖。
create_test_instance
([parameter_set])使用第一个测试参数集构造类的实例。
create_test_instances_and_names
([parameter_set])创建所有测试实例的列表及其名称列表。
fit
(X, y)将时间序列分类器拟合到训练数据。
fit_predict
(X, y[, cv, change_state])拟合并预测 X 中序列的标签。
fit_predict_proba
(X, y[, cv, change_state])拟合并预测 X 中序列的标签概率。
get_class_tag
(tag_name[, tag_value_default])从类中获取类标签值,并继承父类的标签级别。
从类中获取类标签,并继承父类的标签级别。
获取自身的配置标志。
get_fitted_params
([deep])获取已拟合参数。
获取对象的参数默认值。
get_param_names
([sort])获取对象的参数名称。
get_params
([deep])获取此对象的参数值字典。
get_tag
(tag_name[, tag_value_default, ...])从实例获取标签值,包括标签级别继承和覆盖。
get_tags
()从实例获取标签,包括标签级别继承和覆盖。
get_test_params
([parameter_set])返回估计器的测试参数设置。
检查对象是否由其他 BaseObjects 组成。
load_from_path
(serial)从文件位置加载对象。
load_from_serial
(serial)从序列化内存容器加载对象。
predict
(X)预测 X 中序列的标签。
预测 X 中序列的标签概率。
reset
()将对象重置到干净的初始化后状态。
save
([path, serialization_format])将序列化的自身保存到类字节对象或 (.zip) 文件。
score
(X, y)评估 X 上预测标签与真实标签的得分。
set_config
(**config_dict)将配置标志设置为给定值。
set_params
(**params)设置此对象的参数。
set_random_state
([random_state, deep, ...])为自身设置 random_state 伪随机种子参数。
set_tags
(**tag_dict)将实例级别的标签覆盖设置为给定值。
- classmethod get_test_params(parameter_set='default')[source]#
返回估计器的测试参数设置。
- 参数:
- parameter_setstr,默认为“default”
要返回的测试参数集的名称,用于测试。如果未为某个值定义特殊参数,将返回“default”集。对于分类器,应提供一组“default”参数用于通用测试,如果通用集未产生适合比较的概率,则提供一组“results_comparison”用于与先前记录的结果进行比较。
- 返回:
- paramsdict 或 list of dict,默认为 {}
用于创建类测试实例的参数。每个 dict 都是构造“有趣”测试实例的参数,即
MyClass(**params)
或MyClass(**params[i])
创建有效的测试实例。create_test_instance
使用params
中的第一个(或唯一的)字典。
- check_is_fitted(method_name=None)[source]#
检查估计器是否已拟合。
检查
_is_fitted
属性是否存在且为True
。is_fitted
属性应在调用对象的fit
方法时设置为True
。如果不是,则引发
NotFittedError
。- 参数:
- method_namestr,可选
调用此函数的方法的名称。如果提供,错误消息将包含此信息。
- 引发:
- NotFittedError
如果估计器尚未拟合。
- clone()[source]#
获取与对象具有相同超参数和配置的克隆。
克隆是一个不同的对象,没有共享引用,处于初始化后状态。此函数等效于返回自身的
sklearn.clone
。等效于使用自身的参数构造
type(self)
的新实例,即type(self)(**self.get_params(deep=False))
。如果在自身上设置了配置,则克隆也将具有与原始对象相同的配置,等效于调用
cloned_self.set_config(**self.get_config())
。其值也等效于调用
self.reset
,不同之处在于clone
返回一个新对象,而不是像reset
那样修改自身。- 引发:
- 如果克隆不符合要求(由于
__init__
故障),则引发 RuntimeError。
- 如果克隆不符合要求(由于
- clone_tags(estimator, tag_names=None)[source]#
从另一个对象克隆标签作为动态覆盖。
每个与
scikit-base
兼容的对象都有一个标签字典。标签可用于存储有关对象的元数据,或控制对象的行为。标签是特定于实例自身的键值对,它们是静态标志,在对象构造后不会更改。
clone_tags
从另一个对象estimator
设置动态标签覆盖。clone_tags
方法只能在对象的__init__
方法中调用,在构造期间,或直接在构造后通过__init__
调用。动态标签被设置为
estimator
中标签的值,名称由tag_names
指定。tag_names
的默认值将estimator
中的所有标签写入自身。当前标签值可以通过
get_tags
或get_tag
检查。- 参数:
- estimator:class:BaseObject 或派生类的实例
- tag_namesstr 或 list of str,默认为 None
要克隆的标签名称。默认值 (
None
) 克隆estimator
中的所有标签。
- 返回:
- self
自身的引用。
- classmethod create_test_instance(parameter_set='default')[source]#
使用第一个测试参数集构造类的实例。
- 参数:
- parameter_setstr,默认为“default”
要返回的测试参数集的名称,用于测试。如果未为某个值定义特殊参数,将返回“default”集。
- 返回:
- instance具有默认参数的类实例
- classmethod create_test_instances_and_names(parameter_set='default')[source]#
创建所有测试实例的列表及其名称列表。
- 参数:
- parameter_setstr,默认为“default”
要返回的测试参数集的名称,用于测试。如果未为某个值定义特殊参数,将返回“default”集。
- 返回:
- objscls 实例列表
第 i 个实例为
cls(**cls.get_test_params()[i])
- namesstr 列表,与 objs 长度相同
第 i 个元素是测试中第 i 个 obj 实例的名称。如果实例多于一个,命名约定为
{cls.__name__}-{i}
,否则为{cls.__name__}
。
- fit(X, y)[source]#
将时间序列分类器拟合到训练数据。
- 状态变化
将状态更改为“fitted”。
- 写入自身
将 self.is_fitted 设置为 True。设置以“_”结尾的已拟合模型属性。
- 参数:
- XPanel scitype 的 sktime 兼容时间序列面板数据容器
用于拟合估计器的时间序列。
可以是
Panel
scitype 的任何 mtype,例如pd-multiindex:pd.DataFrame,列为变量,索引为 pd.MultiIndex,第一级为实例索引,第二级为时间索引
numpy3D:形状为 [n_instances, n_dimensions, series_length] 的 3D np.array(任意维数,等长序列)
或任何其他支持的
Panel
mtype
mtypes 列表,请参阅
datatypes.SCITYPE_REGISTER
规范,请参阅
examples/AA_datatypes_and_datasets.ipynb
并非所有估计器都支持具有多变量或不等长序列的面板,详情请参阅标签参考。
- ysktime 兼容的表格数据容器,Table scitype
1D 可迭代对象,形状为 [n_instances] 或 2D 可迭代对象,形状为 [n_instances, n_dimensions],用于拟合的类别标签。第 0 个索引对应于 X 中的实例索引,第 1 个索引(如果适用)对应于 X 中的多输出向量索引。支持的 sktime 类型:np.ndarray (1D, 2D)、pd.Series、pd.DataFrame
- 返回:
- self自身的引用。
- fit_predict(X, y, cv=None, change_state=True)[source]#
拟合并预测 X 中序列的标签。
生成样本内预测和交叉验证样本外预测的便利方法。
- 如果 change_state=True,则写入自身
将 self.is_fitted 设置为 True。设置以“_”结尾的已拟合模型属性。
如果 change_state=False,则不更新状态。
- 参数:
- XPanel scitype 的 sktime 兼容时间序列面板数据容器
用于拟合和预测标签的时间序列。
可以是
Panel
scitype 的任何 mtype,例如pd-multiindex:pd.DataFrame,列为变量,索引为 pd.MultiIndex,第一级为实例索引,第二级为时间索引
numpy3D:形状为 [n_instances, n_dimensions, series_length] 的 3D np.array(任意维数,等长序列)
或任何其他支持的
Panel
mtype
mtypes 列表,请参阅
datatypes.SCITYPE_REGISTER
规范,请参阅
examples/AA_datatypes_and_datasets.ipynb
并非所有估计器都支持具有多变量或不等长序列的面板,详情请参阅标签参考。
- ysktime 兼容的表格数据容器,Table scitype
1D 可迭代对象,形状为 [n_instances] 或 2D 可迭代对象,形状为 [n_instances, n_dimensions],用于拟合的类别标签。第 0 个索引对应于 X 中的实例索引,第 1 个索引(如果适用)对应于 X 中的多输出向量索引。支持的 sktime 类型:np.ndarray (1D, 2D)、pd.Series、pd.DataFrame
- cvNone、int 或 sklearn 交叉验证对象,可选,默认为 None
None:预测为样本内,等效于
fit(X, y).predict(X)
cv:预测等效于
fit(X_train, y_train).predict(X_test)
,其中X_train
、y_train
、X_test
从cv
折叠中获取。返回的y
是所有测试折叠预测的并集,cv
测试折叠必须不相交int:等效于
cv=KFold(cv, shuffle=True, random_state=x)
,即 k 折交叉验证样本外预测,其中random_state
x
如果存在则取自自身,否则x=None
- change_statebool,可选(默认为 True)
如果为 False,则不会更改分类器的状态,即 fit/predict 序列使用副本运行,自身不改变
如果为 True,则将自身拟合到完整的 X 和 y,结束状态将等效于运行 fit(X, y)
- 返回:
- y_predsktime 兼容的表格数据容器,Table scitype
预测的类别标签
1D 可迭代对象,形状为 [n_instances],或 2D 可迭代对象,形状为 [n_instances, n_dimensions]。
第 0 个索引对应于 X 中的实例索引,第 1 个索引(如果适用)对应于 X 中的多输出向量索引。
1D np.npdarray,如果 y 是单变量(一维);否则,与 fit 中传递的 y 类型相同
- fit_predict_proba(X, y, cv=None, change_state=True)[source]#
拟合并预测 X 中序列的标签概率。
生成样本内预测和交叉验证样本外预测的便利方法。
- 如果 change_state=True,则写入自身
将 self.is_fitted 设置为 True。设置以“_”结尾的已拟合模型属性。
如果 change_state=False,则不更新状态。
- 参数:
- XPanel scitype 的 sktime 兼容时间序列面板数据容器
用于拟合和预测标签的时间序列。
可以是
Panel
scitype 的任何 mtype,例如pd-multiindex:pd.DataFrame,列为变量,索引为 pd.MultiIndex,第一级为实例索引,第二级为时间索引
numpy3D:形状为 [n_instances, n_dimensions, series_length] 的 3D np.array(任意维数,等长序列)
或任何其他支持的
Panel
mtype
mtypes 列表,请参阅
datatypes.SCITYPE_REGISTER
规范,请参阅
examples/AA_datatypes_and_datasets.ipynb
并非所有估计器都支持具有多变量或不等长序列的面板,详情请参阅标签参考。
- ysktime 兼容的表格数据容器,Table scitype
1D 可迭代对象,形状为 [n_instances] 或 2D 可迭代对象,形状为 [n_instances, n_dimensions],用于拟合的类别标签。第 0 个索引对应于 X 中的实例索引,第 1 个索引(如果适用)对应于 X 中的多输出向量索引。支持的 sktime 类型:np.ndarray (1D, 2D)、pd.Series、pd.DataFrame
- cvNone、int 或 sklearn 交叉验证对象,可选,默认为 None
None:预测为样本内,等效于
fit(X, y).predict(X)
cv:预测等效于
fit(X_train, y_train).predict(X_test)
,其中X_train
、y_train
、X_test
从cv
折叠中获取。返回的y
是所有测试折叠预测的并集,cv
测试折叠必须不相交int:等效于
cv=KFold(cv, shuffle=True, random_state=x)
,即 k 折交叉验证样本外预测,其中random_state
x
如果存在则取自自身,否则x=None
- change_statebool,可选(默认为 True)
如果为 False,则不会更改分类器的状态,即 fit/predict 序列使用副本运行,自身不改变
如果为 True,则将自身拟合到完整的 X 和 y,结束状态将等效于运行 fit(X, y)
- 返回:
- y_pred形状为 [n_instances, n_classes] 的 2D np.array (int 类型)
预测的类别标签概率。第 0 个索引对应于 X 中的实例索引,第 1 个索引对应于类别索引,顺序与 self.classes_ 中的顺序相同。条目为预测的类别概率,总和为 1。
- classmethod get_class_tag(tag_name, tag_value_default=None)[source]#
从类中获取类标签值,并继承父类的标签级别。
每个与
scikit-base
兼容的对象都有一个标签字典,用于存储有关对象的元数据。get_class_tag
方法是一个类方法,仅考虑类级别的标签值和覆盖来检索标签的值。它从对象返回名称为
tag_name
的标签值,考虑标签覆盖,按以下优先级降序排列:在类的
_tags
属性中设置的标签。在父类的
_tags
属性中设置的标签,
按继承顺序。
不考虑通过
set_tags
或clone_tags
在实例上设置的动态标签覆盖。要检索可能包含实例覆盖的标签值,请改用
get_tag
方法。- 参数:
- tag_namestr
标签值的名称。
- tag_value_default任意类型
如果未找到标签,则为默认/回退值。
- 返回:
- tag_value
自身中
tag_name
标签的值。如果未找到,则返回tag_value_default
。
- classmethod get_class_tags()[source]#
从类中获取类标签,并继承父类的标签级别。
每个与
scikit-base
兼容的对象都有一个标签字典。标签可用于存储有关对象的元数据,或控制对象的行为。标签是特定于实例自身的键值对,它们是静态标志,在对象构造后不会更改。
get_class_tags
方法是一个类方法,仅考虑类级别的标签值和覆盖来检索标签的值。它返回一个字典,其键是类或其任何父类中设置的任何
_tags
属性的键。值是相应的标签值,覆盖按以下优先级降序排列:
在类的
_tags
属性中设置的标签。在父类的
_tags
属性中设置的标签,
按继承顺序。
实例可以根据超参数覆盖这些标签。
要检索可能包含实例覆盖的标签,请改用
get_tags
方法。不考虑通过
set_tags
或clone_tags
在实例上设置的动态标签覆盖。要包含来自动态标签的覆盖,请使用
get_tags
。- collected_tagsdict
标签名称 : 标签值对的字典。通过嵌套继承从
_tags
类属性收集。不被通过set_tags
或clone_tags
设置的动态标签覆盖。
- get_config()[source]#
获取自身的配置标志。
Configs 是自身的键值对,通常用作控制行为的瞬时标志。
get_config
返回动态配置,它会覆盖默认配置。默认配置在类或其父类的类属性
_config
中设置,并被通过set_config
设置的动态配置覆盖。Configs 在
clone
或reset
调用时被保留。- 返回:
- config_dictdict
配置名称 : 配置值对的字典。通过嵌套继承从 _config 类属性收集,然后从 _onfig_dynamic 对象属性中获取任何覆盖和新标签。
- get_fitted_params(deep=True)[source]#
获取已拟合参数。
- 所需状态
要求状态为“fitted”。
- 参数:
- deepbool,默认为 True
是否返回组件的拟合参数。
如果为 True,将返回此对象的参数名称 : 值字典,包括可拟合组件(= BaseEstimator 值的参数)的拟合参数。
如果为 False,将返回此对象的参数名称 : 值字典,但不包含组件的拟合参数。
- 返回:
- fitted_params键为 str 类型值的字典
拟合参数字典,paramname : paramvalue 键值对包括
总是:此对象的所有拟合参数,通过
get_param_names
获取。值是该键对应的此对象的拟合参数值如果
deep=True
,还包含组件参数的键/值对。组件的参数索引为[componentname]__[paramname]
,componentname
的所有参数都以paramname
及其值的形式出现如果
deep=True
,还包含任意级别的组件递归,例如[componentname]__[componentcomponentname]__[paramname]
等。
- classmethod get_param_defaults()[source]#
获取对象的参数默认值。
- 返回:
- default_dict: dict[str, Any]
键是
cls
中在__init__
中定义了默认值的所有参数。值是在__init__
中定义的默认值。
- classmethod get_param_names(sort=True)[source]#
获取对象的参数名称。
- 参数:
- sortbool,默认为 True
是按字母顺序返回参数名称 (True),还是按它们在类
__init__
中出现的顺序返回 (False)。
- 返回:
- param_names: list[str]
cls
的参数名称列表。如果sort=False
,则按它们在类__init__
中出现的相同顺序排列。如果sort=True
,则按字母顺序排列。
- get_params(deep=True)[source]#
获取此对象的参数值字典。
- 参数:
- deepbool,默认为 True
是否返回组件的参数。
如果为
True
,将返回此对象的参数名称 : 值字典,包括组件(=BaseObject
值的参数)的参数。如果为
False
,将返回此对象的参数名称 : 值字典,但不包含组件的参数。
- 返回:
- params键为 str 类型值的字典
参数字典,paramname : paramvalue 键值对包括
总是:此对象的所有参数,通过
get_param_names
获取。值是该键对应的此对象的参数值,这些值始终与构造时传递的值相同如果
deep=True
,还包含组件参数的键/值对。组件的参数索引为[componentname]__[paramname]
,componentname
的所有参数都以paramname
及其值的形式出现如果
deep=True
,还包含任意级别的组件递归,例如[componentname]__[componentcomponentname]__[paramname]
等。
- get_tag(tag_name, tag_value_default=None, raise_error=True)[source]#
从实例获取标签值,包括标签级别继承和覆盖。
每个与
scikit-base
兼容的对象都有一个标签字典。标签可用于存储有关对象的元数据,或控制对象的行为。标签是特定于实例自身的键值对,它们是静态标志,在对象构造后不会更改。
`get_tag` 方法从实例中检索单个名为 `tag_name` 的标签的值,同时考虑标签覆盖,优先级从高到低如下:
通过实例上的 `set_tags` 或 `clone_tags` 设置的标签,
在实例构造时设置的标签。
在类的
_tags
属性中设置的标签。在父类的
_tags
属性中设置的标签,
按继承顺序。
- 参数:
- tag_namestr
要检索的标签名称
- tag_value_default任意类型,可选;默认值=None
如果未找到标签时的默认/备用值
- raise_errorbool
未找到标签时是否引发 `ValueError`
- 返回:
- tag_valueAny
`self` 中 `tag_name` 标签的值。如果未找到,并且 `raise_error` 为 True,则引发错误,否则返回 `tag_value_default`。
- 引发:
- 如果 `raise_error` 为 `True`,则引发 ValueError。
如果 `tag_name` 不在 `self.get_tags().keys()` 中,则会引发 `ValueError`。
- get_tags()[source]#
从实例获取标签,包括标签级别继承和覆盖。
每个与
scikit-base
兼容的对象都有一个标签字典。标签可用于存储有关对象的元数据,或控制对象的行为。标签是特定于实例自身的键值对,它们是静态标志,在对象构造后不会更改。
`get_tags` 方法返回一个标签字典,其键可以是类或其任何父类中设置的任何 `_tags` 属性的键,也可以是通过 `set_tags` 或 `clone_tags` 设置的标签。
值是相应的标签值,覆盖按以下优先级降序排列:
通过实例上的 `set_tags` 或 `clone_tags` 设置的标签,
在实例构造时设置的标签。
在类的
_tags
属性中设置的标签。在父类的
_tags
属性中设置的标签,
按继承顺序。
- 返回:
- collected_tagsdict
标签名称 : 标签值对的字典。通过嵌套继承从 `_tags` 类属性收集,然后从 `_tags_dynamic` 对象属性收集任何覆盖和新标签。
- is_composite()[source]#
检查对象是否由其他 BaseObjects 组成。
组合对象是包含其他对象作为参数的对象。在实例上调用此方法,因为这可能因实例而异。
- 返回:
- composite: bool
对象是否有任何参数的值是 `BaseObject` 的后代实例。
- property is_fitted[source]#
`fit` 是否已被调用。
检查对象的 `_is_fitted` 属性,该属性应在对象构造期间初始化为 `False`,并在调用对象的 `fit` 方法时设置为 `True`。
- 返回:
- bool
该估计器是否已 `fit` (拟合)。
- classmethod load_from_path(serial)[source]#
从文件位置加载对象。
- 参数:
- serialZipFile(path).open(“object) 的结果
- 返回:
- 解序列化的 self,结果存储在 `path` 处,由 `cls.save(path)` 产生
- classmethod load_from_serial(serial)[source]#
从序列化内存容器加载对象。
- 参数:
- serial`cls.save(None)` 输出的第一个元素
- 返回:
- 解序列化的 self,结果为 `serial`,由 `cls.save(None)` 产生
- predict(X)[source]#
预测 X 中序列的标签。
- 参数:
- XPanel scitype 的 sktime 兼容时间序列面板数据容器
用于预测标签的时间序列。
可以是
Panel
scitype 的任何 mtype,例如pd-multiindex:pd.DataFrame,列为变量,索引为 pd.MultiIndex,第一级为实例索引,第二级为时间索引
numpy3D:形状为 [n_instances, n_dimensions, series_length] 的 3D np.array(任意维数,等长序列)
或任何其他支持的
Panel
mtype
mtypes 列表,请参阅
datatypes.SCITYPE_REGISTER
规范,请参阅
examples/AA_datatypes_and_datasets.ipynb
并非所有估计器都支持具有多变量或不等长序列的面板,详情请参阅标签参考。
- 返回:
- y_predsktime 兼容的表格数据容器,Table scitype
预测的类别标签
1D 可迭代对象,形状为 [n_instances],或 2D 可迭代对象,形状为 [n_instances, n_dimensions]。
第 0 个索引对应于 X 中的实例索引,第 1 个索引(如果适用)对应于 X 中的多输出向量索引。
1D np.npdarray,如果 y 是单变量(一维);否则,与 fit 中传递的 y 类型相同
- predict_proba(X)[source]#
预测 X 中序列的标签概率。
- 参数:
- XPanel scitype 的 sktime 兼容时间序列面板数据容器
用于预测标签的时间序列。
可以是
Panel
scitype 的任何 mtype,例如pd-multiindex:pd.DataFrame,列为变量,索引为 pd.MultiIndex,第一级为实例索引,第二级为时间索引
numpy3D:形状为 [n_instances, n_dimensions, series_length] 的 3D np.array(任意维数,等长序列)
或任何其他支持的
Panel
mtype
mtypes 列表,请参阅
datatypes.SCITYPE_REGISTER
规范,请参阅
examples/AA_datatypes_and_datasets.ipynb
并非所有估计器都支持具有多变量或不等长序列的面板,详情请参阅标签参考。
- 返回:
- y_pred形状为 [n_instances, n_classes] 的 2D np.array (int 类型)
预测的类别标签概率,第 0 个索引对应于 X 中的实例索引,第 1 个索引对应于类别索引,顺序与 self.classes_ 中的顺序相同,条目是预测的类别概率,总和为 1
- reset()[source]#
将对象重置到干净的初始化后状态。
将 `self` 设置为构造函数调用后直接所处的状态,具有相同的超参数。通过 `set_config` 设置的配置值也会保留。
`reset` 调用会删除任何对象属性,除了
超参数 = `__init__` 的参数,写入 `self`,例如 `self.paramname`,其中 `paramname` 是 `__init__` 的参数
包含双下划线的对象属性,即字符串 “__”。例如,名为 “__myattr” 的属性会被保留。
配置属性,配置会保留不变。也就是说,`reset` 前后 `get_config` 的结果是相等的。
类方法、对象方法和类属性也不受影响。
等同于 `clone`,不同之处在于 `reset` 会修改 `self` 而不是返回一个新对象。
在调用 `self.reset()` 后,`self` 在值和状态上等同于构造函数调用 `type(self)(**self.get_params(deep=False))` 后获得的对象。
- 返回:
- self
类实例重置为干净的初始化后状态,但保留当前的超参数值。
- save(path=None, serialization_format='pickle')[source]#
将序列化的自身保存到类字节对象或 (.zip) 文件。
行为:如果 `path` 为 None,返回一个内存中的序列化 self;如果 `path` 是文件位置,则将 self 存储在该位置作为 zip 文件
保存的文件是 zip 文件,包含以下内容:_metadata - 包含 self 的类,即 type(self);_obj - 序列化的 self。此类别使用默认序列化方式 (pickle)。
- 参数:
- pathNone 或文件位置 (str 或 Path)
如果为 None,self 将保存到内存对象;如果是文件位置,self 将保存到该文件位置。如果
path=”estimator”,则将在当前工作目录创建 `estimator.zip` zip 文件。
path=”/home/stored/estimator”,则 `estimator.zip` zip 文件将
存储在 `/home/stored/` 中。
- serialization_format: str, 默认值 = “pickle”
用于序列化的模块。可用选项为 “pickle” 和 “cloudpickle”。请注意,非默认格式可能需要安装其他软依赖项。
- 返回:
- 如果 `path` 为 None - 内存中的序列化 self
- 如果 `path` 是文件位置 - ZipFile 对象,引用该文件
- score(X, y) float [source]#
评估 X 上预测标签与真实标签的得分。
- 参数:
- XPanel scitype 的 sktime 兼容时间序列面板数据容器
用于评分预测标签的时间序列。
可以是
Panel
scitype 的任何 mtype,例如pd-multiindex:pd.DataFrame,列为变量,索引为 pd.MultiIndex,第一级为实例索引,第二级为时间索引
numpy3D:形状为 [n_instances, n_dimensions, series_length] 的 3D np.array(任意维数,等长序列)
或任何其他支持的
Panel
mtype
mtypes 列表,请参阅
datatypes.SCITYPE_REGISTER
规范,请参阅
examples/AA_datatypes_and_datasets.ipynb
并非所有估计器都支持具有多变量或不等长序列的面板,详情请参阅标签参考。
- ysktime 兼容的表格数据容器,Table scitype
1D 可迭代对象,形状为 [n_instances] 或 2D 可迭代对象,形状为 [n_instances, n_dimensions],用于拟合的类别标签。第 0 个索引对应于 X 中的实例索引,第 1 个索引(如果适用)对应于 X 中的多输出向量索引。支持的 sktime 类型:np.ndarray (1D, 2D)、pd.Series、pd.DataFrame
- 返回:
- float,predict(X) 与 y 相比的准确率得分
- set_config(**config_dict)[source]#
将配置标志设置为给定值。
- 参数:
- config_dictdict
配置名称 : 配置值对的字典。有效的配置、值及其含义如下所示
- displaystr,“diagram”(默认)或“text”
jupyter kernel 如何显示 self 的实例
“diagram” = html 框图表示
“text” = 字符串打印输出
- print_changed_onlybool, 默认值=True
打印 self 时,是否只列出与默认值不同的参数 (True),或列出所有参数名称和值 (False)。不进行嵌套,即只影响 self 而不影响组件估计器。
- warningsstr,“on”(默认)或“off”
是否触发警告,仅影响来自 sktime 的警告
“on” = 将触发来自 sktime 的警告
“off” = 不会触发来自 sktime 的警告
- backend:parallelstr,可选,默认值=”None”
广播/向量化时用于并行处理的后端,以下之一
“None”:顺序执行循环,简单的列表推导式
“loky”、“multiprocessing” 和 “threading”:使用 `joblib.Parallel`
“joblib”:自定义和第三方 `joblib` 后端,例如 `spark`
“dask”:使用 `dask`,需要在环境中安装 `dask` 包
“ray”:使用 `ray`,需要在环境中安装 `ray` 包
- backend:parallel:paramsdict,可选,默认值={}(不传递参数)
作为配置传递给并行后端附加参数。有效键取决于 `backend:parallel` 的值
“None”:没有附加参数,`backend_params` 被忽略
“loky”、“multiprocessing” 和 “threading”:默认 `joblib` 后端,可以在此处传递 `joblib.Parallel` 的任何有效键,例如 `n_jobs`,除了 `backend`,它由 `backend` 直接控制。如果未传递 `n_jobs`,则默认为 `-1`,其他参数将默认为 `joblib` 的默认值。
“joblib”:自定义和第三方 `joblib` 后端,例如 `spark`。可以在此处传递 `joblib.Parallel` 的任何有效键,例如 `n_jobs`,`backend` 在此情况下必须作为 `backend_params` 的键传递。如果未传递 `n_jobs`,则默认为 `-1`,其他参数将默认为 `joblib` 的默认值。
“dask”:可以传递 `dask.compute` 的任何有效键,例如 `scheduler`
“ray”:可以传递以下键
“ray_remote_args”:`ray.init` 有效键的字典
- “shutdown_ray”:bool,默认值=True;False 可防止 `ray` 在并行化后
关闭。
“logger_name”:str,默认值=”ray”;要使用的日志记录器名称。
“mute_warnings”:bool,默认值=False;如果为 True,则抑制警告
- 返回:
- self对 self 的引用。
注意
更改对象状态,将 config_dict 中的配置复制到 self._config_dynamic。
- set_params(**params)[source]#
设置此对象的参数。
该方法适用于简单的 skbase 对象以及组合对象。对于组合对象(即包含其他对象的对象),可以使用参数键字符串 `
__ ` 来访问组件 ` ` 中的 ` `。如果不使引用产生歧义(例如,没有两个组件参数同名为 ` `),也可以使用不带 ` __` 的字符串 ` `。 - 参数:
- **paramsdict
BaseObject 参数,键必须是 `
__ ` 字符串。如果 `__` 后缀在 get_params 键中唯一,则可以作为完整字符串的别名。
- 返回:
- self对 self 的引用(设置参数后)
- set_random_state(random_state=None, deep=True, self_policy='copy')[source]#
为自身设置 random_state 伪随机种子参数。
通过 `self.get_params` 找到名为 `random_state` 的参数,并将其设置为使用 `sample_dependent_seed` 通过链式哈希从 `random_state` 派生出的整数。这些整数保证了有种子随机生成器的伪随机独立性。
根据 `self_policy` 应用于 `self` 中的 `random_state` 参数,并且仅当 `deep=True` 时应用于其余组件对象。
注意:即使 `self` 没有 `random_state` 参数,或者没有任何组件具有 `random_state` 参数,也会调用 `set_params`。因此,`set_random_state` 将重置任何 scikit-base 对象,即使是没有 `random_state` 参数的对象。
- 参数:
- random_stateint, RandomState 实例或 None, 默认值=None
伪随机数生成器,用于控制随机整数的生成。传递 int 可在多次函数调用中获得可复现的输出。
- deepbool,默认为 True
是否在值为 skbase 对象的参数中设置随机状态,即组件估计器中。
如果为 False,将只设置 `self` 的 `random_state` 参数(如果存在)。
如果为 True,也将设置组件对象中的 `random_state` 参数。
- self_policystr,以下之一 {“copy”, “keep”, “new”}, 默认值=”copy”
“copy” : `self.random_state` 设置为输入的 `random_state`
“keep” : `self.random_state` 保持不变
“new” : `self.random_state` 设置为一个新的随机状态,
从输入的 `random_state` 派生,并且通常与输入的不同
- 返回:
- self对 self 的引用
- set_tags(**tag_dict)[source]#
将实例级别的标签覆盖设置为给定值。
每个与
scikit-base
兼容的对象都有一个标签字典,用于存储有关对象的元数据。标签是特定于实例 `self` 的键值对,它们是静态标志,在对象构造后不会更改。它们可用于元数据检查或控制对象的行为。
`set_tags` 将动态标签覆盖设置为 `tag_dict` 中指定的值,其中键为标签名称,字典值为要设置的标签值。
`set_tags` 方法只能在对象的 `__init__` 方法中、构造期间,或通过 `__init__` 构造后直接调用。
当前标签值可以通过
get_tags
或get_tag
检查。- 参数:
- **tag_dictdict
标签名称 : 标签值对的字典。
- 返回:
- Self
对 self 的引用。