Ce projet implémente plusieurs algorithmes de machine learning pour classifier automatiquement les espèces d'iris basées sur leurs caractéristiques morphologiques. Il s'agit d'un projet d'apprentissage utilisant le célèbre dataset Iris de Fisher, parfait pour découvrir les concepts fondamentaux du machine learning.
- Analyser le dataset Iris avec des techniques d'analyse exploratoire des données (EDA)
- Visualiser les relations entre les différentes caractéristiques des fleurs
- Comparer les performances de 4 algorithmes de classification différents
- Identifier le modèle le plus performant pour prédire l'espèce d'iris
Le dataset contient 150 observations d'iris avec :
- 50 échantillons de chaque espèce :
- Iris-setosa
- Iris-versicolor
- Iris-virginica
- SepalLengthCm : Longueur du sépale (cm)
- SepalWidthCm : Largeur du sépale (cm)
- PetalLengthCm : Longueur du pétale (cm)
- PetalWidthCm : Largeur du pétale (cm)
- Species : Espèce d'iris (variable cible)
| Algorithme | Précision obtenue |
|---|---|
| Logistic Regression | 100% |
| Support Vector Machine (SVM) | 100% |
| Decision Tree | 97.78% |
| K-Nearest Neighbors (KNN) | 97.78% |
- Statistiques descriptives
- Distribution des espèces
- Détection des valeurs manquantes
- Pairplot : Relations entre toutes les variables
- Scatter plots :
- Longueur vs Largeur des sépales
- Longueur vs Largeur des pétales
- Graphique de performance : Précision du KNN selon le nombre de voisins
- Division train/test (70%/30%)
- Entraînement de 4 modèles différents
- Évaluation et comparaison des performances
pip install numpy pandas seaborn matplotlib scikit-learn- Clonez ou téléchargez le repository
- Assurez-vous que les données sont dans le dossier
data/ - Ouvrez le notebook Jupyter :
jupyter notebook "ROUSSEAU Loris - Iris Species - Machine Learning.ipynb" - Exécutez toutes les cellules pour reproduire l'analyse
iris-species/
├── README.md # Ce fichier
├── ROUSSEAU Loris - Iris Species - Machine Learning.ipynb # Notebook principal
├── data/
│ ├── Iris.csv # Dataset principal
│ └── database.sqlite # Base de données SQLite
└── .gitattributes # Configuration Git
Les algorithmes Logistic Regression et SVM ont obtenu une précision parfaite de 100% sur le jeu de test.
- Les espèces Iris-setosa sont facilement séparables des autres
- Les Iris-versicolor et Iris-virginica présentent plus de chevauchement
- Les caractéristiques des pétales sont plus discriminantes que celles des sépales
L'analyse de sensibilité du paramètre k pour KNN montre que les meilleures performances sont obtenues avec k=1 à k=3.
- Python 3.x
- Pandas - Manipulation des données
- NumPy - Calculs numériques
- Matplotlib & Seaborn - Visualisation
- Scikit-learn - Algorithmes de machine learning
- Jupyter Notebook - Environnement de développement
ROUSSEAU Loris
Ce projet est à des fins éducatives et d'apprentissage du machine learning.
Ce projet utilise le dataset Iris classique, introduit par Ronald Fisher en 1936, et reste l'un des exemples les plus populaires pour l'apprentissage du machine learning.