KNeighborsClassifier()
方法是sklearn库中K近邻算法的分类器实现,它有一些可调参数用于调整模型的行为。以下是KNeighborsClassifier()
方法的可调参数及其可选类别及含义:
-
n_neighbors
:- 类型:整数(默认为5)
- 含义:指定K近邻算法中的K值,即要考虑的最近邻居的数量。
-
weights
:- 类型:字符串(可选值为’uniform’、‘distance’或自定义函数,默认为’uniform’)
- 含义:用于预测时计算邻居权重的策略。
- ‘uniform’:所有最近邻居的权重相等。
- ‘distance’:最近邻居的权重与其距离的倒数成反比。
- 自定义函数:可以传递自定义的函数用于计算权重。
-
algorithm
:- 类型:字符串(可选值为’auto’、‘ball_tree’、‘kd_tree’、‘brute’,默认为’auto’)
- 含义:用于K近邻搜索的算法。
- ‘auto’:根据数据维度选择最合适的算法(一般是’ball_tree’或’kd_tree’)。
- ‘ball_tree’:使用Ball Tree算法。
- ‘kd_tree’:使用KD Tree算法。
- ‘brute’:使用暴力搜索方法,适用于小规模数据集。
-
leaf_size
:- 类型:整数(默认为30)
- 含义:在使用Ball Tree或KD Tree算法时,叶子节点的大小。影响构建树的速度和内存占用。
-
p
:- 类型:整数(默认为2)
- 含义:用于Minkowski距离的指数参数。当
p=1
时,使用曼哈顿距离;当p=2
时,使用欧氏距离。
-
metric
:- 类型:字符串或可调用对象(默认为’minkowski’)
- 含义:用于计算邻居之间距离的度量标准。
- 默认情况下,当
p=2
时,使用欧氏距离,当p=1
时,使用曼哈顿距离。 - 可以传递自定义的距离度量函数,例如传递
metric='cosine'
来使用余弦距离。
- 默认情况下,当
-
metric_params
:- 类型:字典(默认为空)
- 含义:用于度量函数的附加参数。
-
n_jobs
:- 类型:整数或None(默认为None)
- 含义:用于近邻搜索的并行工作数。当为-1时,使用所有可用的CPU核心。