如何判断特征之间是否存在线性关系?

1、绘制散点图

观察点的分布情况:如果点大致沿直线分布,说明存在线性关系。

import matplotlib.pyplot as plt
import seaborn as sns
sns.scatterplot(x='feature1', y='feature2', data=df)
plt.title('Scatter Plot of Feature1 vs Feature2')
plt.show()
 

2、计算特征之间的相关系数

correlation = df['feature1'].corr(df['feature2'])
print('Pearson Correlation:', correlation)

相关系数的取值范围为[-1, 1],接近 1 或 -1 表示强线性关系,接近 0 表示线性关系弱。

3、拟合线性回归模型并检查p值和t值。

import statsmodels.api as sm

X = df[['feature1']]  # 自变量
y = df['feature2']    # 因变量
X = sm.add_constant(X)  # 添加常数项
model = sm.OLS(y, X).fit()
print(model.summary())

对于每个特征,查看其 t 值和p值:
一般情况下,t 值的绝对值大于 2 可能表示该特征与目标变量之间存在一定的线性关系(但具体标准可以根据样本大小调整)。
如果 p 值小于 0.05,说明在 95% 的置信水平下,该特征与目标变量之间存在显著线性关系。

4、残差分析

拟合线性回归后,分析残差(预测值与实际值之间的差异)。如果残差图中的点随机分布,说明线性模型适合数据;如果存在明显模式,说明线性关系不够充分。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值