PYTHON SKLEARN – MODEL SELECTION : Train_test_split, Cross Validation, GridSearchCV (21/30)




[ad_1]

Ce tutoriel python français vous présente SKLEARN, le meilleur package pour faire du machine learning avec Python.

Avec Sklearn, on peut découper notre Dataset en Train_set et Test_set grâce a la fonction Train_test_split. Cette fonction est très importante et il faut l’utiliser pour chaque projet de machine learning, avant même de développer un modèle avec sklearn. Vous pouvez définir les proportions pour découper votre Dataset avec l’argument test_size = …

Une fois que vous avez utilisé train_test_split, vous pouvez entrainer votre modele et le valider en utilisant la technique de cross-validation. Le mieux est d’utiliser la class GridSearchCV, mais les fonctions cross_val_score, Validation_curve et Learning_curves sont tres utiles également.

► TIMECODE DE LA VIDÉO:
0:00 Intro
00:39 Train_test_split
04:22 Validation Set
07:05 Cross Validation
09:44 Validation Curve
12:46 GridSearchCV
16:04 Learning Curves
19:26 Exercice du Titanic

► D’autres BONUS sur Tipeee:
https://fr.tipeee.com/machine-learnia

► MON SITE INTERNET EN COMPLÉMENT DE CETTE VIDÉO:
https://machinelearnia.com/

► REJOINS NOTRE COMMUNAUTÉ DISCORD
https://discord.gg/WMvHpzu

► Recevez gratuitement mon Livre:
APPRENDRE LE MACHINE LEARNING EN UNE SEMAINE
CLIQUEZ ICI:
https://machinelearnia.com/apprendre-le-machine-learning-en-une-semaine/

► Télécharger gratuitement mes codes sur github:
https://github.com/MachineLearnia

► Abonnez-vous : https://www.youtube.com/channel/UCmpptkXu8iIFe6kfDK5o7VQ

► Pour En Savoir plus : Visitez Machine Learnia : https://machinelearnia.com/

► Qui suis-je ?
Je m’appelle Guillaume Saint-Cirgue et je suis Data Scientist au Royaume Uni. Après avoir suivi un parcours classique maths sup maths spé et avoir intégré une bonne école d’ingénieur, je me suis tourné vers l’intelligence artificielle de ma propre initiative et j’ai commencé à apprendre tout seul le machine learning et le deep learning en suivant des formations payantes, en lisant des articles scientifiques, en suivant les cours du MIT et de Stanford et en passant des week end entier à développer mes propres codes.
Aujourd’hui, je veux vous offrir ce que j’ai appris gratuitement car le monde a urgemment besoin de se former en Intelligence Artificielle.
Que vous souhaitiez changer de vie, de carrière, ou bien développer vos compétences à résoudre des problèmes, ma chaîne vous y aidera.
C’est votre tour de passer à l’action !

► Une question ? Contactez-moi: contact@machinelearnia.com

Source


[ad_2]

