You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

matplotlib如何对逻辑回归训练样本分类绘图?对应代码运行原理是什么?

1. pos = y == 1与neg = y == 0的运行逻辑

这两行是numpy的逐元素比较运算,会生成和y形状完全一致的布尔型掩码数组:

  • y == 1会逐个判断y中每个标签值是否等于1,对应位置为True代表该样本是录取样本,False代表不是,最终生成的布尔数组赋值给pos
  • 同理y == 0生成的neg数组,对应位置为True代表该样本是未录取样本

举个例子,你给出的y前3个值为0., 0., 0.,那么pos前3个值就是[False, False, False],neg前3个值就是[True, True, True]。


2. 数组索引的取值逻辑

X是形状为(样本总数, 2)的二维numpy数组,第一个维度对应样本序号,第二个维度对应特征:0是第一次考试成绩,1是第二次考试成绩。
用布尔掩码索引第一个维度时,numpy会自动筛选出掩码为True对应位置的所有行:

  • X[pos, 0]:筛选所有录取样本的第一次考试成绩,作为散点图的横轴取值
  • X[pos, 1]:筛选所有录取样本的第二次考试成绩,作为散点图的纵轴取值
  • 同理X[neg, 0]、X[neg, 1]分别对应所有未录取样本的第一次、第二次考试成绩,作为另一组散点的横纵轴取值

3. 绘图逻辑

  • 第一行绘图代码用星号标记所有录取样本,每个星号的坐标就是对应学生的两次考试成绩(第一次成绩, 第二次成绩)
  • 第二行绘图代码用黄底黑边的圆圈标记所有未录取样本,坐标对应未录取学生的两次考试成绩

最终就会得到两类样本用不同符号区分的散点图。


内容的提问来源于stack exchange,提问作者Circuit_Breaker0.7

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 03:09:02