基于meshgrid进行knn模型分类边界可视化

本文介绍了如何利用numpy的meshgrid、arange、ravel以及np.c_方法来创建网格并进行KNN模型的分类边界可视化。通过在平面中绘制一系列坐标点,结合KNN模型的预测,生成连续且易于观察的分类边界效果。

meshgrid方法

xx,yy = numpy.meshgrid(x,y)

meshgrid函数就是用两个坐标轴上的点在平面上画网格(当然这里传入的参数是两个的时候),本质上是用x和y画出一系列坐标为(x,y)的组合的二维坐标点
(xx,yy)就是组合的坐标,是通过行扩张和列扩张来完成的

arange方法

numpy.arange(start, stop, step, dtype = None)

在给定间隔内返回均匀间隔的值在半开区间 [开始,停止)内生成(换句话说,包括开始但不包括停止的区间),返回的是 ndarray 。

ravel和np.c_,np.r_方法

x_range = np.c_[xx.ravel(),yy.ravel()]

平铺后,此时X_range[xx,yy]就是x和y所对应的二维组合数据,ravel()方法将数组维度拉成一维数组,用于将矩阵向量化。

np.r_是按列连接两个矩阵,就是把两矩阵上下相加,要求列数相等。

np.c_是按行连接两个矩阵,就是把两矩阵左右相加,要求行数相等。

筛选只能用训练对应的标签来筛选,所以要让模型对x_range进行预测

y_range_predict = knn_10.predict(x_range)

为什么要用x_range,因为点更多,更方便描绘图像,原数据集画连线图容易因为点太离散导致图形不连贯,视觉效果不好。得到x_range之后要用模型对其预测得到对应标签。

如何改变文本的样式

fig1= plt.figure(figsize=(10,10))
knn_bad = plt.scatter
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值