kneighbors_classifier#

K-近邻分类器。

模块内容#

类摘要#

KNeighborsClassifier

K-近邻分类器。

内容#

class evalml.pipelines.components.estimators.classifiers.kneighbors_classifier.KNeighborsClassifier(n_neighbors=5, weights='uniform', algorithm='auto', leaf_size=30, p=2, random_seed=0, **kwargs)[source]#

K-近邻分类器。

参数
  • n_neighbors (int) – 默认使用的邻居数量。默认为 5。

  • weights ({‘uniform’, ‘distance’}callable) –

    预测中使用的权重函数。可以是

    • ‘uniform’ : 均匀权重。每个邻域中的所有点权重相等。

    • ‘distance’ : 根据距离的倒数对点进行加权。在这种情况下,查询点附近更近的邻居将比更远的邻居产生更大的影响。

    • [callable] : 一个用户定义的函数,接受一个距离数组,并返回一个包含权重的相同形状的数组。

    默认为“uniform”。

  • algorithm ({‘auto’, ‘ball_tree’, ‘kd_tree’, ‘brute’}) –

    用于计算最近邻的算法

    • ‘ball_tree’ 将使用 BallTree

    • ‘kd_tree’ 将使用 KDTree

    • ‘brute’ 将使用暴力搜索。

    ‘auto’ 将尝试根据传递给 fit 方法的值来决定最合适的算法。默认为“auto”。注意:在稀疏输入上拟合会覆盖此参数的设置,使用暴力搜索。

  • leaf_size (int) – 传递给 BallTree 或 KDTree 的叶子大小。这会影响构建和查询的速度,以及存储树所需的内存。最佳值取决于问题的性质。默认为 30。

  • p (int) – Minkowski 度量的幂参数。当 p = 1 时,这等价于使用 manhattan_distance (l1),当 p = 2 时等价于使用 euclidean_distance (l2)。对于任意 p,使用 minkowski_distance (l_p)。默认为 2。

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

属性

hyperparameter_ranges

{ “n_neighbors”: Integer(2, 12), “weights”: [“uniform”, “distance”], “algorithm”: [“auto”, “ball_tree”, “kd_tree”, “brute”], “leaf_size”: Integer(10, 30), “p”: Integer(1, 5),}

model_family

ModelFamily.K_NEIGHBORS

modifies_features

True

modifies_target

False

name

KNN 分类器

supported_problem_types

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

training_only

False

方法

clone

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

default_parameters

返回此组件的默认参数。

describe

描述组件及其参数。

feature_importance

返回与输入特征数量匹配的由 0 组成的数组,因为 KNN 分类器未定义 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, optional) – 是否打印组件名称

  • return_dict (bool, optional) – 是否以字典格式 {“name”: name, “parameters”: parameters} 返回描述

返回

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

返回类型

None 或 dict

property feature_importance(self)#

返回与输入特征数量匹配的由 0 组成的数组,因为 KNN 分类器未定义 feature_importance。

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

将估计器拟合到数据。

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

  • y (pd.Series, optional) – 长度为 [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 – 如果估计器不支持时间序列回归作为问题类型。

static load(file_path)#

从文件路径加载组件。

参数

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

返回

ComponentBase 对象

needs_fitting(self)#

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

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

返回

True。

property parameters(self)#

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

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

使用选定特征进行预测。

参数

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

返回

预测值。

返回类型

pd.Series

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

对标签进行概率估计。

参数

X (pd.DataFrame) – 特征。

返回

概率估计。

返回类型

pd.Series

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, optional) – 如果为 True,将设置 _is_fitted 为 False。