sklearn笔记

目录

  • neighbors
    • KNeighborsClassifier

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)

  • n_neighbors:int,默认值为5
    表示k-nn算法中选取离测试数据最近的k个点
  • weight:str or callable,默认值为uniform
    表示k近邻点都分类结果的影响,一般的情况下是选取k近邻点中类别数目最多的作为分类结果,这种情况下默认k个点的权重相等,但在很多情况下,k近邻点权重并不相等,可能近的点权重大,对分类结果影响大。默认值为uniform,还可以是distance和自定义函数
  1. ‘uniform’:表示所有点的权重相等
  2. ‘distance’:表示权重是距离的倒数,意味着k个点中距离近的点对分类结3.果的影响大于距离远的点
  3. [callable]:用户自定义函数,接受一个距离数组,返回一个同维度的权重数
  • algorithm:{‘ball_tree’,‘kd_tree’,‘brute’,‘auto’}
    计算找出k近邻点的算法
  1. ‘ball_tree’:使用BallTree维数大于20时建议使用
  2. ‘kd_tree’:使用KDTree,原理是数据结构的二叉树,以中值为划分,每个节点是一个超矩形,在维数小于20是效率高
  3. ‘brute’:暴力算法,线性扫描
  4. ‘auto’:自动选取最合适的算法
    note:在稀疏的输入数据上拟合,将使用’brute’覆盖此参数
  • leaf_size:int,默认值为30
    用于构造BallTree和KDTree
    leaf_size参数设置会影响树构造的树构造和询问的速度,同样也会影响树存储需要的内存,这个值的设定取决于问题本身

  • p:int,默认值为2
    1:使用曼哈顿距离进行度量
    2:使用欧式距离进行度量

  • metric : string or callable, 默认使用’minkowski’(闵可夫斯基距离),度量函数
    sklearn笔记_第1张图片
    其中p是一个变参数,也就是上一个介绍的参数p
    当p=1时,就是曼哈顿距离
    当p=2时,就是欧氏距离
    当p→∞时,就是切比学夫距离

  • metric_params : dict, 默认为None
    度量函数的其他关键参数,一般不用设置

  • n_jobs : int or None, 默认None
    用于搜索k近邻点并行任务数量,-1表示任务数量设置为CPU的核心数,即CPU的所有core都并行工作,不会影响fit(拟合)函数

根据Nearest Neighbors算法,如果找到两个邻居,例如邻居k+1和k,他们有着一样的距离但是不一样的标签,最后的结果会根据训练数据的顺序来决定。

fit(self, X, y) 使用X作为训练集作为便签集,来拟合模型
get_params(self[, deep]) 获得估计器的参数
kneighbors(self[, X, n_neighbors, …]) 查找X数组X数组中所有点的K邻居点
kneighbors_graph(self[, X, n_neighbors, mode]) 计算X中每个点的K邻居权重图
predict(self, X) 预测X数据集中每个点对应的标签
predict_proba(self, X) 返回X数据集中对应每个标签的概率估计值
score(self, X, y[, sample_weight]) 返回给定数据集和标签的平均准确率
set_params(**params) 设置估计器的参数

你可能感兴趣的:(机器学习笔记,机器学习,python)