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]
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]
])
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) ?
La manière de passer de la cross validation au Grid search CV est juste magnifique!!!!!!!!!!!!!!!!!!!
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
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
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.
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
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 ?
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
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%
Merci beaucoup pour la video ,est ce que vous pouvez faire une video sur l'analyse en composantes principales(ACP) ,merci d'avance.
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 🙁
Y a-t-il du sens à mettre un GridSearchCV à la fin d'un pipeline pour optimiser le modèle? Merci d'avance.
vraiment sensationnel ! merci de tout cœur .
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
Merci beaucoup pour ces tuto magnifiquement montés. Vous avez de la pédagogie que nombreux profs n'en ont pas
Bonjour,
J'ai trouvé 0.769 avec les best_params : metric = manhattan, n_neighbors = 14 et weights = distance
Vos vidéos me font gagner beaucoup de temps. J'apprends très vite avec vous. Merci Guillaume.
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?
Merci infiniment ,votre explication est très très très excellent,Allah bless you
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😊
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é 🙂
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 !
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.
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
Bonjour, quelle est la différence entre le validation_set et the train one? quel est l'apport du validation set!!! thanks for helping
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
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.