Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Défi : Résoudre la Tâche en Utilisant la Corrélation | Covariance et Corrélation
Les Bases de la Théorie des Probabilités

book
Défi : Résoudre la Tâche en Utilisant la Corrélation

Tâche

Swipe to start coding

Une des tâches les plus importantes en machine learning est de construire un modèle de régression linéaire (vous pouvez trouver plus d'informations dans le Linear Regression with Python course).

Puisque nous utilisons une fonction linéaire dans ce modèle, nous pouvons utiliser la corrélation entre les caractéristiques et la variable cible pour indiquer l'importance d'une caractéristique particulière pour ce modèle.

Nous allons utiliser maintenant le 'Heart Disease Dataset' : il contient 14 caractéristiques, y compris l'attribut prédit, qui se réfère à la présence de maladie cardiaque chez le patient. Votre tâche est de calculer l'importance des attributs en utilisant la corrélation:

  1. Calculer les corrélations entre les caractéristiques et la cible.
  2. Afficher ces corrélations par ordre croissant.

Solution

import pandas as pd
import numpy as np

# Load the heart disease dataset into a Pandas DataFrame
heart_df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/Probability_basics_content/heart.csv')

# Extract the target variable and other features
target = heart_df['target']
features = heart_df.drop('target', axis=1)

# Calculate the correlations
correlations = np.corrcoef(features, target, rowvar=False)[:-1, -1]

# Sort the correlations in descending order
sorted_correlations = np.sort(correlations)

# Print the sorted correlations
for correlation in sorted_correlations:
feature_name = features.columns[np.where(correlations == correlation)][0]
print(f'Correlation between {feature_name} and target is {correlation:.2f}')

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 5. Chapitre 3
import pandas as pd
import numpy as np

# Load the heart disease dataset into a Pandas DataFrame
heart_df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/Probability_basics_content/heart.csv')

# Extract the target variable and other features
target = heart_df['target']
features = heart_df.drop('target', axis=1)

# Calculate the correlations
# rowvar=False is specified when attributes are stored in columns
correlations = np.___(___, ___, rowvar=False)[:-1, -1]

# Sort the correlations in descending order
sorted_correlations = np.___(correlations)

# Print the sorted correlations
for correlation in sorted_correlations:
feature_name = features.columns[np.where(correlations == correlation)][0]
print(f'Correlation between {feature_name} and target is {correlation:.2f}')

Demandez à l'IA

expand
ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

some-alt