我正在尝试构建一个Regression
模型,并且正在寻找一种方法来检查特征和目标变量之间是否存在任何相关性?
这只是我的示例dataset
Loan_ID Gender Married Dependents Education Self_Employed ApplicantIncome
0 LP001002 Male No 0 Graduate No 5849
1 LP001003 Male Yes 1 Graduate No 4583
2 LP001005 Male Yes 2 Graduate Yes 3000
3 LP001006 Male Yes 0 Not Graduate No 2583
4 LP001008 Male No 3+ Graduate No 6000
CoapplicantIncome LoanAmount Loan_Amount_Term Credit_History Area Loan_Status
0.0 123 360.0 1.0 Urban Y
1508.0 128.0 360.0 1.0 Rural N
0.0 66.0 360.0 1.0 Urban Y
2358.0 120.0 360.0 1.0 Urban Y
0.0 141.0 360.0 1.0 SemiUrban Y
我正在尝试根据上面可用的功能预测LoanAmount
列。
我只是想看看特征和目标变量之间是否存在相关性。我尝试了LinearRegression
,GradientBoostingRegressor
,我几乎没有得到大约0.30 - 0.40%
的准确性。
关于算法、参数等的任何建议,我应该使用它们来更好地预测?
使用熊猫,您可以轻松检查特征和目标列之间的线性相关性:
import pandas as pd
df = pd.read_csv('path_to_file')
df.corr()
您应该记住,这将是线性相关。
对于像ApplicantIncome
和CoapplicantIncome
这样的连续变量,如果你只对寻找相关性感兴趣,那么你可以使用一些相关系数。最常见的是线性相关性的皮尔逊和非线性相关性的Spearman或Kendall tau。
关于实施,这些可以在熊猫作为熊猫中找到。DataFrame.corr(( (如果你还没有的话,我真的建议你和Pandas一起工作。
关于分类关联到连续关联,不存在相关性这样的东西。您只能衡量关联。
我没有足够的经验来处理这些,但我知道你可以使用方差分析或Kruskal-Wallis。如果您愿意,请参阅此答案以获取更多信息。
(我建议将此问题移至交叉验证。