对于sklearn的k近邻法

k近邻法(k-nearest neighbor, kNN)
是一种基本分类与回归方法,其基本做法是:给定测试实例,基于某种距离度量找出训练集中与其最靠近的k个实例点,然后基于这k个最近邻的信息来进行预测。
通常,在分类任务中可使用“投票法”,即选择这k个实例中出现最多的标记类别作为预测结果;在回归任务中可使用“平均法”,即将这k个实例的实值输出标记的平均值作为预测结果;还可基于距离远近进行加权平均或加权投票,距离越近的实例权重越大。

k近邻法用于分类的函数:https://scikit-learn.org/stable/modules/classes.html#module-sklearn.neighbors

函数

class sklearn.neighbors.KNeighborsClassifier(n_neighbors=5, *, weights=‘uniform’, algorithm=‘auto’, leaf_size=30, p=2, metric=‘minkowski’, metric_params=None, n_jobs=None, **kwargs)
**参数:
n_neighbors:寻找的邻居数,默认是5。也就是K值
weights:预测中使用的权重函数。可能的取值:‘uniform’:统一权重,即每个邻域中的所有点均被加权。‘distance’:权重点与其距离的倒数,在这种情况下,查询点的近邻比远处的近邻具有更大的影响力。[callable]:用户定义的函数,该函数接受距离数组,并返回包含权重的相同形状的数组。
algorithm:用于计算最近邻居的算法:“ ball_tree”将使用BallTree,“ kd_tree”将使用KDTree,“brute”将使用暴力搜索。“auto”将尝试根据传递给fit方法的值来决定最合适的算法。注意:在稀疏输入上进行拟合将使用蛮力覆盖此参数的设置。
leaf_size:叶大小传递给BallTree或KDTree。这会影响构造和查询的速度,以及存储树所需的内存。最佳值取决于问题的性质。默认30。
p:Minkowski距离的指标的功率参数。当p = 1时,等效于使用manhattan_distance(l1)和p=2时使用euclidean_distance(l2)。对于任意p,使用minkowski_distance(l_p)。默认是2。
metric:树使用的距离度量。默认度量标准为minkowski,p = 2等于标准欧几里德度量标准。
metric_params:度量函数的其他关键字参数。
n_jobs:并行计算数
**属性:
classes_:类别
effective_metric_:使用的距离度量。它将与度量参数相同或与其相同,例如如果metric参数设置为“ minkowski”,而p参数设置为2,则为“ euclidean”。
effective_metric_params_:度量功能的其他关键字参数。对于大多数指标而言,它与metric_params参数相同,但是,如果将valid_metric_属性设置为“ minkowski”,则也可能包含p参数值。
outputs_2d_:在拟合的时候,当y的形状为(n_samples,)或(n_samples,1)时为False,否则为True。
方法:
fit(X, y):使用X作为训练数据和y作为目标值拟合模型
get_params([deep]): 获取此估计量的参数。
kneighbors([X, n_neighbors, return_distance]) :查找点的K邻居。查找点的K邻居。返回每个点的邻居的索引和与之的距离
kneighbors_graph([X, n_neighbors, mode]):计算X中点的k邻居的(加权)图
predict(X):预测提供的数据的类标签。
predict_proba(X):测试数据X的返回概率估计。
score(X, y[, sample_weight]):返回给定测试数据和标签上的平均准确度
set_params(**params):设置此估算器的参数

使用方法

KNeighborsClassifier在scikit-learn 在sklearn.neighbors包之中。KNeighborsClassifier使用很简单,三步:
1)创建KNeighborsClassifier对象,
2)调用fit函数,训练集和标签
3)调用predict函数进行预测。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值