简单理解:
由那些离X最近的k个点来投票决定X归为哪一类。
sklearn.neighbors.KNeighborsClassifier(n_neighbors=5, weights=’uniform’, algorithm=’auto’, leaf_size=30,
p=2, metric=’minkowski’, metric_params=None, n_jobs=None, **kwargs)
参数注释:
1.n_neighbors:临近的节点数量,默认值是5
2. weights:权重,默认值是uniform
- uniform:表示每个数据点的权重是相同的;
- distance:权重点按其距离的倒数表示;
- callable:用户定义的函数,用于表示每个数据点的权重
- algorithm:用于计算最近邻居的算法,默认=‘auto’
- auto:根据值选择最合适的算法
- ball_tree:使用BallTree
- kd_tree:KDTree
- brute:使用Brute-Force查找
- leaf_size,默认为30
leaf_size传递给BallTree或者KDTree,表示构造树的大小,用于影响模型构建的速度和树需要的内存数量,最佳值是根据数据来确定的,默认值是30。
-
p,默认= 2
p参数用于设置Minkowski 距离的Power参数,当p=1时,等价于manhattan距离;当p=2等价于euclidean距离,当p>2时,就是Minkowski 距离。 -
metric:设置计算距离的方法,默认=‘minkowski’
p = 2等于标准欧几里德度量标准。 -
metric_paras:传递给计算距离方法的参数,默认=无
-
n_jobs:并发执行的job数量,默认=无
用于查找邻近的数据点。默认值1,-1表示使用所有处理器。
- 方法:
- fit(X,y)
- predict(X)
- score(X,y)
- kneighbors(X=None, n_neighbors=None, return_distance=True):返回样本点的k个邻近点,return_distance=True 同时返回到k个邻近点距离
遍历n确定超参数
class sklearn.neighbors.KNeighborsRegressor(n_neighbors=5, *, weights='uniform', algorithm='auto',
leaf_size=30, p=2, metric='minkowski', metric_params=None, n_jobs=None, **kwargs))