五、KNN
5.1 KNeighborsClassifier
KNeighborsClassifier
是knn
分类模型,其原型为:sklearn.neighbors.KNeighborsClassifier(n_neighbors=5, weights='uniform',algorithm='auto',
leaf_size=30, p=2, metric='minkowski',metric_params=None, n_jobs=1, **kwargs)
n_neighbors
:一个整数,指定 值。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
:并行度。
模型方法:
fit(X,y)
:训练模型。predict(X)
:用模型进行预测,返回预测值。score(X,y)
:返回模型的预测性能得分。predict_proba(X)
:返回一个数组,数组的元素依次是X
预测为各个类别的概率值。kneighbors([X, n_neighbors, return_distance])
:返回样本点的 近邻点。如果return_distance=True
,同时还返回到这些近邻点的距离。kneighbors_graph([X, n_neighbors, mode])
:返回样本点的 近邻点的连接图。
5.2 KNeighborsRegressor
KNeighborsRegressor
是knn
回归模型,其原型为:sklearn.neighbors.KNeighborsRegressor(n_neighbors=5, weights='uniform', algorithm='auto',
leaf_size=30, p=2, metric='minkowski', metric_params=None, n_jobs=1, **kwargs)
参数:参考
KNeighborsClassifier
。模型方法:
fit(X,y)
:训练模型。predict(X)
:用模型进行预测,返回预测值。score(X,y)
:返回模型的预测性能得分。kneighbors([X, n_neighbors, return_distance])
:返回样本点的 近邻点。如果return_distance=True
,同时还返回到这些近邻点的距离。kneighbors_graph([X, n_neighbors, mode])
:返回样本点的 近邻点的连接图。