Explorez vos données avec des algorithmes non supervisés

Brought by: OpenClassrooms

Overview

Dans le cours Initiez-vous au machine learning, vous avez découvert comment transformer une question que vous avez sur vos données en un problème d’apprentissage automatique non supervisé. Dans ce cours, vous apprendrez à choisir et utiliser les principaux algorithmes qui permettent de résoudre ces problèmes.

Vous découvrirez comment réduire la dimension de vos données grâce à des techniques linéaires comme l’analyse en composantes principales (ACP), ou des techniques non linéaires comme le très populaire t-SNE. Vous découvrirez aussi comment fonctionnent trois familles d’algorithmes de clustering : le clustering hiérarchique, k-means et le clustering par densité.

Suivez ce cours pour apprendre à réduire la dimension de vos données, mieux les visualiser ou pour rendre vos algorithmes plus efficaces, et pour découvrir comment segmenter automatiquement vos données, sans avoir à définir des classes a priori.

Prérequis:

Ce cours de Data Science se situe au croisement des mathématiques et de l'informatique. Pour en profiter pleinement, n'hésitez pas à vous rafraîchir la mémoire, avant ou pendant le cours, sur :

  • Python pour le calcul numérique (numpy) et la création de graphiques (pyplot), que nous utiliserons dans les parties TP du cours,
  • Quelques notions d'algèbre linéaire : manipulation de vecteurs, multiplications de matrices, normes, et valeurs/vecteurs propres,
  • Quelques notions de probabilités et statistiques, telles que distribution de loi de probabilité et variance.
  • Le cours d'initiation, qui vous permettra de situer les algorithmes non supervisées au sein de l'ensemble des méthodes de machine learning

Syllabus

Part #1 - Utilisez un algorithme de réduction de dimension non supervisé linéaire
1. Comprenez pourquoi réduire la dimension de vos données
2. Calculez les composantes principales de vos données
3. TP — ACP d’un jeu de données sur les performances d’athlètes olympiques
4. Cherchez les variables latentes qui expliquent vos données
Quiz: Partie 1

Part #2 - Réduisez la dimension de vos données avec des algorithmes non linéaires
1. Découvrez la réduction dimensionnelle non-linéaire
2. Utilisez une ACP avec un noyau
3. Découvrez une variété qui conserve la structure globale
4. Découvrez une variété qui favorise la structure locale
Quiz: Partie 2

Part #3 - Partitionnez vos données avec un algorithme de clustering
1. Découvrez l’intérêt des algorithmes de clustering
2. Définissez les critères que doit satisfaire votre clustering
3. Partitionnez vos données avec un algorithme de clustering hiérarchique
4. Partitionnez vos données avec l’algorithme du k-means
5. Partitionnez vos données avec DBSCAN
Activity: Manipulez des algorithmes de clustering avec sklearn

Taught by

Chloé-Agathe Azencott and Yannis Chaouche

Explorez vos données avec des algorithmes non supervisés
Go to course

Explorez vos données avec des algorithmes non supervisés

Brought by: OpenClassrooms

  • OpenClassrooms
  • Free
  • French
  • Certificate Available
  • Available at any time
  • All
  • N/A
