svm_classifier#

支持向量机分类器。

模块内容#

类摘要#

SVMClassifier

支持向量机分类器。

目录#

class evalml.pipelines.components.estimators.classifiers.svm_classifier.SVMClassifier(C=1.0, kernel='rbf', gamma='auto', probability=True, random_seed=0, **kwargs)[源]#

支持向量机分类器。

参数
  • C (float) – 正则化参数。正则化的强度与 C 成反比。必须是严格正数。惩罚项是平方 l2 惩罚。默认为 1.0。

  • kernel ({"poly", "rbf", "sigmoid"}) – 指定算法中使用的核类型。默认为“rbf”。

  • gamma ({"scale", "auto"}float) – “rbf”、“poly”和“sigmoid”的核系数。默认为“auto”。 - 如果传递 gamma='scale',则使用 1 / (n_features * X.var()) 作为 gamma 的值 - 如果是“auto”(默认),则使用 1 / n_features

  • probability (boolean) – 是否启用概率估计。默认为 True。

  • random_seed (int) – 随机数生成器的种子。默认为 0。

属性

hyperparameter_ranges

{ “C”: Real(0, 10), “kernel”: [“poly”, “rbf”, “sigmoid”], “gamma”: [“scale”, “auto”],}

model_family

ModelFamily.SVM

modifies_features

True

modifies_target

False

name

SVM 分类器

supported_problem_types

[ ProblemTypes.BINARY, ProblemTypes.MULTICLASS, ProblemTypes.TIME_SERIES_BINARY, ProblemTypes.TIME_SERIES_MULTICLASS,]

training_only

False

方法

clone

使用相同的参数和随机状态构造新组件。

default_parameters

返回此组件的默认参数。

describe

描述组件及其参数。

feature_importance

特征重要性仅适用于线性核。

fit

将估计器拟合到数据。

get_prediction_intervals

使用已拟合的回归器查找预测区间。

load

从文件路径加载组件。

needs_fitting

返回布尔值,确定组件在调用 predict、predict_proba、transform 或 feature_importances 之前是否需要拟合。

parameters

返回用于初始化组件的参数。

predict

使用选定的特征进行预测。

predict_proba

对标签进行概率估计。

save

将组件保存到文件路径。

update_parameters

更新组件的参数字典。

clone(self)#

使用相同的参数和随机状态构造新组件。

返回

此组件的新实例,具有相同的参数和随机状态。

default_parameters(cls)#

返回此组件的默认参数。

我们的约定是 Component.default_parameters == Component().parameters。

返回

此组件的默认参数。

返回类型

dict

describe(self, print_name=False, return_dict=False)#

描述组件及其参数。

参数
  • print_name (bool, 可选) – 是否打印组件名称

  • return_dict (bool, 可选) – 是否将描述作为字典返回,格式为 {“name”: name, “parameters”: parameters}

返回

如果 return_dict 为 True 则返回字典,否则返回 None。

返回类型

None or dict

属性 feature_importance(self)#

特征重要性仅适用于线性核。

如果核不是线性的,我们返回一个零的 numpy 数组。

返回

已拟合 SVM 分类器的特征重要性,如果核不是线性的,则返回一个零的 numpy 数组。

fit(self, X: pandas.DataFrame, y: Optional[pandas.Series] = None)#

将估计器拟合到数据。

参数
  • X (pd.DataFrame) – 输入训练数据,形状为 [n_samples, n_features]。

  • y (pd.Series, 可选) – 目标训练数据,长度为 [n_samples]。

返回

self

get_prediction_intervals(self, X: pandas.DataFrame, y: Optional[pandas.Series] = None, coverage: List[float] =None, predictions: pandas.Series =None) Dict[str, pandas.Series]#

使用已拟合的回归器查找预测区间。

此函数获取已拟合估计器的预测值,并使用窗口大小为 5 计算所有预测值的滚动标准差。通过将每个边界处下尾概率的百分点(分位数)函数乘以滚动标准差来确定下限和上限预测值。

参数
  • X (pd.DataFrame) – 数据,形状为 [n_samples, n_features]。

  • y (pd.Series) – 目标数据。忽略。

  • coverage (list[float]) – 一个包含 0 到 1 之间的浮点数的列表,用于计算预测区间的上限和下限。

  • predictions (pd.Series) – 要使用的可选预测列表。如果为 None,将使用 X 生成预测。

返回

预测区间,键的格式为 {coverage}_lower 或 {coverage}_upper。

返回类型

dict

引发

MethodPropertyNotFoundError – 如果估计器不支持时间序列回归作为问题类型。

静态 load(file_path)#

从文件路径加载组件。

参数

file_path (str) – 加载文件的位置。

返回

ComponentBase object

needs_fitting(self)#

返回布尔值,确定组件在调用 predict、predict_proba、transform 或 feature_importances 之前是否需要拟合。

对于不需要拟合或其 fit 方法不执行任何操作的组件,可以将其覆盖为 False。

返回

True。

属性 parameters(self)#

返回用于初始化组件的参数。

predict(self, X: pandas.DataFrame) pandas.Series#

使用选定的特征进行预测。

参数

X (pd.DataFrame) – 数据,形状为 [n_samples, n_features]。

返回

预测值。

返回类型

pd.Series

引发

MethodPropertyNotFoundError – 如果估计器没有 predict 方法或没有实现 predict 的 component_obj。

predict_proba(self, X: pandas.DataFrame) pandas.Series#

对标签进行概率估计。

参数

X (pd.DataFrame) – 特征。

返回

概率估计。

返回类型

pd.Series

引发

MethodPropertyNotFoundError – 如果估计器没有 predict_proba 方法或没有实现 predict_proba 的 component_obj。

save(self, file_path, pickle_protocol=cloudpickle.DEFAULT_PROTOCOL)#

将组件保存到文件路径。

参数
  • file_path (str) – 保存文件的位置。

  • pickle_protocol (int) – pickle 数据流格式。

update_parameters(self, update_dict, reset_fit=True)#

更新组件的参数字典。

参数
  • update_dict (dict) – 要更新的参数字典。

  • reset_fit (bool, 可选) – 如果为 True,将把 _is_fitted 设置为 False。