{"id":21026649,"url":"https://github.com/jeremiegince/mlintroduction","last_synced_at":"2026-05-09T16:54:50.331Z","repository":{"id":106580601,"uuid":"466614671","full_name":"JeremieGince/MLIntroduction","owner":"JeremieGince","description":"Exercice d'introduction à l'apprentissage machine.","archived":false,"fork":false,"pushed_at":"2022-03-08T16:53:32.000Z","size":2777,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-23T03:48:12.973Z","etag":null,"topics":["francais","machine-learning","python","tutorial"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JeremieGince.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-03-06T02:16:02.000Z","updated_at":"2022-10-13T22:04:48.000Z","dependencies_parsed_at":"2023-07-09T05:03:27.527Z","dependency_job_id":null,"html_url":"https://github.com/JeremieGince/MLIntroduction","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/JeremieGince/MLIntroduction","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JeremieGince%2FMLIntroduction","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JeremieGince%2FMLIntroduction/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JeremieGince%2FMLIntroduction/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JeremieGince%2FMLIntroduction/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JeremieGince","download_url":"https://codeload.github.com/JeremieGince/MLIntroduction/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JeremieGince%2FMLIntroduction/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":276512734,"owners_count":25655450,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-23T02:00:09.130Z","response_time":73,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["francais","machine-learning","python","tutorial"],"created_at":"2024-11-19T11:45:41.815Z","updated_at":"2025-09-23T03:48:14.963Z","avatar_url":"https://github.com/JeremieGince.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MLIntroduction\n\n---------------------------------------------------------------------------\nExercice d'introduction à l'apprentissage machine.\n\n## Instructions:\n 1. Dans un premier temps, vous devez adapter le code de \"knn_iris.ipynb\" pour entraîner un perceptron de sklearn sur le \n    dataset de Iris. On vous suggère de comparer les performances des deux algorithmes. Votre implémentation sera fait \n    dans le fichier \"exercice/sklearn/perceptron_iris.py\".\n 2. Ensuite, vous allez devoir implémenter un K-NN avec seulement le package numpy à votre disposition dans le fichier\n    \"exercice/from_scratch/knn.py\". Faite vous un objet KNN ayant les méthodes suivantes qui sont basé sur le template \n    de sklearn:\n    1. ```fit(X: np.ndarray, y: np.ndarray) -\u003e None```\n    2. ```predict(self, X: np.ndarray, y: Optional[np.ndarray] = None) -\u003e np.ndarray```\n 3. Refaite le même exercice, mais avec le perceptron dans le fichier \"exercice/from_scratch/perceptron.py\".\n 4. Finalement, vous pouvez comparer les résultats des algorithmes en les entraînant sur le dataset \n    [digits](https://scikit-learn.org/stable/modules/generated/sklearn.datasets.load_digits.html) de sklearn.\n    la fonction suivante vous sera utile pour downloader le dataset \n    ```X, y = datasets.load_digits(return_X_y=True)```.\n    1. Vous aurez à calculer la [matrice de confusion](https://en.wikipedia.org/wiki/Confusion_matrix) de la \n       classification des classifications. Afficher les sous forme de heatmap ou d'image afin de pouvoir les visualiser.\n    2. De plus, calculer les [métriques](https://en.wikipedia.org/wiki/Precision_and_recall) suivantes pour chaque \n       classifieur:\n       1. Accuracy\n       2. Recall\n       3. F1Score\n       \n       Ces métriques doivent être calculée sur votre ensemble de test pour être en mesure de savoir si vous avez\n       underfit ou overfit vos données d'apprentissages. La fonction suivante de sklearn vous sera utile:\n          - ```sklearn.model_selection.train_test_split```\n          - ```X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.33, random_state=42)```.\n\n\n\n## Setup\n\n- Cloner le répertoire présent.\n- Créer votre environnement virtuel pour ces exercices.\n- Installer les dépendances avec \n  - ```pip install -r requirements.txt```\n\n\n## Références\n- Pour plus d'information sur comment utiliser git:\n    - [TutorielPython-Manuel/git](https://github.com/JeremieGince/TutorielPython-Manuel/tree/master/Cycle-de-developpement-avec-git)\n- Pour plus d'information sur comment créer un environnement virtuel:\n    - [TutorielPython-Manuel/Environments](https://github.com/JeremieGince/TutorielPython-Manuel/tree/master/Environments)\n- Si vous désirez avoir des ressources au niveau de l'affichage avec python:\n  - [Atelier de visualisation du ProgFest](https://github.com/rem657/AtelierVisualisation)\n\n\n## Solution\nLa solution est fournie dans le dossier './solution'.\n\n\n\n---------------------------------------------------------------------------\n\n\u003cp align=\"center\"\u003e \u003cimg src=\"https://github.com/JeremieGince/MLIntroduction/blob/main/images/progfest_logo.png?raw=true\"\u003e \u003c/p\u003e","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjeremiegince%2Fmlintroduction","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjeremiegince%2Fmlintroduction","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjeremiegince%2Fmlintroduction/lists"}