Code
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
from palmerpenguins import load_penguins
from sklearn.datasets import load_digits, load_iris
from sklearn.linear_model import LinearRegression, LogisticRegression
from sklearn.metrics import accuracy_score
from sklearn.model_selection import train_test_split
from sklearn.multiclass import OneVsRestClassifier
from sklearn.pipeline import make_pipeline
from sklearn.preprocessing import StandardScaler, label_binarize
# Charger le jeu de données Palmer Penguins
penguin_df = load_penguins()[['flipper_length_mm', 'species']].dropna().copy()
# Créer une étiquette binaire : 1 pour Gentoo, 0 autrement
penguin_df['is_gentoo'] = (penguin_df['species'] == 'Gentoo').astype(int)
penguin_df['class_name'] = np.where(
penguin_df['is_gentoo'] == 1,
'Gentoo',
'Non Gentoo'
)
# Utiliser les mêmes couleurs pour les deux classes dans toutes les figures.
not_gentoo_color = 'tab:red' # y = 0
gentoo_color = 'tab:blue' # y = 1
model_color = 'black'
# Séparer les attributs (X) et les étiquettes (y)
penguin_X = penguin_df[['flipper_length_mm']]
penguin_y = penguin_df['is_gentoo']
# Tracer la distribution de la longueur des nageoires selon l'étiquette binaire
plt.figure(figsize=(10, 6))
sns.histplot(
data=penguin_df,
x='flipper_length_mm',
hue='class_name',
hue_order=['Non Gentoo', 'Gentoo'],
kde=True,
bins=30,
palette={
'Non Gentoo': not_gentoo_color,
'Gentoo': gentoo_color,
}
)
plt.title('Distribution de la longueur des nageoires (Gentoo ou autre)')
plt.xlabel('Longueur des nageoires (mm)')
plt.ylabel('Fréquence')
plt.show()


















