五、KNN

5.1 KNeighborsClassifier

  1. KNeighborsClassifierknn 分类模型,其原型为:

    1. sklearn.neighbors.KNeighborsClassifier(n_neighbors=5, weights='uniform',algorithm='auto',
    2. leaf_size=30, p=2, metric='minkowski',metric_params=None, n_jobs=1, **kwargs)
    • n_neighbors:一个整数,指定 五、KNN - 图1 值。

    • weights:一字符串或者可调用对象,指定投票权重策略。

      • 'uniform':本结点的所有邻居结点的投票权重都相等 。
      • 'distance':本结点的所有邻居结点的投票权重与距离成反比。即越近的结点,其投票权重越大。
      • 一个可调用对象:它传入距离的数组,返回同样形状的权重数组。
    • algorithm:一字符串,指定计算最近邻的算法。可以为:

      • 'ball_tree':使用 BallTree算法。
      • 'kd_tree:使用 KDTree算法。
      • 'brute':使用暴力搜索法。
      • 'auto':自动决定最合适的算法。
    • leaf_size:一个整数,指定BallTree或者 KDTree叶结点规模。它影响了树的构建和查询速度。

    • metric:一个字符串,指定距离度量。默认为'minkowski'距离。

    • p :一个整数,指定在'Minkowski'度量上的指数。

      如果 p=1,对应于曼哈顿距离;p=2对应于欧拉距离。

    • n_jobs:并行度。

  2. 模型方法:

    • fit(X,y):训练模型。
    • predict(X):用模型进行预测,返回预测值。
    • score(X,y):返回模型的预测性能得分。
    • predict_proba(X):返回一个数组,数组的元素依次是X预测为各个类别的概率值。
    • kneighbors([X, n_neighbors, return_distance]):返回样本点的 五、KNN - 图2 近邻点。如果return_distance=True,同时还返回到这些近邻点的距离。
    • kneighbors_graph([X, n_neighbors, mode]):返回样本点的 五、KNN - 图3 近邻点的连接图。

5.2 KNeighborsRegressor

  1. KNeighborsRegressorknn 回归模型,其原型为:

    1. sklearn.neighbors.KNeighborsRegressor(n_neighbors=5, weights='uniform', algorithm='auto',
    2. leaf_size=30, p=2, metric='minkowski', metric_params=None, n_jobs=1, **kwargs)

    参数:参考KNeighborsClassifier

  2. 模型方法:

    • fit(X,y):训练模型。
    • predict(X):用模型进行预测,返回预测值。
    • score(X,y):返回模型的预测性能得分。
    • kneighbors([X, n_neighbors, return_distance]):返回样本点的 五、KNN - 图4 近邻点。如果return_distance=True,同时还返回到这些近邻点的距离。
    • kneighbors_graph([X, n_neighbors, mode]):返回样本点的 五、KNN - 图5 近邻点的连接图。