Machine Learning: Recommender Systems & Dimensionality Reduction

Brought by: Coursera

Overview

Case Study: Recommending Products

How does Amazon recommend products you might be interested in purchasing? How does Netflix decide which movies or TV shows you might want to watch? What if you are a new user, should Netflix just recommend the most popular movies? Who might you form a new link with on Facebook or LinkedIn? These questions are endemic to most service-based industries, and underlie the notion of collaborative filtering and the recommender systems deployed to solve these problems. In this fourth case study, you will explore these ideas in the context of recommending products based on customer reviews.

In this course, you will explore dimensionality reduction techniques for modeling high-dimensional data. In the case of recommender systems, your data is represented as user-product relationships, with potentially millions of users and hundred of thousands of products. You will implement matrix factorization and latent factor models for the task of predicting new user-product relationships. You will also use side information about products and users to improve predictions.

Learning Outcomes: By the end of this course, you will be able to:
-Create a collaborative filtering system.
-Reduce dimensionality of data using SVD, PCA, and random projections.
-Perform matrix factorization using coordinate descent.
-Deploy latent factor models as a recommender system.
-Handle the cold start problem using side information.
-Examine a product recommendation application.
-Implement these techniques in Python.

Taught by

Carlos Guestrin and Emily Fox

Machine Learning: Recommender Systems & Dimensionality Reduction
Go to course

Machine Learning: Recommender Systems & Dimensionality Reduction

Brought by: Coursera

  • Coursera
  • Free
  • English
  • Certificate Available
  • Certain days
  • All
  • N/A
