python——画伪彩图、设置彩色图例

1147-柳同学

发表文章数:589

首页 » 算法 » 正文

引言

实际操作见该案例

伪彩图、图例

伪彩图的作用在于直观的表现出分类边界

def plotDescionBoundary():

    fig = plt.figure(facecolor='w')
    fig.subplots()
    cm_light = mpl.colors.ListedColormap(['#77E0A0','#FF8080','#A0A0FF'])
    cm_dark = mpl.colors.ListedColormap(['g', 'r', 'b'])
    # 伪彩图
    plt.pcolormesh(X1,X2,y_pred_show,cmap=cm_light)
    # 样本的显示
    plt.scatter(X[:,0],X[:,1],s=30,c=y,edgecolors='k',cmap=cm_dark)
    # 标签
    plt.xlabel('组分1',fontsize=15)
    plt.ylabel('组分2',fontsize=15)
    # 网格
    plt.grid(b=True,ls=':')

    patchs = [mpatches.Patch(color='#77E0A0', label='Iris-setosa'),
              mpatches.Patch(color='#FF8080', label='Iris-versicolor'),
              mpatches.Patch(color='#A0A0FF', label='Iris-virginica')]
    # 设置图例
    # fancybox=True:控制是否应在构成图例背景的FancyBboxPatch周围启用圆边
    # framealpha=0.8:控制图例框架的 Alpha 透明度
    # loc:图例所有figure位置
    plt.legend(handles=patchs, fancybox=True, framealpha=0.8, loc='lower right')

    # 标题
    plt.title(u'鸢尾花Logistic回归分类效果', fontsize=17)
    plt.show()

# 对得到的结果进行绘制
# 横纵采样500个点
N,M = 500,500
X1_min,X1_max = min(X[:,0])-0.5,max(X[:,0])+0.5
X2_min,X2_max = min(X[:,1])-0.5,max(X[:,1])+0.5
# 生成等距数组
t1 = np.linspace(X1_min,X1_max,N)
t2 = np.linspace(X2_min,X2_max,M)

# 生成网格采样点
# meshgrid适用于生成网格型数据,接受两个一维数组,生成两个二维矩阵
X1,X2 = np.meshgrid(t1,t2)

# 生成测试点
X_show = np.stack((X1.flat,X2.flat),axis=1)
# 预测
y_pred_show = model.predict(X_show)
# 使之与输入的形状相同
y_pred_show = y_pred_show.reshape(X1.shape)

# 画决策边界图
plotDescionBoundary()

效果

python——画伪彩图、设置彩色图例

未经允许不得转载:作者:1147-柳同学, 转载或复制请以 超链接形式 并注明出处 拜师资源博客
原文地址:《python——画伪彩图、设置彩色图例》 发布于2021-01-08

分享到:
赞(0) 打赏

评论 抢沙发

评论前必须登录!

  注册



长按图片转发给朋友

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

Vieu3.3主题
专业打造轻量级个人企业风格博客主题!专注于前端开发,全站响应式布局自适应模板。

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

Q Q 登 录
微 博 登 录