K最近邻算法—入门

本文介绍了K最近邻算法的基本原理,强调了选择合适的近邻数对于避免误分类的重要性。在分类应用中,通过scikit-learn的make_blobs方法生成测试数据,并探讨了二分类和多分类问题。此外,还讨论了KNN在回归问题中的应用,通过调整n_neighbors参数提高了预测准确率。
摘要由CSDN通过智能技术生成

首先做个热身准备:
numpy的eye函数,生成了一个6*6的对角矩阵
sparse将np数组转化成CSR格式的scipy稀疏矩阵,sparse函数只会存储非0元素

import numpy as np
from scipy import sparse
matrix = np.eye(6)
sparse_matrix = sparse.csr_matrix(matrix)
print(matrix )
[[1. 0. 0. 0. 0. 0.]
 [0. 1. 0. 0. 0. 0.]
 [0. 0. 1. 0. 0. 0.]
 [0. 0. 0. 1. 0. 0.]
 [0. 0. 0. 0. 1. 0.]
 [0. 0. 0. 0. 0. 1.]]
print(sparse_matrix)
  (0, 0)	1.0
  (1, 1)	1.0
  (2, 2)	1.0
  (3, 3)	1.0
  (4, 4)	1.0
  (5, 5)	1.0
%matplotlib inline
# 允许jutyper notebook进行内置实时绘图
import matplotlib.pyplot as plt
#生成从-20到20,元素数为10的等差数列
x = np.linspace(-20,20,10)
y = x**3+2*x**2+5*x+5
plt.plot(x,y,marker = "o")

[<matplotlib.lines.Line2D at 0x2294a28f860>]

在这里插入图片描述png

K最近邻算法

基本原理

新数据点离谁最近,就和谁属于同一类,但若选择最近邻数等于1,就很容易出现“一叶障目,不见泰山”的情况,因此,选择增加近邻个数,与分类中近邻数最多的一类属于一类

应用—在分类中的应用

scikit中的make_blobs方法常被用来生成聚类算法的测试数据,直观地说,make_blobs会根据用户指定的特征数量、中心点数量、范围等来生成几类数据,这些数据可用于测试聚类算法的效果。
sklearn.datasets.make_blobs(n_samples=100, n_features=2,centers=3, cluster_std=1.0, center_box=(-10.0, 10.0), shuffle=True, random_state=None)[source]
  • n_samples是待生成的样本的总数。
  • n_features是每个样本的特征数。
  • centers表示类别数。
  • cluster_std表
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值