如何理解这个带有逻辑回归决策边界的 PCA 图(乳腺癌数据)?

机器算法验证 机器学习 物流 主成分分析 scikit-学习
2022-04-09 10:15:53

我有一个包含 13 个特征的乳腺癌数据。我实例化 PCA 并将训练数据通过并转换为二维。

我得到一个线性可分的数据,这对我来说很有趣,因为我正在做一个二元逻辑回归。

我正在写一篇文章,显示带有决策边界的数据是一个很好的图像,表明模型有效。

我在来自 PCA 的二维数据上训练逻辑回归模型。我使用截距和系数绘制决策边界,它确实线性分离了数据。

在此处输入图像描述

我的问题是,来自 PCA 和决策边界的二维数据图是什么意思?从中可以推断出什么?

我工作的 Jupyter 笔记本(这是最后一个情节)


编辑:使用目标类绘图

在此处输入图像描述

predict用on绘图x_pca

在此处输入图像描述

3个回答

2-d PCA 数据/图是什么意思?

2-d PCA 数据/图表示 PCA 创建的两个“复合特征”,以尽可能多地捕获原始 13 个特征中的差异。

假设您的 13 个特征是线性独立的(例如,对于数据中的每一行,一个特征不仅仅是另一个特征乘以 2),则需要 13 个维度才能捕获 13 个原始特征中 100% 的变化。但是,通常 PCA 可以仅在几个 PCA 维度中捕获数据中 98% 的变化。要查看问题的每个 PCA 维度解释了多少方差,请 x_pca.explained_variance_ratio_在您的对象之后fit()打印x_pca

当 PCA 可以仅在 2 维中捕获大量特征的方差时,这特别方便,因为您可以按照自己的方式绘制这 2 个 PCA 维,并且知道显示在 2-d 图上的任何分组对应于13 维数据中的自然分组。

决策边界是什么意思?

代码中的决策边界是对变量的预测target,使用 13 维原始特征集的前两个 PCA 维度作为特征(自变量)。

为什么你的决策边界不在明显的差距中?

请记住,PCA 维度仅基于您的 13 个自变量形成,而无需查看您的target. 决策边界不是 PCA 集群之间的决策边界,它是使用 PCA 维度进行预测的决策边界target

因此,决策边界并不完全在集群之间这一事实意味着 PCA 的 13 个特征的前两个维度在分离target类方面做得很好,但不是完美的工作。

如何改进你的情节

你真正关心的是target,对吧?所以在你的情节中,不要把所有的点都画成红色。target班级为它们着色。然后,您将有一个图显示 PCA 和原始特征中的信息(由图上集群之间的距离/空间表示)区分target类别(新图上的颜色)的程度。

从你的问题:

我在来自 PCA 的二维数据上训练逻辑回归模型。我使用截距和系数绘制决策边界,它确实线性分离了数据。

逻辑回归不是分类器。它的系数当然不代表“决策边界”。你有一个模型 其中是你的结果的概率,而 -s 是你的主要成分。在下面的代码中,从您的笔记本中,您使用作为原始预测器空间中一条线的系数,它只是在您的数据点间隙附近的任何地方都非常幸运。

logp1p=β0+β1x1+β2x2
pxβ0β1

new_model.fit(x_pca, target)
y_intercept = new_model.intercept_    # <- this is beta_0
slope = new_model.coef_[0][0]         # <- this is beta_1
x_axis = np.linspace(-65, 113, 178)

决定将基于或类似的其他阈值。这对您的情节没有意义,PC 捕捉到的差异是次要问题。logp=log(1p)

假设你希望你的决定是在,这转化为 logp=log(1p)

β0+β1x1+β2x2=0.

假设是第一个主成分,是第二个。然后是原始图中的轴。改写上面,边界应该是x1x2x2y

x2=β0β2β1β2x1.

也就是说你想要的截距是,斜率是β0β2β1β2

请注意,这样的决定是主观的,虽然使用可能符合您对风险的特定看法,但其他人可能喜欢原始概率估计来做出自己的决定。logp=log(1p)

@MaxPower 有一个很好的答案,我想在他的评论中详细说明他的观点 A):

这意味着以下两种情况之一:A)您的 2 个 PCA 维度没有捕获到您的 13 个原始特征中包含的足够信息,或者 B)即使您的 13 个特征中包含所有信息,您的问题也很难预测.

在您的问题中,您没有显示前两个主要成分代表了最初的 13 个变量中有多少。进行 PCA 时很容易忘记的一件事是,除了前两个之外,还剩下更多的组件。

例如,如果 13 个原始变量相对不相关,则前两个主成分将仅捕获一部分数据。其余的将存储在组件 3 到 13 中。

为什么这是相关的?

这是相关的,因为您的目标变量实际上可能由第三个主成分解释。在这种情况下,您将无法使用您现在使用的绘图看到这一点。

外卖是什么?

在解释 PC1 和 PC2 的 PCA 图之前,首先看一下这两个分量解释的方差。>90%如果它们一起解释了数据中的很多(

补充说明

指向您的 jupyter 笔记本的链接已失效,因此我无法准确看到您用于预测的模型。如果您使用整个 PCA 数据,即所有 13 个主成分来进行预测,那么您的问题很可能属于 B)。这意味着更可能不会有 PC3-PC13 能够很好地预测您的目标。因为如果有一个好的预测器,你上一个图中的预测值可能会比现在少错误。

所以要么:

  • 您仅在 PC1 和 PC2 上预测了目标,如果不首先检查解释的累积方差,您就无法真正做到这一点。

  • 您的数据只是不能很好地预测目标。

另一种说法:

我得到一个线性可分的数据,这对我来说很有趣,因为我正在做一个二元逻辑回归。

我正在写一篇文章,显示带有决策边界的数据是一个很好的图像,表明模型有效。

该数据不是线性可分的。至少不在你展示的情节中。是的,有两个明确的组,但它们与您的目标变量无关。如果您可以用一条直线将黄点与紫点分开,则可以线性分离。这不是这里的情况,因为您可以看到紫色和黄色组重叠。此外,正如您在上一张图中看到的那样,决策边界对于实际预测正确目标几乎没有作用。