python 多分类决策边界可视化 iris

如何用python实现多分类决策边界可视化呢?

刚刚考完试了,准备总结下这学期的机器学习实验的文章,但是一翻开发现实在太多了,就犯懒了,干脆只写一点吧

import numpy as np
import matplotlib.pyplot as plt

def plot_Multiclass_boundary(X,Y):

#定义的画图函数,注意,这里的X要为两列数据,不然高维数据不容易画出决策边界
    x1_min, x1_max = X[:, 0].min() - .5, X[:, 0].max() + .5
    x2_min, x2_max = X[:, 1].min() - .5, X[:, 1].max() + .5
    h = .02
    x1, x2 = np.meshgrid(np.arange(x1_min, x1_max, h),np.arange(x2_min, x2_max, h))
    grid_test = np.stack((x1.flat, x2.flat), axis=1)
    grid_hat = clf.predict(grid_test)
    #clf代表模型,在使用该画图函数之前需要现拟合一个带有predict方法的估计器
    
    grid_hat = grid_hat.reshape(x1.shape)             
    plt.figure(1, figsize=(6, 5))
    plt.pcolormesh(x1, x2, grid_hat,cmap=plt.cm.Paired)
    plt.scatter(X[:, 0], X[:, 1], c=Y, edgecolor="k")
    
    
from sklearn.datasets import load_wine
wine=load_wine()
X=wine.data
y=wine.target
X=X[:,[0,1]]
from sklearn.neural_network import MLPClassifier
x_train, x_test, y_train, y_test = train_test_split(X,y, test_size = 0.3, random_state = 2)
clf=MLPClassifier()
clf.fit(x_train,y_train)
plot_Multiclass_boundary(x_test,y_test)

输出结果:

在这里插入图片描述
当时查找如何绘制决策边界的时候找了好久,这个函数可以直接使用,也可以不定义函数,把里面的代码扒出来用

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要绘制Python中的决策边界,可以使用matplotlib库的pcolormesh函数或contour函数。 在引用中,使用了pcolormesh函数来绘制决策边界。具体步骤如下: 1. 定义一个画图函数plot_Multiclass_boundary,该函数接受两列数据作为输入。 2. 使用numpy库中的meshgrid函数创建一个网格,以便在决策边界上绘制点。 3. 使用模型进行预测,并将预测结果reshape成与网格形状相同的数组。 4. 使用pcolormesh函数绘制决策边界,将预测结果作为颜色填充。 5. 使用scatter函数绘制样本点。 在引用中,使用了contour函数来绘制决策边界。具体步骤如下: 1. 使用逻辑回归模型训练得到决策边界的参数θ。 2. 使用meshgrid函数创建一个网格,以便在决策边界上绘制点。 3. 将训练得到的参数θ代入决策边界的方程θ^TX = 0中,得到等高线的值。 4. 使用contour函数绘制决策边界,其中参数zz为等高线的值。 注意,在这个例子中,使用了多项式特征变换来处理非线性决策边界。 总结起来,要在Python中绘制决策边界,可以使用pcolormesh函数或contour函数,并根据具体的模型和数据进行相应的处理。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [python 多分类决策边界可视化 iris](https://blog.csdn.net/qq_51325651/article/details/125528630)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [python 使用plt.tricontour绘制逻辑回归决策边界(不规则空间下的等高线图)](https://blog.csdn.net/go_with_the_wind/article/details/124473615)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值