为多个变量组合创建相关矩阵



我有一个包含10列的csv文件。我可以使用panda导入数据帧,并使用corr((函数输出矩阵热图。我接下来想要实现的是让代码在数据帧中循环,并找到列组合之间的高相关性或低相关性

例如,简单的相关矩阵看起来是:

A: A、A:B、A:C、A:D等

但我希望代码以各种可能的方式组合列,例如:

AB:A、AB:B、AB:C、AB:D等ABC:A、ABC:B、ABC:D等

如果某些组合之间有任何明显的相关性,请强调这些相关性。

这可能吗?或者有没有专有的应用程序可以做到这一点?

感谢

我假设;组合";你指的是线性组合。您可以在列上循环(不是最优雅的方式(并使用sklearn linear_model

import pandas as pd
import numpy as np
from sklearn import linear_model
df = pd.DataFrame(np.random.random([10,10]),columns=['A','B','C','D','E','F','G','H','I','J'])
for i,col1 in enumerate(df):
if i > 0:
X = df.iloc[:,0:i]
for j,col2 in enumerate(df):
if j >= i:
y = df[[col2]]
regr = linear_model.LinearRegression()
regr.fit(X, y)
score = regr.score(X,y)
print(f'X: {X.columns} y: {y.columns} score:{score}')



相关内容

  • 没有找到相关文章

最新更新