k 近邻算法 api
API
python
sklearn.neighbors.KNeighborsClassifier(n_neighbors=5, weights='uniform', algorithm='auto', leaf_size=30, p=2, metric='minkowski', metric_params=None, n_jobs=None)其中:
n_neighbors:k 值,即取样本中最邻近的 k 个点。weights:权重方式,可选uniform或distance,默认为uniform。algorithm:算法类型,可选auto、ball_tree、kd_tree、brute,默认为auto。leaf_size:树的叶子节点的大小,默认为 30。p:距离度量的指数,默认为 2。metric:距离度量,可选minkowski、euclidean、manhattan、chebyshev、hamming、canberra、braycurtis、mahalanobis、wminkowski、seuclidean、cosine、correlation、haversine、hamming、jaccard、dice、russellrao、kulsinski、rogerstanimoto、sokalmichener、sokalsneath、yule、matching、jaccard、dice、kulsinski、rogerstanimoto、russellrao、sokalmichener、sokalsneath、yule,默认为minkowski。metric_params:距离度量参数,默认为None。n_jobs:并行数,默认为None。
常用方法:
fit(X, y):训练模型。predict(X):预测标签。predict_proba(X):预测概率。kneighbors(X, n_neighbors=None, return_distance=True):返回 k 个最近邻的索引和距离。radius_neighbors(X, radius=None, return_distance=True):返回半径内的点的索引和距离。kneighbors_graph(X, n_neighbors=None, mode='connectivity', include_self=False):返回 k 近邻图。radius_neighbors_graph(X, radius=None, mode='connectivity', include_self=False):返回半径内的点的 k 近邻图。
案例
python
# 导入数据集
from sklearn.neighbors import KNeighborsClassifier
# 1.准备数据
x = [[0], [1], [2], [3]]
y = [0, 0, 1, 1]
# 2.实例化模型
# 实例化API
estimator = KNeighborsClassifier(n_neighbors=2)
# 使用fit方法进行训练
estimator.fit(x, y)
# 3.预测标签
print(estimator.predict([[1]]))某一次的输出结果:
shell
[0]