AI 分类算法怎么可视化?用两个特征画决策区域并叠加样本

只有两个数值特征的分类模型,可以把输入平面画成决策区域,再把样本点叠上去检查。下面用 SVC 训练一个虚构的二维二分类例子,通过 DecisionBoundaryDisplay 输出图片。区域颜色是当前模型的预测类别,不是正确率或可信度。

只有两个数值特征的分类模型,可以把输入平面画成决策区域,再把样本点叠上去检查。下面用 SVC 训练一个虚构的二维二分类例子,通过 DecisionBoundaryDisplay 输出图片。区域颜色是当前模型的预测类别,不是正确率或可信度。

环境与运行方法

本文代码在 Windows、Python 3.11 的本地独立环境执行通过。以下数据全部为人为构造的教学样本,不是客户数据,也不是业务效果测试。

AI 分类算法怎么可视化?用两个特征画决策区域并叠加样本

新建一个空目录,在终端执行安装命令,把后面的完整代码保存为 demo.py,再执行 python demo.py。文件输出均保存在运行目录,请先在空目录练习。

python -m pip install numpy==2.4.6 scikit-learn==1.9.1 matplotlib==3.11.2

只对两个输入特征作图

本例模型直接接收两列数值,坐标轴对应这两列。高维模型不能把其余列随意丢掉后仍叫原模型边界;若固定其余变量或另用降维,应明确固定值和展示方式。

SVC 使用 RBF 核,C=1、gamma=scale 为本例设置。它没有进行正式调参;如果输入列的尺度差异很大,应先确定预处理,并用同一完整管道作图。

把模型区域和原样本分开标记

DecisionBoundaryDisplay.from_estimator 使用 response_method=predict,所以填色显示类别编号。随后散点用真实教学标签着色,圆点位置对应原始特征。检查一条点时应比较该点标签和所在区域的预测。

图片的网格只是把连续平面上的查询点离散化。远离训练样本的颜色也会被画出来,但没有因此获得证据;应留意训练数据覆盖,不能把整张有色平面理解为可靠区域。

可复制的完整代码

import numpy as np
import matplotlib
matplotlib.use("Agg")
import matplotlib.pyplot as plt
from sklearn.svm import SVC
from sklearn.inspection import DecisionBoundaryDisplay
X = np.array([[0, 0], [0, 1], [1, 0], [1, 1], [2, 2], [2, 3], [3, 2], [3, 3]], dtype=float)
y = np.array([0, 0, 0, 0, 1, 1, 1, 1])
model = SVC(kernel="rbf", C=1.0, gamma="scale").fit(X, y)
fig, ax = plt.subplots()
DecisionBoundaryDisplay.from_estimator(model, X, response_method="predict", grid_resolution=120, alpha=0.35, ax=ax)
ax.scatter(X[:, 0], X[:, 1], c=y, edgecolors="black")
ax.set(xlabel="Feature 1", ylabel="Feature 2", title="Toy SVC decision regions")
fig.tight_layout(); fig.savefig("decision_regions.png", dpi=150); plt.close(fig)
print("training_point_predictions", model.predict(X).tolist())
print("n_features", model.n_features_in_)
print("saved decision_regions.png")
assert model.n_features_in_ == 2
assert len(model.predict(X)) == 8

运行结果与核对方法

下面是本文教学代码在上述本地环境中的实际输出。浮点数末位可能随依赖版本变化。

training_point_predictions [0, 0, 0, 0, 1, 1, 1, 1]
n_features 2
saved decision_regions.png

打开 decision_regions.png,确认有8个样本点、两条对应特征的坐标轴与两类区域;对照 training_point_predictions 检查这些点的预测。再添加一条已知标签的新查询点核对,正式评估仍应独立进行。

使用边界与常见问题

这是八条虚构二维数据的可视化,训练点预测不代表泛化准确率。没有展示概率,也没有解释真实高维模型;远离样本的区域不保证可靠。

为什么换一个 gamma 图形会变?

RBF 核的 gamma 影响相似度随距离的变化,可能改变区域形状。不要按图片是否好看选择参数,应以预先设定的验证方案判断。

官方资料

接口与参数依据以下官方资料核对(2026年10月1日)。示例验证只覆盖本文输入和步骤。

Ai菜鸟网。发布者:AI小管家,转载请注明出处:https://www.alyyhw.com/30785.html

赞 (0)
AI小管家的头像AI小管家
AI 训练标签怎么修改才可追溯?保存修改前后值和审核记录
上一篇 1天前
scikit-learn 预测报错怎么排查?检查未拟合模型与特征列不一致
下一篇 1天前

相关推荐

联系我们

联系我们

1

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
关注微信
分享本页
返回顶部