Comment List

  • Machine Learnia
    January 21, 2021

    Grand Merci à vous très cher Guillaume.
    j'ai eu comme hyperparametre :
    metric : euclidean, n_neighbors : 11 et un score sur le test_set de 96%
    matrix de confusion :
    ([[10 , 0 , 0],
    [0 , 11 , 1],
    [0 , 0 , 8]
    ])

  • Machine Learnia
    January 21, 2021

    Bonjour, j'aurais une question par rapport à la validation curve. Dans cet exemple, vous expliquez le cas où on peut détecter de l'overfitting mais est-ce que l'overfitting présent à ce moment dans le training set sera plus ou moins le même quand on fera des prédictions avec le test set ? Si ce n'est pas le cas, il faudra donc toujours checker si on a de l'overfitting dans le training set par rapport à la validation set et aussi dans validation set par rapport au test set (comme fait à 5.01) ?

  • Machine Learnia
    January 21, 2021

    La manière de passer de la cross validation au Grid search CV est juste magnifique!!!!!!!!!!!!!!!!!!!

  • Machine Learnia
    January 21, 2021

    Merci beaucoup Guillaume, vous êtes je pense le meilleur prof que j'ai pu croisé de toute mon existence, excellente présentation, très claires on a même pas besoin de revenir en arrière tout rentre très facilement… encore merci, bises

  • Machine Learnia
    January 21, 2021

    salut, super tes videos !
    J'ai une petite question comment faire pour choisir au mieux la valeur du paramètre cv pour le nombre de découpage pour l'entrainement- validation

  • Machine Learnia
    January 21, 2021

    20:50 "avec plus de donnees" – je vois ca d'ici: on devrait envoyer des repliques du Titanic avec des benevoles dedans pour pouvoir mieux estimer les probabilites de survie. Comme tu disais un peu avant, ca coute cher les donnees. Surtout pour les participants aux experiences.

  • Machine Learnia
    January 21, 2021

    Hi
    Is there a video that explain computer vision and image recognition
    That you made or even was not made by you in english or french
    Thank you keep it up machine learnia

  • Machine Learnia
    January 21, 2021

    Super vidéo !! Super chaine ! Merci beaucoup. Petite question: pourquoi le grid.best_score_ calculé (0.9833) est différent du model.score (0.96). Le meilleur modèle n'est pas celui qui a le best score ?

  • Machine Learnia
    January 21, 2021

    Bonjour , tout d'abord un grand merci pour ses vidéos .
    J'ai un problème c'est que a chaque fois j'excute mon algorithme j'obtiens d'autre valeurs de neighbors , je sais pas pourquoi ?
    Merci beaucoup

  • Machine Learnia
    January 21, 2021

    Très dense cette vidéo ! J'ai appris beaucoup de choses merci !
    Résultats : metric = manhattan, neighbors ~10-25, weights = distance; need more data; score sur le test set ~ 75-85%

  • Machine Learnia
    January 21, 2021

    Merci beaucoup pour la video ,est ce que vous pouvez faire une video sur l'analyse en composantes principales(ACP) ,merci d'avance.

  • Machine Learnia
    January 21, 2021

    Bonjour, tout d'abord merci beaucoup pour cette vidéo et ta formation en général !
    Je voulais savoir si quelqu'un a aussi reçu un Warning pour la validation_curve :
    Jupyter m'avertit cela quand je passe les paramètres k et 'n_neighbors'
    "From version 0.25 passing these as positional arguments will result in an error

    warnings.warn("Pass {} as keyword args. From version 0.25 "
    Pour l'instant je n'ai pas eu de problème pour la suite, mais je serai intéressé si quelqu'un pouvait m'expliquer 🙁

  • Machine Learnia
    January 21, 2021

    Y a-t-il du sens à mettre un GridSearchCV à la fin d'un pipeline pour optimiser le modèle? Merci d'avance.

  • Machine Learnia
    January 21, 2021

    vraiment sensationnel ! merci de tout cœur .

  • Machine Learnia
    January 21, 2021

    bonjour j'ai fait l'exercice et je trouve les resultats suivants: {'metric': 'manhattan', 'n_neighbors': 11}, meilleurscore=0,77755, weight=unifform
    pas d'overfitting, et il peut encore etre performant si on lui fourni plus de donnees cependant je voudrai savoir comment choisir le nombre de split adequat

  • Machine Learnia
    January 21, 2021

    Merci beaucoup pour ces tuto magnifiquement montés. Vous avez de la pédagogie que nombreux profs n'en ont pas

  • Machine Learnia
    January 21, 2021

    Bonjour,
    J'ai trouvé 0.769 avec les best_params : metric = manhattan, n_neighbors = 14 et weights = distance

  • Machine Learnia
    January 21, 2021

    Vos vidéos me font gagner beaucoup de temps. J'apprends très vite avec vous. Merci Guillaume.

  • Machine Learnia
    January 21, 2021

    Bonne video !
    Si j'ai une learning curve qui ressemble a ca :https://zupimages.net/viewer.php?id=20/42/e9i8.png
    Y a t il une raison particuliere?

  • Machine Learnia
    January 21, 2021

    Merci infiniment ,votre explication est très très très excellent,Allah bless you

  • Machine Learnia
    January 21, 2021

    Bonjour proffeseur,
    Je veut sauvgarder le model de regression je utilise (pickle) comme suit: 1)model= model.fit(xtrain,ytrain)
    2)Savedmodel='svrmodel'
    3)Pickle.dump(model,open(savedmodel,'wb'))
    Avec model.fit ces ligne de code fonction parfaitment, mait pour moi
    je voulait utiliser cross-val-score(model,xtrain,ytrain,cv=kfold,scoring='r2')
    Mais sa ne fonction pas je sais pas comment faire
    Merci d'avance😊

  • Machine Learnia
    January 21, 2021

    Grand merci à vous,

    Pour l'exercice, j'obtiens:
    1) Meilleur paramétrage : {'metric': 'manhattan', 'n_neighbors': 17, 'weights': 'distance'}
    2) Best Score Train: 0.8949211908931699
    3) Best Score Test: 0.7832167832167832
    4) Et selon le Learning-curve, il nous faudra encore plus de données pour améliorer notre modele

    Et comme vous, la fonction de prédiction me dit que j'y serai resté 🙂

  • Machine Learnia
    January 21, 2021

    Bonjour. Pour l'exercice je trouve :
    en train : 0,78 avec manhattan et n_neighbors=11
    en test : 0,72 avec manhattan et n_neighbors=7
    Par contre les performances ne semblent pas augmenter avec l'ajout de nouvelles données.
    Merci !

  • Machine Learnia
    January 21, 2021

    Bonjour, Guillaume. L'explication sur les données de validation m'a fait sourire. Elle me fait penser aux projets informatiques en entreprise. De mon expérience c'est exactement la même chose ! Si les développeurs travaillent avec en vue les données des tests d'intégration (= test set) alors le code n'est pas vraiment bon puisque qu'ils développent alors des comportements trop en accord avec ces mêmes données et des bugs sont à prévoir en production. C'est là qu'intervient les tests en validation (souvent faits par le client). Ces tests (validation set) vont alors éprouvés réellement le code afin de savoir si il n'y a pas de bug. Je trouve l'analogie vraiment intéressante.

  • Machine Learnia
    January 21, 2021

    Salut Guillaume, merci beaucoup pour cette super vidéo, comme toujours dans la simplicité et avec sympathie. Je me posais la question de savoir comment tu as fait la simulation numérique vidéo décrivant le phénomène d'Overfitting (un peu avant la 12eme minute de ton tutoriel) ? Par avance merci

  • Machine Learnia
    January 21, 2021

    Bonjour, quelle est la différence entre le validation_set et the train one? quel est l'apport du validation set!!! thanks for helping

  • Machine Learnia
    January 21, 2021

    Merci Guillaume
    Pour le TP j'ai trouvé :
    best_estimator => { metric='manhattan', n_neighbors=14, weights='distance' }
    score => 0.783
    Après avoir tracer la courbe d'apprentissage, on voit qu'on peut améliorer le modéle avec plus de données

  • Machine Learnia
    January 21, 2021

    j'ai ces ligne de code pour la régression quel est le rôle de KFold ? est ce que je peut l'ignorer et donner une valeur fixe pour CV de la cross_val_score

    kfold = KFold(n_splits=10, random_state=7)

    model = SVR()

    results = cross_val_score(model, XTrain, yTrain, cv=kfold, scoring='neg_mean_squared_error')

    print(results.mean())

    Merci professeur j'ai vraiment de la volonté de connaitre plus sur machine learnig grâce a tes vidéo et le votre magnifique livre merci.

Write a comment