sklearn学习笔记(二)——最近邻分类

一、概述
最近邻可以分为无监督和有监督,有监督可以分为分类和回归。
最近邻的思想是测试样本距离训练样本的距离。
最近邻是非归纳型方法,是基于实例的方法。它只是记住了训练样本,并按高级索引结构进行转换,比如Ball Tree或者KD Tree。
在sklearn.neighbors中可以处理Numpy数组。
scikit-learn中最近邻有两种方法:K近邻(限定个数)和R近邻(限定距离半径)(会遭遇维度灾难)
权重可以自行设定。
使用最近邻要注意将属性归一化的问题。

二、使用方法
from sklearn import neighbors
n_neighbors=x
X=
y=
clf=neighbors.KNeighborsClassifier()

三、函数细节
class sklearn.neighbors.KNeighborsClassifier(n_neighbors=5, weights=’uniform’, algorithm=’
auto’, leaf_size=30, p=2, metric=’
minkowski’, metric_params=None,
n_jobs=1, **kwargs)

四、参数选择
Parametersn_neighbors : int, optional (default = 5) Number of neighbors to use by default for  k_neighbors  queries.

weights : str or callable
weight function used in prediction. Possible values:
•‘uniform’ : uniform weights. All points in each neighborhood are weighted equally.
•‘distance’ : weight points by the inverse of their distance. in this case, closer neighbors  of a query point will have a greater influence than neighbors which are further  away.
•[callable] : a user-defined function which accepts an array of distances, and returns
an array of the same shape containing the weights. Uniform weights are used by default.

algorithm : {‘auto’, ‘ball_tree’, ‘kd_tree’, ‘brute’}, optional
Algorithm used to compute the nearest neighbors:
•‘ball_tree’ will use BallTree
•‘kd_tree’ will use KDTree
•‘brute’ will use a brute-force search.
•‘auto’ will attempt to decide the most appropriate algorithm based on the values
passed to fit method.
Note: fitting on sparse input will override the setting of this parameter, using brute force.
注意:拟合系稀疏矩阵无视这个规则,选择brute。

leaf_size : int, optional (default = 30)
Leaf size passed to BallTree or KDTree. This can affect the speed of the construction
and query, as well as the memory required to store the tree. The optimal value depends  on the nature of the problem.
叶子数决定了拟合速度和储存速度,具体问题具体分析。

metric : string or DistanceMetric object (default = ‘minkowski’)
the distance metric to use for the tree. The default metric is minkowski, and with p=2
is equivalent to the standard Euclidean metric. See the documentation of the Distance-
Metric class for a list of available metrics. 

: integer, optional (default = 2)
Power parameter for the Minkowski metric. When p = 1, this is equivalent to using
manhattan_distance (l1), and euclidean_distance (l2) for p = 2. For arbitrary p,
minkowski_distance (l_p) is used.
metric_params : dict, optional (default = None)
Additional keyword arguments for the metric function.

n_jobs : int, optional (default = 1)
The number of parallel jobs to run for neighbors search. If -1, then the number of jobs
is set to the number of CPU cores. Doesn’t affect fit method.

你可能感兴趣的:(sklearn,scikit-learn,sklearn)