from jyquickhelper import add_notebook_menu
add_notebook_menu()

%matplotlib inline

"""
Explanation: Rappels sur scikit-learn et le machine learning
Quelques exercices simples sur scikit-learn. Le notebook est long pour ceux qui débutent en machine learning et sans doute sans suspens pour ceux qui en ont déjà fait.
End of explanation
"""


from numpy import random
n = 1000
X = random.rand(n, 2)
X[:5]

y = X[:, 0] * 3 - 2 * X[:, 1] ** 2 + random.rand(n)
y[:5]

"""
Explanation: Des données synthétiques
On simule un jeu de données aléatoires.
End of explanation
"""


X_test2 = random.rand(n, 2) + 0.5
y_test2 = X_test2[:, 0] * 3 - 2 * X_test2[:, 1] ** 2 + random.rand(n)

"""
Explanation: Exercice 1 : diviser en base d'apprentissage et de test
Exercice 2 : caler une régression linéaire
Et calculer le coefficient $R^2$.
Exercice 3 : améliorer le modèle en appliquant une transformation bien choisie
Exercice 4 : caler une forêt aléatoire
Exercice 5 : un peu de math
Comparer les deux modèles sur les données suivantes ? Que remarquez-vous ? Expliquez pourquoi ?
End of explanation
"""


