Estou tentando criar um Regression
modelo e estou procurando uma maneira de verificar se há alguma correlação entre recursos e variáveis de destino?
Esta é a minha amostra 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 0 Graduate Yes 3000
3 LP001006 Male Yes 0 Not Graduate No 2583
4 LP001008 Male No 0 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 Urban Y
Estou tentando prever a LoanAmount
coluna com base nos recursos disponíveis acima.
Eu só quero ver se há uma correlação entre os recursos e a variável de destino. Eu tentei LinearRegression
, GradientBoostingRegressor
e eu mal estou conseguindo uma precisão de cerca 0.30 - 0.40%
.
Alguma sugestão sobre algoritmos, parâmetros etc que eu devo usar para uma melhor previsão?
Respostas:
Seus dados podem ser colocados em um DataFrame do pandas usando
Agora, para obter uma correlação, precisamos converter nossos recursos categóricos em numéricos. É claro que a escolha da ordem afetará a correlação, mas felizmente todas as nossas categorias parecem binárias. Se não for esse o caso, você precisará criar um pedido personalizado.
Agora podemos obter a correlação entre o 'LoanAmount' e todos os outros recursos.
Agora, é provável que o uso de algum aprendizado de máquina nesses dados funcione. Apenas não há dados suficientes para extrair algumas informações relevantes entre o grande número de recursos e o valor do empréstimo.
Você precisa de pelo menos 10 vezes mais instâncias do que recursos para esperar obter bons resultados.
Para obter apenas a correlação entre um recurso e um subconjunto dos recursos, você pode fazer
Isso pegará um subconjunto do DataFrame e aplicará a mesma função corr () como acima. Certifique-se de que o subconjunto de colunas selecionadas inclua a coluna com a qual você deseja calcular a correlação; neste exemplo, é 'LoanAmount'.
fonte
standardscaler
oumin_max_scalar
. Eu quero fazer uma tarefa de classificação.Método em Python
Uma maneira de verificar a correlação de cada recurso com a variável de destino é executar o código:
A saída de correlação a seguir deve listar todas as variáveis e suas correlações com a variável de destino. As correlações negativas significam que, conforme a variável de destino diminui de valor, a variável de recurso aumenta de valor. (Linearmente)
Para plotar as correlações nos gráficos, execute o código:
Para o
figsize
argumento dascatter_matrix
função, insira o tamanho que melhor se adequar.fonte
Você pode usar a
pandas.DataFrame.corrwith()
função para encontrar correlações:Criando o conjunto de dados
Convertendo as variáveis categóricas em números
fonte