8.1.2PHP Version258msRequest Duration2MBMemory UsageGET en/courses/{slug}Route
    • Booting (162ms)
    • Application (94.42ms)
    • 1 x Booting (63.09%)
      162.49ms
      1 x Application (36.66%)
      94.42ms
      14 templates were rendered
      • public.courses.show (resources/views/public/courses/show.blade.php)3bladefile
        Params
        0
        course
        1
        links
        2
        config
      • public.courses.partials.breadcrumbs (resources/views/public/courses/partials/breadcrumbs.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.courses.partials.heading (resources/views/public/courses/partials/heading.blade.php)7bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        classes
      • public.courses.partials.details (resources/views/public/courses/partials/details.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.courses.partials.breadcrumbs (resources/views/public/courses/partials/breadcrumbs.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.courses.partials.heading (resources/views/public/courses/partials/heading.blade.php)7bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        classes
      • public.layouts.main (resources/views/public/layouts/main.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.layouts.partials.meta (resources/views/public/layouts/partials/meta.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.layouts.partials.navbar (resources/views/public/layouts/partials/navbar.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.auth.profile.partials.links (resources/views/public/auth/profile/partials/links.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.auth.profile.partials.link (resources/views/public/auth/profile/partials/link.blade.php)8bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        route
        7
        title
      • public.auth.profile.partials.link (resources/views/public/auth/profile/partials/link.blade.php)8bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        route
        7
        title
      • public.auth.profile.partials.link (resources/views/public/auth/profile/partials/link.blade.php)8bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        route
        7
        title
      • public.layouts.partials.flash-session (resources/views/public/layouts/partials/flash-session.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      uri
      GET en/courses/{slug}
      middleware
      web, localize:en
      controller
      App\Http\Controllers\CourseController@show
      as
      en.courses.show
      namespace
      prefix
      /en
      where
      file
      app/Http/Controllers/CourseController.php:17-35
      6 statements were executed5.61ms
      • select * from `courses` where `slug_en` = 'explorez-vos-données-avec-des-algorithmes-non-supervisés' limit 1
        4.22ms/app/Http/Controllers/CourseController.php:20corspedia
        Metadata
        Bindings
        • 0. explorez-vos-données-avec-des-algorithmes-non-supervisés
        Backtrace
        • 17. /app/Http/Controllers/CourseController.php:20
        • 18. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 19. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 20. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • update `courses` set `visitors` = `visitors` + 1, `courses`.`updated_at` = '2025-04-03 22:37:47' where `id` = 1932
        310μs/app/Http/Controllers/CourseController.php:21corspedia
        Metadata
        Bindings
        • 0. 2025-04-03 22:37:47
        • 1. 1932
        Backtrace
        • 17. /app/Http/Controllers/CourseController.php:21
        • 18. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 19. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 20. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select `id`, `name_en`, `name_ar`, `topic_id`, `slug_en`, `slug_ar` from `subjects` where `subjects`.`id` in (4)
        230μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 20. /app/Http/Controllers/CourseController.php:23
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 22. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 23. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 24. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select `id`, `name_en`, `name_ar`, `slug_en`, `slug_ar` from `topics` where `topics`.`id` in (1)
        210μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 25. /app/Http/Controllers/CourseController.php:23
        • 26. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 27. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 28. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 29. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select * from `providers` where `providers`.`id` in (36) and `providers`.`deleted_at` is null
        250μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 20. /app/Http/Controllers/CourseController.php:23
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 22. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 23. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 24. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select * from `html_files` where `html_files`.`id` = 1923 limit 1
        390μs/app/Models/Course.php:84corspedia
        Metadata
        Bindings
        • 0. 1923
        Backtrace
        • 21. /app/Models/Course.php:84
        • 28. view::public.courses.show:29
        • 30. /vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:125
        • 31. /vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php:58
        • 32. /vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:72
      App\Models\HtmlFile
      1
      App\Models\Provider
      1
      App\Models\Topic
      1
      App\Models\Subject
      1
      App\Models\Course
      1
        _token
        GtMe9JbDUGCPzsdmXAehurrvLMk7tj9nHNWIAX36
        locale
        en
        _previous
        array:1 [ "url" => "https://www.corspedia.com/en/courses/explorez-vos-donn%C3%A9es-avec-des-algori...
        _flash
        array:2 [ "old" => [] "new" => [] ]
        PHPDEBUGBAR_STACK_DATA
        []
        path_info
        /en/courses/explorez-vos-donn%C3%A9es-avec-des-algorithmes-non-supervis%C3%A9s
        status_code
        200
        
        status_text
        OK
        format
        html
        content_type
        text/html; charset=UTF-8
        request_query
        []
        
        request_request
        []
        
        request_headers
        0 of 0
        array:24 [ "cf-ipcountry" => array:1 [ 0 => "US" ] "cf-connecting-ip" => array:1 [ 0 => "3.16.214.145" ] "cdn-loop" => array:1 [ 0 => "cloudflare; loops=1" ] "x-forwarded-proto" => array:1 [ 0 => "https" ] "cf-visitor" => array:1 [ 0 => "{"scheme":"https"}" ] "sec-fetch-site" => array:1 [ 0 => "none" ] "accept" => array:1 [ 0 => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" ] "user-agent" => array:1 [ 0 => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" ] "upgrade-insecure-requests" => array:1 [ 0 => "1" ] "sec-ch-ua-platform" => array:1 [ 0 => ""Windows"" ] "sec-ch-ua-mobile" => array:1 [ 0 => "?0" ] "sec-ch-ua" => array:1 [ 0 => ""HeadlessChrome";v="129", "Not=A?Brand";v="8", "Chromium";v="129"" ] "cache-control" => array:1 [ 0 => "no-cache" ] "pragma" => array:1 [ 0 => "no-cache" ] "sec-fetch-dest" => array:1 [ 0 => "document" ] "cf-ray" => array:1 [ 0 => "92ac0d70098a7815-ORD" ] "accept-encoding" => array:1 [ 0 => "gzip, br" ] "priority" => array:1 [ 0 => "u=0, i" ] "sec-fetch-user" => array:1 [ 0 => "?1" ] "sec-fetch-mode" => array:1 [ 0 => "navigate" ] "x-forwarded-for" => array:1 [ 0 => "3.16.214.145" ] "host" => array:1 [ 0 => "www.corspedia.com" ] "content-length" => array:1 [ 0 => "" ] "content-type" => array:1 [ 0 => "" ] ]
        request_server
        0 of 0
        array:50 [ "USER" => "www-data" "HOME" => "/var/www" "HTTP_CF_IPCOUNTRY" => "US" "HTTP_CF_CONNECTING_IP" => "3.16.214.145" "HTTP_CDN_LOOP" => "cloudflare; loops=1" "HTTP_X_FORWARDED_PROTO" => "https" "HTTP_CF_VISITOR" => "{"scheme":"https"}" "HTTP_SEC_FETCH_SITE" => "none" "HTTP_ACCEPT" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" "HTTP_USER_AGENT" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" "HTTP_UPGRADE_INSECURE_REQUESTS" => "1" "HTTP_SEC_CH_UA_PLATFORM" => ""Windows"" "HTTP_SEC_CH_UA_MOBILE" => "?0" "HTTP_SEC_CH_UA" => ""HeadlessChrome";v="129", "Not=A?Brand";v="8", "Chromium";v="129"" "HTTP_CACHE_CONTROL" => "no-cache" "HTTP_PRAGMA" => "no-cache" "HTTP_SEC_FETCH_DEST" => "document" "HTTP_CF_RAY" => "92ac0d70098a7815-ORD" "HTTP_ACCEPT_ENCODING" => "gzip, br" "HTTP_PRIORITY" => "u=0, i" "HTTP_SEC_FETCH_USER" => "?1" "HTTP_SEC_FETCH_MODE" => "navigate" "HTTP_X_FORWARDED_FOR" => "3.16.214.145" "HTTP_HOST" => "www.corspedia.com" "REDIRECT_STATUS" => "200" "SERVER_NAME" => "corspedia.com" "SERVER_PORT" => "443" "SERVER_ADDR" => "141.95.147.152" "REMOTE_USER" => "" "REMOTE_PORT" => "39060" "REMOTE_ADDR" => "172.69.17.126" "SERVER_SOFTWARE" => "nginx/1.18.0" "GATEWAY_INTERFACE" => "CGI/1.1" "HTTPS" => "on" "REQUEST_SCHEME" => "https" "SERVER_PROTOCOL" => "HTTP/2.0" "DOCUMENT_ROOT" => "/var/www/corspedia/public" "DOCUMENT_URI" => "/index.php" "REQUEST_URI" => "/en/courses/explorez-vos-donn%C3%A9es-avec-des-algorithmes-non-supervis%C3%A9s" "SCRIPT_NAME" => "/index.php" "CONTENT_LENGTH" => "" "CONTENT_TYPE" => "" "REQUEST_METHOD" => "GET" "QUERY_STRING" => "" "SCRIPT_FILENAME" => "/var/www/corspedia/public/index.php" "PATH_INFO" => "" "FCGI_ROLE" => "RESPONDER" "PHP_SELF" => "/index.php" "REQUEST_TIME_FLOAT" => 1743719867.1416 "REQUEST_TIME" => 1743719867 ]
        request_cookies
        []
        
        response_headers
        0 of 0
        array:5 [ "content-type" => array:1 [ 0 => "text/html; charset=UTF-8" ] "cache-control" => array:1 [ 0 => "no-cache, private" ] "date" => array:1 [ 0 => "Thu, 03 Apr 2025 22:37:47 GMT" ] "set-cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6IjhUWE9NTE9tVmd3UldrdURkTDN4Ync9PSIsInZhbHVlIjoieUNCMzNQRjA2Y0doeDg0cWJXS1BOOW0yNGtiV1dUZk15RVZWVHVUWXJUZ2pzZ2duVGN3VjlkK0Y2VG5MTWpPQUlIWlduamFWVlZtdUR1dGMva3lyRS9wdGNSVmk5Vi9KT25ldE8vdDBqcnd3TDVZdUFzWjUxRXRJRGM2R2E0My8iLCJtYWMiOiJlOWZiYzQyYjNmMzJlOWE4YmQ4YTZmZTgwYjgxZWE3MzIxZjQyYWNmNWI1ODY4NzRmNGJlNDVjOTgzZjQ2ZmQ5IiwidGFnIjoiIn0%3D; expires=Fri, 04 Apr 2025 00:37:47 GMT; Max-Age=7200; path=/; samesite=laxXSRF-TOKEN=eyJpdiI6IjhUWE9NTE9tVmd3UldrdURkTDN4Ync9PSIsInZhbHVlIjoieUNCMzNQRjA2Y0doeDg0cWJXS1BOOW0yNGtiV1dUZk15RVZWVHVUWXJUZ2pzZ2duVGN3VjlkK0Y2VG5MTWpPQUlIWldua" 1 => "laravel_session=eyJpdiI6IllTenF5SjErM1d4akkySTZpNHJ5Z3c9PSIsInZhbHVlIjoieTI4MmJvcll6TFVtWVlCeGZDUHI5ekR2U0VoeHNsd2lqYzUrakZleUxZSXhDeTlMN2dYcVd1NjY4Vm9GNVpONC9uamRRVkZ6UUVJY0NIRzJWN1daeU81L0lYVFpNSGwyZVVCcy9RbU53ZHBHY0VHQ3RRTnR4U3J3R3VNQy9yR0QiLCJtYWMiOiI3NjY4YmFhMzk5MjVjNjhiZmNkOTM0ZjA1YWNiZDM3ZjA5ODYyZjMxNTJiYzhjOGMzMjZkYzZkZmM1MWFkMzNiIiwidGFnIjoiIn0%3D; expires=Fri, 04 Apr 2025 00:37:47 GMT; Max-Age=7200; path=/; httponly; samesite=laxlaravel_session=eyJpdiI6IllTenF5SjErM1d4akkySTZpNHJ5Z3c9PSIsInZhbHVlIjoieTI4MmJvcll6TFVtWVlCeGZDUHI5ekR2U0VoeHNsd2lqYzUrakZleUxZSXhDeTlMN2dYcVd1NjY4Vm9GNVpONC9u" ] "Set-Cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6IjhUWE9NTE9tVmd3UldrdURkTDN4Ync9PSIsInZhbHVlIjoieUNCMzNQRjA2Y0doeDg0cWJXS1BOOW0yNGtiV1dUZk15RVZWVHVUWXJUZ2pzZ2duVGN3VjlkK0Y2VG5MTWpPQUlIWlduamFWVlZtdUR1dGMva3lyRS9wdGNSVmk5Vi9KT25ldE8vdDBqcnd3TDVZdUFzWjUxRXRJRGM2R2E0My8iLCJtYWMiOiJlOWZiYzQyYjNmMzJlOWE4YmQ4YTZmZTgwYjgxZWE3MzIxZjQyYWNmNWI1ODY4NzRmNGJlNDVjOTgzZjQ2ZmQ5IiwidGFnIjoiIn0%3D; expires=Fri, 04-Apr-2025 00:37:47 GMT; path=/XSRF-TOKEN=eyJpdiI6IjhUWE9NTE9tVmd3UldrdURkTDN4Ync9PSIsInZhbHVlIjoieUNCMzNQRjA2Y0doeDg0cWJXS1BOOW0yNGtiV1dUZk15RVZWVHVUWXJUZ2pzZ2duVGN3VjlkK0Y2VG5MTWpPQUlIWldua" 1 => "laravel_session=eyJpdiI6IllTenF5SjErM1d4akkySTZpNHJ5Z3c9PSIsInZhbHVlIjoieTI4MmJvcll6TFVtWVlCeGZDUHI5ekR2U0VoeHNsd2lqYzUrakZleUxZSXhDeTlMN2dYcVd1NjY4Vm9GNVpONC9uamRRVkZ6UUVJY0NIRzJWN1daeU81L0lYVFpNSGwyZVVCcy9RbU53ZHBHY0VHQ3RRTnR4U3J3R3VNQy9yR0QiLCJtYWMiOiI3NjY4YmFhMzk5MjVjNjhiZmNkOTM0ZjA1YWNiZDM3ZjA5ODYyZjMxNTJiYzhjOGMzMjZkYzZkZmM1MWFkMzNiIiwidGFnIjoiIn0%3D; expires=Fri, 04-Apr-2025 00:37:47 GMT; path=/; httponlylaravel_session=eyJpdiI6IllTenF5SjErM1d4akkySTZpNHJ5Z3c9PSIsInZhbHVlIjoieTI4MmJvcll6TFVtWVlCeGZDUHI5ekR2U0VoeHNsd2lqYzUrakZleUxZSXhDeTlMN2dYcVd1NjY4Vm9GNVpONC9u" ] ]
        session_attributes
        0 of 0
        array:5 [ "_token" => "GtMe9JbDUGCPzsdmXAehurrvLMk7tj9nHNWIAX36" "locale" => "en" "_previous" => array:1 [ "url" => "https://www.corspedia.com/en/courses/explorez-vos-donn%C3%A9es-avec-des-algorithmes-non-supervis%C3%A9s" ] "_flash" => array:2 [ "old" => [] "new" => [] ] "PHPDEBUGBAR_STACK_DATA" => [] ]