kd树

pip下载指令(换个中国开源网站)pip install sklearn -i https://pypi.tuna.tsinghua.edu.cn/simple/

感知机(线性回归)

感知机训练集线性不可分是,感知机学习算法不收敛,迭代结果会发生震荡。

  k近邻模型

已知特征空间被划分为两个或多个子空间,对新的输入依据近邻原则划分到子空间的某一空间内。

划分原则:距离、k值选择、分类决策规则。

k值选择:二维空间中,次数选择不同,距离范围不同,k越大,容纳范围越大。k值过小,容易过拟合。

                一般用交叉验证法选取最优k值。

k近邻法的实现:kd树

实现k近邻法时,主要考虑的问题时如何对训练数据进行快递k近邻搜索。线性扫描计算耗时,为了提高k近邻搜索的效率,考虑使用特殊记过存储训练数据,以减少计算距离次数,如kd树法。

kd树是一种二叉树,表示对k维空间的一个划分,

空间k近邻划分(曼哈顿距离)
arr=np.array([2,3,5,4,9,6,4,7,8,10,7,2,9,2])
color=['#FF1493','#0000FF','#A52A2A','#FFD700','#00FF00','#000080','#FF0000']
arr=arr.reshape(7,2)
x=arr[:,0]
y=arr[:,1]
dis=np.empty([7],dtype=int,order='c')
plt.xlabel('x')
plt.ylabel('y')
plt.xlim(left=0,right=30)
plt.ylim(bottom=0,top=30)
for i in range(1,30):
    for j in range(1,30):
        for t in range(0,7):
            dis[t]=abs(i-arr[t,0])+abs(j-arr[t,1])   #改距离度量,欧氏距离...
        min_index=np.argmin(dis)   #数组最值索引
        area=np.pi*5*5
        plt.scatter(i,j,s=area,c=color[min_index],alpha=0.5)
       # print(min_index)
plt.show()

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值