8.1.2PHP Version298msRequest Duration2MBMemory UsageGET en/courses/{slug}Route
    • Booting (183ms)
    • Application (115ms)
    • 1 x Booting (61.28%)
      182.68ms
      1 x Application (38.47%)
      114.68ms
      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
      7 statements were executed6.83ms
      • select * from `courses` where `slug_en` = 'machine-learning:-recommender-systems-&-dimensionality-reduction' limit 1
        5.3ms/app/Http/Controllers/CourseController.php:20corspedia
        Metadata
        Bindings
        • 0. machine-learning:-recommender-systems-&-dimensionality-reduction
        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-20 12:46:30' where `id` = 2343
        590μs/app/Http/Controllers/CourseController.php:21corspedia
        Metadata
        Bindings
        • 0. 2025-04-20 12:46:30
        • 1. 2343
        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 (3)
        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 `id`, `name_en`, `name_ar`, `slug_en`, `slug_ar` from `topics` where `topics`.`id` in (1)
        130μ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 `institutions` where `institutions`.`id` in (10) and `institutions`.`deleted_at` is null
        160μ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 `providers` where `providers`.`id` in (2) and `providers`.`deleted_at` is null
        140μ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` = 2334 limit 1
        260μs/app/Models/Course.php:84corspedia
        Metadata
        Bindings
        • 0. 2334
        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\Institution
      1
      App\Models\Topic
      1
      App\Models\Subject
      1
      App\Models\Course
      1
        _token
        8mFehVxIysu8Ovm8BfL5zQ17i560xlwxXg5B0s8P
        locale
        en
        _previous
        array:1 [ "url" => "https://www.corspedia.com/en/courses/machine-learning:-recommender-systems-&-d...
        _flash
        array:2 [ "old" => [] "new" => [] ]
        PHPDEBUGBAR_STACK_DATA
        []
        path_info
        /en/courses/machine-learning:-recommender-systems-&-dimensionality-reduction
        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.17.179.163" ] "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 => "9334beb09ca4eb03-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.17.179.163" ] "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.17.179.163" "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" => "9334beb09ca4eb03-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.17.179.163" "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" => "34312" "REMOTE_ADDR" => "172.71.254.254" "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/machine-learning:-recommender-systems-&-dimensionality-reduction" "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" => 1745153190.7596 "REQUEST_TIME" => 1745153190 ]
        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 => "Sun, 20 Apr 2025 12:46:30 GMT" ] "set-cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6IngxaVA3QmU3OFBHT0lQWnozcTdsTXc9PSIsInZhbHVlIjoiNytYMFdDWWdjUW05clRGRm9TNUlpRkNNUG1mQ0hTT2FHUVhZRU02Sm9Tb2MrTENwYmlPam5vZkV3ZGEwV05LV3RTaG1oa2lVQUVzNWRPYXhMejR4dDdaVTI1L0Q3ZWNtc3dSWDZacm1vVDA3V3hlQ1RrSVBWL3lFbUFFQ0pSa3YiLCJtYWMiOiJlNTdiOGIzNWRmZjcwOWEzMTQ5YTJhNWZhYTlkZDQzZmI0YTg3NjJhNzYwMGQ0YmFhZDgyOTI2YTAzMmQ0ZDJiIiwidGFnIjoiIn0%3D; expires=Sun, 20 Apr 2025 14:46:31 GMT; Max-Age=7200; path=/; samesite=laxXSRF-TOKEN=eyJpdiI6IngxaVA3QmU3OFBHT0lQWnozcTdsTXc9PSIsInZhbHVlIjoiNytYMFdDWWdjUW05clRGRm9TNUlpRkNNUG1mQ0hTT2FHUVhZRU02Sm9Tb2MrTENwYmlPam5vZkV3ZGEwV05LV3RTaG1oa" 1 => "laravel_session=eyJpdiI6ImNNRW43YW45NDNaQjNEZFM3bHVjcEE9PSIsInZhbHVlIjoiN2M4MU0vNVlVUjdCcW5rWVkvS2NHWGg5bldwSnhtZmlOdVVMaDZsMlFSeU5VYmNVcUZaRDQzOEwrWC9QNjJDa0QvMmxEcGtvVHpuemhvUkI5UFJhLzBTWkhpaXIybXAwWm1oNkY0RjE2S3lKMEwxTWorUWdEakZYTlc1SDY5UlMiLCJtYWMiOiJkMWY5ZGJlNmIzNmE3MjljNTUwZmU0ZGU0ZDliYmEyMTQyMzhiMmZjNDUyMDFlOWY2NThhOWNiMjNlYjUxOTcwIiwidGFnIjoiIn0%3D; expires=Sun, 20 Apr 2025 14:46:31 GMT; Max-Age=7200; path=/; httponly; samesite=laxlaravel_session=eyJpdiI6ImNNRW43YW45NDNaQjNEZFM3bHVjcEE9PSIsInZhbHVlIjoiN2M4MU0vNVlVUjdCcW5rWVkvS2NHWGg5bldwSnhtZmlOdVVMaDZsMlFSeU5VYmNVcUZaRDQzOEwrWC9QNjJDa0Qv" ] "Set-Cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6IngxaVA3QmU3OFBHT0lQWnozcTdsTXc9PSIsInZhbHVlIjoiNytYMFdDWWdjUW05clRGRm9TNUlpRkNNUG1mQ0hTT2FHUVhZRU02Sm9Tb2MrTENwYmlPam5vZkV3ZGEwV05LV3RTaG1oa2lVQUVzNWRPYXhMejR4dDdaVTI1L0Q3ZWNtc3dSWDZacm1vVDA3V3hlQ1RrSVBWL3lFbUFFQ0pSa3YiLCJtYWMiOiJlNTdiOGIzNWRmZjcwOWEzMTQ5YTJhNWZhYTlkZDQzZmI0YTg3NjJhNzYwMGQ0YmFhZDgyOTI2YTAzMmQ0ZDJiIiwidGFnIjoiIn0%3D; expires=Sun, 20-Apr-2025 14:46:31 GMT; path=/XSRF-TOKEN=eyJpdiI6IngxaVA3QmU3OFBHT0lQWnozcTdsTXc9PSIsInZhbHVlIjoiNytYMFdDWWdjUW05clRGRm9TNUlpRkNNUG1mQ0hTT2FHUVhZRU02Sm9Tb2MrTENwYmlPam5vZkV3ZGEwV05LV3RTaG1oa" 1 => "laravel_session=eyJpdiI6ImNNRW43YW45NDNaQjNEZFM3bHVjcEE9PSIsInZhbHVlIjoiN2M4MU0vNVlVUjdCcW5rWVkvS2NHWGg5bldwSnhtZmlOdVVMaDZsMlFSeU5VYmNVcUZaRDQzOEwrWC9QNjJDa0QvMmxEcGtvVHpuemhvUkI5UFJhLzBTWkhpaXIybXAwWm1oNkY0RjE2S3lKMEwxTWorUWdEakZYTlc1SDY5UlMiLCJtYWMiOiJkMWY5ZGJlNmIzNmE3MjljNTUwZmU0ZGU0ZDliYmEyMTQyMzhiMmZjNDUyMDFlOWY2NThhOWNiMjNlYjUxOTcwIiwidGFnIjoiIn0%3D; expires=Sun, 20-Apr-2025 14:46:31 GMT; path=/; httponlylaravel_session=eyJpdiI6ImNNRW43YW45NDNaQjNEZFM3bHVjcEE9PSIsInZhbHVlIjoiN2M4MU0vNVlVUjdCcW5rWVkvS2NHWGg5bldwSnhtZmlOdVVMaDZsMlFSeU5VYmNVcUZaRDQzOEwrWC9QNjJDa0Qv" ] ]
        session_attributes
        0 of 0
        array:5 [ "_token" => "8mFehVxIysu8Ovm8BfL5zQ17i560xlwxXg5B0s8P" "locale" => "en" "_previous" => array:1 [ "url" => "https://www.corspedia.com/en/courses/machine-learning:-recommender-systems-&-dimensionality-reduction" ] "_flash" => array:2 [ "old" => [] "new" => [] ] "PHPDEBUGBAR_STACK_DATA" => [] ]