Нахождение корреляции между объектами и целевой колонкой - PullRequest
0 голосов
/ 03 октября 2018

Я пытаюсь построить модель 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%.

Какие-либо предложения по алгоритмам, параметрам и т. Д., Которые я должен использовать для лучшего прогнозирования?

Ответы [ 2 ]

0 голосов
/ 04 октября 2018

Для непрерывных переменных, таких как ApplicantIncome и CoapplicantIncome, если вас интересует только поиск корреляций, вы можете использовать некоторый коэффициент корреляции.Наиболее распространенными из них являются Пирсон для линейных корреляций и Спирмен или Кендалл тау для нелинейных корреляций.

Что касается реализации, их можно найти вPandas as pandas.DataFrame.corr () (я действительно рекомендую вам работать с Pandas, если вы этого еще не сделали.)

Что касается категориальной непрерывной ассоциации, не существует такой вещи, каккорреляция.Вы можете только измерить ассоциацию.

У меня недостаточно опыта работы с ними, но я знаю, что вы можете использовать ANOVA или Kruskal-Wallis.Обратитесь к этому ответу для получения дополнительной информации, если хотите.

(Я бы предложил переместить этот вопрос в Перекрестную проверку.)

0 голосов
/ 03 октября 2018

С пандами вы можете легко проверить линейную корреляцию между объектами и целевым столбцом:

import pandas as pd

df = pd.read_csv('path_to_file')
df.corr()

Следует иметь в виду, что это будет линейная корреляция.

...