# Introduction

## Course presentation

```{admonition} Welcome!
:class: remove-from-content-only

The goal of this course is to teach machine learning with scikit-learn to
beginners, even without a strong technical background.
```

Predictive modeling brings value to a vast variety of data, in business
intelligence, health, industrial processes and scientific discoveries. It is a
pillar of modern data science. In this field, scikit-learn is a central tool:
it is easily accessible, yet powerful, and naturally dovetails in the wider
ecosystem of data-science tools based on the Python programming language.

This course is an in-depth introduction to predictive modeling with
scikit-learn. Step-by-step and didactic lessons introduce the fundamental
methodological and software tools of machine learning, and is as such a
stepping stone to more advanced challenges in artificial intelligence, text
mining, or data science.

The course is more than a cookbook: it will teach you to be critical about each
step of the design of a predictive modeling pipeline: from choices in data
preprocessing, to choosing models, gaining insights on their failure modes and
interpreting their predictions.

```{admonition} Follow the MOOC
:class: remove-from-content-only tip

<div class="container">
  <div class="row">
    <div class="col-xl">
      The latest version of the MOOC
      <a href="https://www.fun-mooc.fr/en/courses/machine-learning-python-scikit-learn">
        here
      "Machine learning in Python with scikit-learn"
      </a>,
      is available for self-paced learning and is continuously updated to run
      with the latest version of scikit-learn.
      Enroll for the full MOOC experience (quiz solutions, executable notebooks, discussion
      forum, etc ...) !
      </br>
      The MOOC is free and the platform does not use the student data for any other purpose
      than improving the educational material.
    </div>
    <div class="col-lg-5">
      <a href="https://www.fun-mooc.fr/en/courses/machine-learning-python-scikit-learn">
        <img src="figures/mooc_computer.jpg" style="width:100%">
      </a>
    </div>
  </div>
</div>
```

## Prerequisites

The course aims to be accessible without a strong technical background. The
requirements for this course are:
- basic knowledge of Python programming : defining variables, writing
  functions, importing modules
- some prior experience with the NumPy, pandas and Matplotlib libraries is
  recommended but not required.

For a quick introduction on these requirements, you can go through these
[course materials](http://swcarpentry.github.io/python-novice-gapminder/)
or use the following resources:
- [Introduction to Python](https://scipy-lectures.org/intro/language/python_language.html)
- [Introduction to NumPy](https://sebastianraschka.com/blog/2020/numpy-intro.html)
- [Introduction to Pandas](https://pandas.pydata.org/docs/user_guide/10min.html)
- [Introduction to Matplotlib](https://sebastianraschka.com/blog/2020/numpy-intro.html#410-matplotlib)


## MOOC material

The MOOC material is developed publicly under the [CC-BY license](
https://github.com/INRIA/scikit-learn-mooc/blob/main/LICENSE).

You can cite us through the project's Zenodo archive using the following DOI:
[10.5281/zenodo.7220306](https://doi.org/10.5281/zenodo.7220306).

The following repository includes the notebooks, exercises and solutions to the
exercises (but not the quizzes' solutions ;):

  https://github.com/INRIA/scikit-learn-mooc/

The MOOC material is also published as a static website at:

  https://inria.github.io/scikit-learn-mooc/

It is possible to use the rocket icon at the top of each notebook
page to interactively execute the code cells via the Binder
service.

The videos are available as YouTube playlist at the Inria Learning Lab channel:

  https://www.youtube.com/playlist?list=PL2okA_2qDJ-m44KooOI7x8tu85wr4ez4f

Note however that it is required to use the
[version hosted on the fun-mooc platform](
https://www.fun-mooc.fr/en/courses/machine-learning-python-scikit-learn/)
to complete the quizzes.

## Follow scikit-learn on social networks

<div class="container-fluid">
    <div class="row">
        <div class="col">
          <a href="https://www.facebook.com/ScikitLearn/">
            <i class="fab fa-facebook fa-3x"></i>
          </a>
        </div>
        <div class="col">
          <a href="https://github.com/scikit-learn/scikit-learn">
            <i class="fab fa-github fa-3x"></i>
          </a>
        </div>
        <div class="col">
          <a href="https://www.instagram.com/scikitlearnofficial/">
            <i class="fab fa-instagram fa-3x"></i>
          </a>
        </div>
        <div class="col">
          <a href="https://www.linkedin.com/company/scikit-learn/">
            <i class="fab fa-linkedin fa-3x"></i>
          </a>
        </div>
        <div class="col">
          <a href="https://twitter.com/scikit_learn">
            <i class="fab fa-twitter fa-3x"></i>
          </a>
        </div>
        <div class="col">
          <a href="https://www.youtube.com/channel/UCJosFjYm0ZYVUARxuOZqnnw">
            <i class="fab fa-youtube fa-3x"></i>
          </a>
        </div>
    </div>
</div>
