我有一个包含50多个列的数据集,我试图在Python中找到一种方法,在每个变量组合之间建立一个简单的线性回归。这里的目标是找到一个进一步深入我的分析的起点(即,我将更深入地研究那些具有某种意义的R平方的对)。
我已经把所有的列都放在了一个numpy数组的列表中。我怎么能在每个组合之间做一个简单的线性回归,而对于这个组合,打印R平方呢?是否也有可能尝试多元线性回归,最多有5-6个变量,同样适用于每一个组合?
每个数组都有大约200行,因此在速度方面的代码效率对这个个人项目来说并不是一个大问题。
发布于 2021-12-06 03:44:51
如果您正在寻找具有高r平方值的列,只需尝试一个相关矩阵。为了便于可视化,我建议您使用海运绘制一个热图:
import seaborn as sns
import matplotlib.pyplot as plt
df_corr = df.corr()
sns.heatmap(df_corr, cmap="coolwarm", annot=True)
plt.show()我对您的其他建议是在您的数据集中运行一个主成分分析(PCA),以找到具有最高可变性的特征。通常,这些变量是最重要的,可以用来做最好的预测。如果想要更多关于这项技术的信息,请告诉我。
发布于 2021-12-06 00:39:47
这更像是EDA问题,而不是python问题。查看一些回归资源,特别是相关矩阵。但是,一种可能的解决方案可以使用组大小为6的itertools.combinations。这将为您提供15 890 700种不同的选项来运行回归,因此,除非您希望运行超过1500万个回归,否则您应该做一些EDA来查找数据集中的重要功能。
https://stackoverflow.com/questions/70239375
复制相似问题