Data Science avec Python
Un guide complet pour utiliser Python dans vos projets de data science.
InSkillCoach
Data Science avec Python
Python s’est imposé comme le langage de référence pour la data science grâce à son écosystème riche de bibliothèques spécialisées. Cet article vous présente les outils essentiels pour débuter en data science avec Python.
L’écosystème data science de Python
Python offre un ensemble complet d’outils pour chaque étape du processus de data science :
- Manipulation de données : Pandas, NumPy
- Visualisation : Matplotlib, Seaborn, Plotly
- Machine Learning : Scikit-learn, TensorFlow, PyTorch
- Analyse statistique : SciPy, StatsModels
- Traitement du langage naturel : NLTK, spaCy
- Environnements de développement : Jupyter Notebook, Google Colab
Installation des bibliothèques essentielles
Commencez par installer les bibliothèques fondamentales :
pip install numpy pandas matplotlib seaborn scikit-learn jupyter
Manipulation de données avec Pandas
Pandas est la bibliothèque incontournable pour la manipulation de données en Python :
import pandas as pd
import numpy as np
# Créer un DataFrame
data = {
'Nom': ['Alice', 'Bob', 'Charlie', 'David'],
'Age': [25, 30, 35, 40],
'Ville': ['Paris', 'Lyon', 'Marseille', 'Bordeaux'],
'Salaire': [45000, 55000, 60000, 70000]
}
df = pd.DataFrame(data)
print(df.head())
# Filtrer les données
jeunes = df[df['Age'] < 35]
print(jeunes)
# Statistiques descriptives
print(df.describe())
# Grouper et agréger
par_ville = df.groupby('Ville').agg({
'Salaire': ['mean', 'min', 'max'],
'Age': 'mean'
})
print(par_ville)
Visualisation de données
La visualisation est essentielle pour comprendre vos données :
import matplotlib.pyplot as plt
import seaborn as sns
# Style de visualisation
sns.set(style="whitegrid")
# Distribution des âges
plt.figure(figsize=(10, 6))
sns.histplot(df['Age'], bins=10, kde=True)
plt.title('Distribution des âges')
plt.xlabel('Âge')
plt.ylabel('Fréquence')
plt.show()
# Relation entre âge et salaire
plt.figure(figsize=(10, 6))
sns.scatterplot(x='Age', y='Salaire', data=df)
plt.title('Relation entre âge et salaire')
plt.show()
# Salaire moyen par ville
plt.figure(figsize=(10, 6))
sns.barplot(x='Ville', y='Salaire', data=df)
plt.title('Salaire moyen par ville')
plt.show()
Machine Learning avec Scikit-learn
Scikit-learn simplifie l’implémentation d’algorithmes de machine learning :
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error, r2_score
# Préparation des données
X = df[['Age']] # Variable indépendante
y = df['Salaire'] # Variable dépendante
# Division en ensembles d'entraînement et de test
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# Création et entraînement du modèle
model = LinearRegression()
model.fit(X_train, y_train)
# Prédictions
y_pred = model.predict(X_test)
# Évaluation du modèle
mse = mean_squared_error(y_test, y_pred)
r2 = r2_score(y_test, y_pred)
print(f"Coefficient: {model.coef_[0]:.2f}")
print(f"Intercept: {model.intercept_:.2f}")
print(f"Erreur quadratique moyenne: {mse:.2f}")
print(f"Coefficient de détermination (R²): {r2:.2f}")
# Visualisation des prédictions
plt.figure(figsize=(10, 6))
plt.scatter(X_test, y_test, color='blue', label='Données réelles')
plt.plot(X_test, y_pred, color='red', linewidth=2, label='Prédictions')
plt.title('Régression linéaire: Âge vs Salaire')
plt.xlabel('Âge')
plt.ylabel('Salaire')
plt.legend()
plt.show()
Analyse exploratoire des données (EDA)
L’EDA est une étape cruciale pour comprendre vos données avant de construire des modèles :
# Matrice de corrélation
plt.figure(figsize=(10, 8))
correlation = df.corr()
sns.heatmap(correlation, annot=True, cmap='coolwarm', linewidths=0.5)
plt.title('Matrice de corrélation')
plt.show()
# Pairplot pour visualiser les relations entre variables
sns.pairplot(df)
plt.suptitle('Relations entre les variables numériques', y=1.02)
plt.show()
# Boxplot pour détecter les valeurs aberrantes
plt.figure(figsize=(10, 6))
sns.boxplot(x='Ville', y='Salaire', data=df)
plt.title('Distribution des salaires par ville')
plt.show()
Jupyter Notebook : l’environnement idéal
Jupyter Notebook est l’environnement privilégié des data scientists :
# Lancer Jupyter Notebook
jupyter notebook
Avantages de Jupyter :
- Combinaison de code, visualisations et texte explicatif
- Exécution par cellules pour un développement itératif
- Partage facile des analyses
- Support de formats riches (Markdown, LaTeX, HTML)
Conclusion
Python offre un écosystème complet et mature pour la data science. En maîtrisant ces outils fondamentaux, vous pourrez :
- Importer et nettoyer efficacement vos données
- Créer des visualisations informatives
- Construire et évaluer des modèles de machine learning
- Communiquer vos résultats de manière claire et convaincante
La data science avec Python est un domaine vaste et en constante évolution. Continuez à explorer et à apprendre pour rester à jour avec les dernières avancées et techniques.
À propos de InSkillCoach
Expert en formation et technologies
Coach spécialisé dans les technologies avancées et l'IA, porté par GNeurone Inc.
Certifications:
- AWS Certified Solutions Architect – Professional
- Certifications Google Cloud
- Microsoft Certified: DevOps Engineer Expert
- Certified Kubernetes Administrator (CKA)
- CompTIA Security+
Commentaires
Les commentaires sont alimentés par GitHub Discussions
Connectez-vous avec GitHub pour participer à la discussion