Skip to content

gackouhamady/projet_programmation_python

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 

Repository files navigation

Projet de Programmation Avancée

Python License: Open Build Status NumPy Pandas Matplotlib CVXPY scikit-learn Jupyter Notebook

Résumé

Ce projet regroupe plusieurs travaux de programmation avancée en Python, articulés autour de la résolution de problèmes algorithmiques classiques et de l'implémentation de modèles de machine learning à partir de zéro. Le projet est divisé en plusieurs parties, couvrant à la fois la résolution de problèmes complexes et l'apprentissage supervisé en utilisant Python pur, NumPy, Pandas, et CVXPY.

Table des matières

  1. Problem Solving
  2. Régression Logistique (NumPy)
  3. Arbres de Décision et Forêts Aléatoires (Pandas)
  4. Support Vector Machines (CVXPY)
  5. Installation
  6. Exécution
  7. Structure du Projet
  8. Auteurs

1. Problem Solving

Résolution de problèmes fondamentaux :

  • Vacances et Bagages : Problème de sac à dos (optimisation).
  • Fusion de listes triées : Technique efficace de merging.
  • Permutations : Génération de toutes les permutations possibles.
  • Sudoku Solver : Résolution automatique d'un Sudoku par backtracking.
  • Carrés Latins : Construction et analyse théorique de carrés latins (avec axiomes démontrés).

Chaque problème suit cette structure :

  • Formulation du problème
  • Solution détaillée
  • Analyse de complexité
  • Code complet + Tests

2. Régression Logistique (NumPy)

  • Implémentation manuelle d'un modèle de régression logistique.
  • Visualisation des données et frontières de décision.
  • Comparaison des résultats sur différents jeux de données.

3. Arbres de Décision et Forêts Aléatoires (Pandas)

  • Construction d'un arbre de décision à partir de zéro.
  • Extension vers la construction d'une forêt aléatoire.
  • Visualisation des séparations de classes.
  • Évaluation des performances.

4. Support Vector Machines (CVXPY)

  • Implémentation d'un SVM utilisant la programmation convexe.
  • Entraînement, prédiction et analyse du modèle.
  • Étude de la marge et des vecteurs de support.

Installation

Ce projet nécessite Python 3.8+ et les librairies suivantes :

pip install numpy pandas matplotlib cvxpy scikit-learn

Exécution

Ouvrir le fichier Jupyter Notebook :

jupyter notebook Projet_Programmation_Python.ipynb

Puis exécuter les cellules dans l'ordre.

Structure du Projet

Projet_Programmation_Python.ipynb
├── Problem Solving
│   ├── Sac à dos
│   ├── Fusion de listes
│   ├── Permutations
│   ├── Sudoku
│   └── Carrés Latins
├── Régression Logistique
├── Arbres de Décision & Forêts Aléatoires
└── Support Vector Machines

Auteurs

  • Omar NAMOUS
  • Bastien HOTTELET
  • Hamady GACKOU

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors