首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PCA回归问题

PCA回归问题
EN

Data Science用户
提问于 2020-01-14 09:12:08
回答 1查看 95关注 0票数 1

我有一个回归问题,我的数据有21个特征,我希望应用PCA降维。据我所知,到目前为止,我看到的所有教程都使用PCA来解决分类问题。我确实为回归做了主成分分析,但我无法显示很好的散射图,在x轴上显示PC1,在y轴上显示PC2,在中间显示目标。

我写了以下代码

代码语言:javascript
复制
        X = self.X

        pca = PCA(n_components=NUM_FEATURES_PCA)
        principal_components = pca.fit_transform(X)

        principalDf = pd.DataFrame(data=principal_components,
                                   columns=['PC1', 'PC2'])
        finalDf = pd.concat([principalDf, self.df[[self.target_variable]]], axis=1)
        plt.scatter(finalDf.loc[self.df[self.target_variable], 'PC1']
                   , finalDf.loc[self.df[self.target_variable], 'PC2'], s=50)
        plt.xlabel('PC1', fontsize=15)
        plt.ylabel('PC2', fontsize=15)
        plt.title('2 component PCA', fontsize=20)
        plt.show()

那么,在其他方面,我们能不能在回归中显示出这样的图形给PCA呢?或者我们应该通过二进制或类似的方式将连续的目标变量转换为一个范畴(标记为1)?

参考资料:这些地块

EN

回答 1

Data Science用户

回答已采纳

发布于 2020-01-14 10:08:38

首先,您可以在第一个平面(PC1 + PC2)中投射您的解释变量(连续变量)。箭头(投影)的方向和离轴原点有多远,就会告诉你,这些点是如何根据你的阶乘平面上的变量表示来分布的。

另一方面,快速的答案是将连续变量分组(将变量分解为序号变量),然后您将得到与引用相同的图。

此外,您可以尝试使用颜色标度(从白色到黑色,从红色到蓝色.)对散点图进行着色,然后根据连续变量在这个阶乘平面上查看数据是否有某种级数。

这三种“策略”实际上是一样的,尽管第二种策略对削减更敏感。

总结:

  1. 在阶乘平面上投射连续变量( PCA通常所做的)。
  2. 将连续变量分组并绘制成图(尽管它是敏感的,但更容易查看)。
  3. 使用标度(使用连续变量的最小值和最大值)对散点图进行着色。
票数 1
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://datascience.stackexchange.com/questions/66447

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档