MODÈLE DE MACHINE LEARNING - Covid19 (29/30)
HTML-код
- Опубликовано: 5 сен 2024
- Ce tutoriel vous montre une démarche efficace pour développer de bons modeles de machine learning :
1) Entrainer et évaluer une liste de modeles avec les reglages de base
2) Retenir les 2-3 modeles avec le meilleur score de test, en privilégiant les situations de non-overfitting
3) Optimiser les hyper-parametres de ces modeles avec un tour GridSearchCV, puis un tour RandomizedSearchCV
4) régler un threshold pour obtenir le recall ou la précision désiré
► Me soutenir financierement sur Tipeee (et obtenir des vidéos BONUS)
fr.tipeee.com/...
► REJOINS NOTRE COMMUNAUTÉ DISCORD
/ discord
► ARTICLE EN COMPLÉMENT DE CETTE VIDÉO:
www.machinelea...
► Recevez gratuitement mon Livre:
APPRENDRE LE MACHINE LEARNING EN UNE SEMAINE
CLIQUEZ ICI:
www.machinelea...
► Téléchargez gratuitement mes codes sur github:
github.com/Mac...
► Abonnez-vous : / @machinelearnia
► Pour En Savoir plus : Visitez Machine Learnia : www.machinelea...
► Qui suis-je ?
Je suis Guillaume Saint-Cirgue, Senior Data Scientist avec plus de 8 ans d’expérience dans les secteurs de la tech, l’aviation, la robotique, l’énergie, et les usines connectées.
En 2019, j’ai créé Machine Learnia dans le but de partager mes connaissances dans le domaine de l’intelligence artificielle. Mon objectif est d’expliquer en détail le fonctionnement du Machine Learning et de ses algorithmes, tout en rendant ces concepts accessibles à tous.
Je suis convaincu qu'il ne suffit pas de survoler l'aspect mathématique de ce domaine; il est essentiel de s'y plonger en profondeur pour se démarquer. Cette approche a déjà convaincu plus de 150 000 personnes, et ceux que je forme aujourd'hui comptent parmi les meilleurs du secteur.
► Une question ? Contactez-moi: contact@machinelearnia.com
regarder tes vidéos c'est comme regarder un film passionnant tellement que c'est très intuitif vraiment merci infiniment
Merci, c'est un compliment fabuleux que tu me fais la :D Merci beaucoup !!!
J'avais commencer vos vidéos il y a un bout de temps pour ma culture générale, elles m'ont permis d'être suffisamment confiant pour proposer un développement d'un algorithme de machine learning dans mon entreprise. Maintenant qu'ils me font confiance à ce sujet, et à cause de votre trop grande pédagogie , je suis obliger de me farcir l'intégralité de vos vidéo ! M**** !!!!!
Moi qui voyait la Datasciences comme un mystère, et là boom je tombe sur ta série, du coup ma passion pour la data sciences ne fait qu’augmenter 🤩. T’es tout simplement un génie mec 👌🏾.
Merci pour tout ce travail accompli.
Merci ca me fait bien plaisir !
Dude! Your weekly videos have become one of the things I look forward to all week 😂 I've been counting the days till sunday. Keep up the great work 💪
Thanks mate ! Glad you like the videos ! you're the best :)
Excellent pour le projet que vous travaillez dessus . Venant de vous , je suis déja satisfait car votre Livre sera TOP. J'attends cela avec impatience... Merci encore champion ...
Merci beaucoup a vous:)
Une très belle vidéo qui mêle tous les apprentissages précédents et qui en laisse deviner des futurs ! Quel teasing Guillaume !! Bravo.
Merci beaucoup JM ! :)
@@MachineLearnia you're welcome
Merci beaucoup, hâte d'essayer ça sur mon modèle SVM.
Bravo ! C'est important de pratiquer !
Tres triste que c la fin de cette play list 😢
Tres heureux que c'est le debut de notre aventure.
XD trees tres heureux.
Il était temps que cette playlist touche a sa fin, que l'on passe aux choses sérieuses ! :D
Oui monsieur Guillaume, nous avons apris pleins de choses, j'envie de voire tes nouvelles supers videos ^^
@@MachineLearnia Je m'attend désormais à la série sur le deep learning ou bien on ferra d'abord des maths c'est à dire pour comprendre chaque algorithme ou encore du tensorflow 2.0
Je viens de rejoindre cette super communaute sur discord. Merci pour tout ce que vous faites! C'est du plaisir a l'etat pur!
Merci et bienvenue a toi :)
comme toujours vous êtes superbes.
Merci beaucoup
De rien :)
j'adore ce que tu fais merci beaucoup Guillaume :)
merci a toi :)
Encore une superbe vidéo pédagogique et dynamisante, merci ! A tout hasard, est-ce que tu pourrais faire des vidéos de programmation linéaire / d'optimisation sous contrainte (pratique pour l'industrie, la production, la gestion d'une flotte de camions etc.) ? Je continue mon apprentissage sur tes autres playlists !
Merci ! Oui j'ai prévu de le faire sur mon site l'an prochain, une formation avancée sur l'optimisation
@@MachineLearnia extraordinaire ! Merci pour tout ce que tu fais !!!
Super vidéo débordante d’informations et d'astuces merci beaucoup ! En plus teasing sur pleins de nouveaux sujets ! trop hâte de voir la suite :)
Merci ! :) La suite arrive tres vite :D
👍l'homme qui murmurait à l'oreille des machines 👍
ahah
Merci pour cette formidable série
C VRAIMENT CE QUE je cherchais Merciiiiiiiiiii
Yes ! Je suis content de pouvoir aider ! :D
Bonjour Guillaume ! Je viens de terminer la formation et j'ai adoré ! Les explications sont très claires et c'est agréable de travailler en même temps que toi ! Je suis en train de faire l'optimisation du modèle Adaboost mais j'obtiens des scores inférieurs au modèle de base (je pense que je ne sélectionne pas les bons hyperparamètres pour ma RandomizedSearchCV), quels hyperparamètres me conseilles-tu de modifier ? Merci d'avance ! :)
Bonjour Guillaume, comme d'habitude tes videos sont instructif et en plus nous oblige à faire travailler nos nerones(lol) il y a une erreur sur le code initiale de la video et et GitHub : le bon code sur spyder pour que tout fonctionne est :
SVM = make_pipeline(preprocessor, SVC(random_state=(0)))
KNN =make_pipeline(preprocessor, KNeighborsClassifier())
le StandardScaler pour moi me return pas X,y et plante après AdaBoost, mais en enlevant le StandardScaler tout fonctionne jusqu'au graphique et Optimisation ! et le resultat est le meme que vous!! (Bizarre non le StandardScaler!!) enfin je continue d'avancer sur Optimisation(Bonne journée)
Étrange, je n'ai pas eu cette erreur et personne d'autre auparavant de souvenir. Je vais essayer de prendre le temps de corriger cela, mais malheureusement je manque cruellement de temps en ce moment.
En tout cas merci beaucoup a toi ! Je suis tres heureux quand je rencontre quelqu'un qui aide a corriger et améliorer les choses !
@@MachineLearnia je comprend juste pour info moi j'ai eu comme résultat final 0.5238095238095238
0.6875 A++
Merci ! C'est vraiment cool !
J'attend avec impatience la sortie du livre !
Je suis certains qu'il deviendra une référence dans la data science !
Merci a toi ! :D
Je vais donner le meilleur de moi !!!
Merci de vos explications. ....dommage, j'avais des enseignants mal expliquer ces cours
Merci pour votre effort déployé Prof.
Je vous en pris.
Encore une superbe vidéo très enrichissante même si je me perds un peu à la fin sur le threshold. Merci
Merci beaucoup ! Je vais m'assurer de faire des vidéos qui expliquent cela a l'avenir ! :)
Un grand merci Guillaume, toujours au top
Merci beaucoup :)
Super vidéo comme d'hab ! (Attention la miniature indique qu'il s'agit de la vidéo n°28)
Bien vu ! Je vais changer ca tout de suite ! :O
Bonjour merci à toi pour ces efforts.
Grâce à toi j'ai appris beaucoup en machine learning en peu de temps. Je tiens à te remercier solennellement pour ça . J'ai cependant une question. Une fois que le modèle est entrainé dans jupyter lab et qu'on pense qu'il est prêt, comment conserver les poids pour ne pas avoir à réexécuter à chaque fois le modèle pour des tests.
Merci d'avance
Bonjour Guillaume, maintenant j'ai un pipeline complet pour du ML :) Beaucoup de bibliothèques, de paramètres... mais au moins maintenant les étapes sont claires (il faut pratiquer pour connaitre toutes les choix et alternatives...)
Perso, pour notre model_final, j'ai mis 'f1' pour le scoring du RandomizedSearchCV (puisque c'est ce que l'on voulait optimiser) et j'ai du 0.61 en f1 et 0.81 en recall :)
Je ne sais pas si tu passe encore par là, mais je me demande pour le RandomizedSearchCV s'il faut mettre le random_state=0 ou si c'est un non sens...
En tout cas merci :)
Super vidéo comme d’habitude!!!
Merci beaucoup a toi ! :)
Encore une regallade !! J'attends patiemment ce livre, que je compte acheter dès sa sortie. Je n'en doute pas que tu nous proposeras comme d'hab un contenu de qualité. Tu m'enverras mon livre dédicacé de Londres ahah ;) ...
Un contenu qui manque sur internet et dans les livres de machine learning et que je trouve très regrettable c'est l'étape de l'interprétation des (coefficients) des variables dans le cas d'une classification ou encore la catégorisation des variables (associer chaque variable à une classe) dans le cas d'un clustering. La plupart des sites s'arrêtant après avoir trouvé le bon modèle :/
Je ne sais pas si tu envisages de couvrir le sujet mais ça peut être très intéressant.
Merci et bon courage pour le livre!
JL
Merci beaucoup ! :)
Pour le livre, le projet est de couvrir le contenu de cette formation de vidéo, et je prévois déja d'écrire un autre livre sur les algorithmes pour la fin de l'année. Donc tout ne sera pas abordé dans ce premier livre, juste la formation des 30 vidéos, avec quelques extras. Mais j'y réfléchis encore, c'est un travail de dingue, car je ne veux décevoir personne !
Merci comme d'habitude vous êtes super.
Merci beaucoup :)
Bonjour svp est efficace d'exploiter Rapidminer (Auto Model) pour avoir une idée générale d'un tel data set avant l'entamer le traitement approfondi avec python. Merci d'avance
Salut Guillaume, merci pour cette super série ! J'ai une petite question :
Quand tu fixes ton threshold, tu utilises la courbe de précision recall du test set et non pas du train set. Cela ne risque t'il pas de poser des problèmes de généralisation?
Si ! Tout a fait, il faut placer le threshord sur le train set (et non le test set) Je l'ai fait rapidement sur le test set juste pour montrer le principe aux gens, mais j'aurais du insister sur le fait qu'il faut vraiment le faire sur le trainset, my mistake ! Bonne remarque ! Merci :)
@@MachineLearnia alors ca sera :
precision, recall, threshold = precision_recall_curve(y_train, grid.best_estimator_.decision_function(X_train))
Ah ouais très bonne remarque! Ca doit être pour ca que le precision n’atteins pas les 100% vers la fin
merci infiniment pour tes videos Guillaume :) tres explicatives
de rien :) merci de me soutenir
hâte de voir la suite ! :p
J'ai commencé a travailler dessus, ca va etre encore mieux que ce qu'on a fait jusqu'a présent ! :)
chokran Mensieur Guillaume
Vraiment ce sont des vidéos très utiles! merci pour toi . tu peux nous faire des vidéo a propos l'apprentissage par renforcement stp ?
Merci beaucoup ! Oui j'ai prévu d'en faire toute une série apres la série sur Le Deep Learning qui va bientot sortir
Quel bonheur de suivre tes vidéos. Tu es excellent 👌
Merci :)
Encore une fois très inspirant !
merci :)
Machine Learnia je t’ai envoyé un e-mail
@@enzomartin757 Merci, je vais tenter de le lire rapidement (j'en ai des centaines a lire c'est énorme)
Machine Learnia je me doute bien 😅
Bonjour Guillaume,
Je suis actuellement votre formation sur RUclips je vous remercie Dailleur pour l'excellente qualité du contenu ça m'a permis de beaucoup mieux comprendre en cour.
J'ai cependant une question concernant la vidéo sur le projet final covid 29/30
On regarde le recall et le F1 que sur ma deuxième ligne du classification report, et pareil quand on les améliore avec le pr-curve est ce correct ? Car j'ai remarqué que ca ne rendait pas le même résultat qu'avec les metric f1_score et recall_score du coup pour le pr-curve je ne sais pas avec lesquelles faut comparer.
Ca mérite tout un cours a ce sujet, j'en ferai un a l'avenir pour expliquer tout ca.
Bonjour Guillaume,
Et oui c'est la vidéo 29 alors tu pensais peut-être que je ne trouverais plus de question à poser : et bien c'est faut. ;)
Juste une p'tite pour la route :
Dans ta vidéo tu utilises la commande : y_pred = model_final(grid.best_estimator_, X_test, threshold=-1).
Pourtant la fonction model_final attend un modèle et non pas un objet contenant des valeurs (grid.best_estimator_).
Pourquoi ici, le programme accepte cet objet au lieu d'un modèle, qui est bien sûr un objet aussi mais pas du même type ?
Par exemple, j'ai essayé la commande : y_pred = model_final(grid, X_test, threshold=-1) qui fonctionne et qui donne les mêmes résultats.
A+ ;)
Bonjour Noel,
L'attribut best_estimator_ de l'objet grid est en fait un modele (le meilleur estimator de la grille) donc c'est cohérent que cela fonctionne
Dans sklearn, l'objet grid est lui-meme un estimator (car on peut bien faire grid.fit(X, y) pour entrainer la grille de modele) c'est pourquoi on peut également le passer dans cette fonction finale.
Je recommande cepndant de bien utiliser best_estimator_
PS : C'est un plaisir de répondre a tes questions :)
merci pour toutes tes explications, est ce qu'on peut utiliser ces modèles pour faire des prévisions ?
Merci beaucoup Guillaume
de rien :)
merci pour vos Super vidéos , j'ai une question SVP j'ai un variable qui decrit les coordonnés sous forme (x,y) et je cherche à l'encoder
Bonjour, merci pour cette vidéo. Je ne parviens pas à afficher ma pipeline en entier sous colab lorsque j'écris "SVM" par exemple, j'obtiens seulement : Pipeline(steps=[('pipeline',
Pipeline(steps=[('polynomialfeatures', PolynomialFeatures()),
('selectkbest', SelectKBest())])),
('standardscaler', StandardScaler()),
('svc', SVC(random_state=0))]) et non tous les hyperparamètres
bonjour
pouvez vous m'indiquer dans quelle vidéo se trouve le traitement de données des iris (prédiction de la longueur des sépales, pétales..) ?
Merci d'avance
Je l'ai fait dans la video 20 (mais ca n'est pas a proprement parler une analyse)
Avec un nettoyage préci des données, j'ai pu avoir un recall = 0.75 et un f1_score = 0.72
Un pur moment de plaisir, comme d'habitude, merci!
Qst : quelle est la méthode de scoring par défaut de la learning curve? selon la doc sklearn c'est "None" ... dans ce cas la learning curve montre l'évolution de quoi? J'ai essayé de préciser le scoring pour un classif multiclass et ça ne marche pas, il n'a que None qui marche donc qu'est ce que c'est?
Pareil pour GreadSearchCV, j'arrive pas à préciser le scoring.. comment y remédier?
Hello ! Si tu utilises les parametres par défaut, alors c'est le score de la classe de l'estimator en question qui est choisie. Donc c'est Accuracy pour les classifiers, et R2 pour les regressors.
Sinon pour choisir une fonction de score il faut la passer en "string". Une astuce : écrit n'importe quoi dans la string et sklearn te retourne une erreur qui contient toutes les strings disponibles !
Machine Learnia génial, tout compris! Merci !!!
1 ère tâche :Allume mon pc merci pour ce tuto 👍😊
Génial ! Merci :)
Hello Guillaume !! Super video comme d'hab !! Mais j'ai une question . Maintenant que le modèle est optimisé , comment peut on écrire la fonction prédisant si oui ou non , une personne peut etre atteint du covid , a titre exemplatif bien entendu ; un peu comme dans la video du titanic.
Il faut fournir un vecteur de dimension (1, n) a une fonction de prédiction. (n est le nombre de variables utilisées dans le modele)
@@MachineLearnia ok je vois .. du genre X = np.array[x1 , x2 , etc.].reshape(1,n) ?
Et le modèle predict sera basé sur le trainset tel que model.predict(X_train) ?
A quel niveau devrai je faire intervenir le threshold ?
Bonjour Guillaume,
merci beaucoup pour tes séries de vidéos sur Python Spécial Machine Learning, tes vidéos m'ont beaucoup aidé à développer un modèle qui est capable de dire si un abonné va recharger des unités(dans le domaine de télécom) dans les 3 prochains jours.
mais j'ai un souci que je sollicite ton aide, je n'arrive pas exploiter ce modèle avec le nouveau dataset, la question est de savoir comment Loader un nouveau dataset dans le modèle
merci d'avance pour ton aide.
nous attendons avec impatience la suite de séries comme promis.
Bonjour,
Je suis content de pouvoir t'aider. Pour charger des données dans un modele tu peux charger ces données avec Pandas (open_csv, open_excel, open_url) ou bien en utilisant les formats JSON (tres populaires dans la pratique)
Bonjour Junior, Pouvez vous me donner le dataset svp ?
Merciiii. Et Bravoooooo
Merci a vous :)
Propre 😉
Mr
Merci encore !
De rien de rien :)
Amazing, keep going
Thank you 🙌
Bonjour Guillaume merci pour cet excellent travail. Stp j'ai une question pr le SVM lorsque je voulais voir ces hyperparamètres je ne vois que la pipeline les hyperparamètres SVC sont cachés. comment je peux les voir ?
merci
input SVM
Out Pipeline(steps=[('pipeline',
Pipeline(steps=[('polynomialfeatures',
PolynomialFeatures(include_bias=False)),
('selectkbest', SelectKBest())])),
('standardscaler', StandardScaler()),
('svc', SVC(random_state=0))])
Hello et merci :)
tu peux acceder aux étapes d'une pipeline en écrivant cela : pipeline[0] (pour l'étape 0) pipeline[1] (pour l'étape 1) etc
Ou bien en écrivant pipeline['svc']
Tu verras alors les parametres de ton svc.
Tout d'abord, je suis reconnaissant pour ton grande aide à comprendre le monde de python et ML, je suis Colombien et je te suis parce que c'est le tutoriel le plus complet que j'ai vu. J'ai une question, est-ce-que tu sais si la fonction learning_curve peut être utilisée pour des problèmes de régression, pour prédire un âge ? et si non, quelle fonction puis-je utiliser pour voir la courbe d'overfitting ? Encore une fois, merci beaucoup...
Oui tu peux utiliser cette fonction pour les regressions. Je te remercie pour ton message :)
Merci Guillaume pour cette vidéo ! Quel sera le sujet de la 30/30 ? Les tests statistiques ?
Ca sera une vidéo de conclusion, je ferai les tests statistiques a l'avenir !
Bonjour Monsieur
Est ce que le Binariser() on peut le mettre sur les pipelines.
Par exemple pour le modèle SVM ou logistique :
SVM = make_pipeline(preprocessor, standardScaler(), Binarizer(), SVC(random_state=0)
Oui vous pouvez, mais attention car il va "binariser" toutes vos variables, et je pense que vous ne voulez pas cela. Il voudrait mieux utiliser un columnTransformer pour selectionner les variables que vous souhaiter transformer avec le binarizer, ou bien faire toutes les opérations de traitement a la main, sans passer par une pipeline SKLEARN.
@@MachineLearnia d’accord mais j’ai du mal à intégrer le Binarizer sur mon model. Est ce que vous pouvez me corriger sur le model en intégrant le Binarizer sur les variables comme Age, Montant SVP.
Mon model est : SVM = make_pipeline(preprocessor, standarScaler(), Binarizer (), SVC(random_state=0).
Juste une correction pour que je puisse l’appliquer sur d’autres modèles SVP
bonsoir
si tu veux nous fournir une modelisation pareille type regression,ce sera tres genial
merci pour ces videos super.
Je vais le faire oui
Merci beaucoup pour vos magnifiques vidéos. Ou est-ce que je peux trouver le Dataset sur covid que vous utilisez dans cette video svp?
sur github, le lien est dans la description
bonjour
est ce qu'on doit transformer notre y_test avec le polyFeatures et le scaler pour le comparer avec ypredicted ou non ?
merci
pas le y non.
Bonjour, quelqu'un connais l'équivalent de decision_function pour un modèle de RandomForest classifier? Merci d'avance!
tres bonne video comme toujours. Comment deployer un model de prediction et utiliser une interface graphique/ web page pour entrer les données et recevoir la prediction ?
Vous pouvez simplement créer une interface HTML et la coupler a vos données de sklearn. Pour du Deep Learning, il existe également Tensorflow.js (javascript)
Merci à vous Guillaume.
Au fait, j’aimerais avoir quelques précisions par rapport à l'utilisation du dataset de test (X_test et y_test) pour trouver un bon seuil “threshold”.
Est ce que cela n'enfreint pas la règle stipulant la non utilisation des données de tests dans la construction de notre modèle ?
Si, il ne faut pas le faire. J'ai été trop rapide dans la video, mais il faut trouver le bon seuil sur les données de validation. Pas les données de test.
Merci beaucoup pour ce que tu fais Guillaume, j'ai un souci, une fois le modèle parfait obtenu comment faire de nouvelle prédiction avec les variables qui ont été retenues comme pertinantes tout en sachant que certaines variables ont subli des modifications lors pré-processing(comme le onehotencoder et autre).
De facon plus précis, si par exemple parmi les variables à expliquer on a la variable région (Paris, Toulouse, ...) sachant que cette dernière a été encodée lors du pré-processing, j'aimerais savoir comment faire une nouvelle prédiction avec comme valeur à région égale à Paris.
j'espère m'être compris encore merci pour cette chaîne.
Bonjour,
Il faut créer une pipeline de preprocessing et utiliser les memes code qui ont servit pour le trainset, sur le test_set (ou les valeurs futures). Pour ca on peut utiliser la classe Pipeline de sklearn (on l'a vu dans des anciennes vidéos) J'espere que ma réponse va t'aider :)
Svp j'ai un probleme de multi classification et imbalanced data comment je peux resedoure ce probeleme et merci?
Merci, trop bien cette vidéo sur les modèles et comment on combine entre eux.
Merci beaucoup.
J'ai juste une question, à votre avis est ce que pour un domaine médical un f1-score de 60% et un recall de 75% peut être considéré comme un bon modèle pret à être déployer, peut-o encore améliorer ce modèle afin d'avoir une bonne précision ainsi qu'un bon recall ?
sur ceux portez vous bien et prenez soin de vous.
Tout dépend du cahier des charges ! On ne peut pas dire si c'est bon ou mauvais comme ca. Mais a mon avis, ca n'est pas suffisent pour la majorité des applications.
salut !
j'espère que vous allez bien
j'ai un problème lors ce que j'ai utilise polynomiale 2 un message d'erreur qui me dit que la dimension du tableau est trés grande
ps : mon dataset (2 millions de lignes , 81 colonnes)
merci :)
bonjour merci pour la vedieo svp c normal apres l evaluation de model e trouve des valeur differente de votre valeur ?? et svp j ai envoye un email ask je peux recevei ma reponse merci bcp
Bonjour, il c'est normal d'obtenir des résultats différents car cela est du a l'algorithme de recherche aléatoire RandomizedSearchCV. Vous pouvez executer cet algorithme plusieurs fois pour obtenir des résultats similaires aux mieux, voire meilleurs. Pour les emails, j'en ai plusieurs centaines a lire, ca me prend beaucoup de temps donc je suis navré si je n'ai pas encore répondu au votre.
Merci deuxième fois :D, s'il vous plait, on peut utiliser l'attibut random_state dans la fonction RandomizedSearchCV pour toujour avoir les memes selection des choix ?
Oui en effet. :)
Je suis entrain d'optimiser tous les models, et utiliser le stacking, je vais partager ma reponse.
Comment fait-on pour faire des learning curves avec les algorithmes qui n’ont pas de function de décision ?
bonjour, vous confonde 2 concepts différents : learning_curves et decision function. Sur Sklearn, pour tracer des learning_curves, je montre ca dans la vidéo 21. Vous povuez le faire pour tous vos modeles.
@@MachineLearnia Oui effectivement je parlais des courbes précision recall. J’ai réussi à le faire de toute façon. Merci beaucoup ! Continuez ce que vous faites
Bonjour,
Lors de l'exécution de " y_pred=grid.predict (x_test)" je reçois une erreur " 'SVC' object has no attribute 'shape_fit_' "
Que je dois faire, SVP?
Bonjour, il faudrait partager votre code complet sur Discord, merci !
super video . claire et facile à comprendre, juste du grand art!
juste une question comment choisir le bon nombre d'iteration pour randomizesearch ainsi
que les hyper parametres pour Adaboostclassifier et SVM. je n'arrive pas non plus à obtenir le livre. comment le telecharger
Le sujet est tres long, j'en parlerai un jour en video
Super
merci :)
Bonjour Guillaume , le nombre K , doit-il pas être inferieure à n_features ?
Si tout a fait
@@MachineLearnia c'est bon je me suis rendu compte de mon erreur , dans le pipeline Preprocessing j'ai inversé entre PolynomialFeatures et SelectKBest c'est pour cela il n'arrivais pas à reconnaitre les colonnes rajoutés .
Bonjour juste une question est ce que le projet sur le corona virus est un modelé d'apprentissage supervisé ou bien non supervisé ? sinon merci pour toutes ces vidéos très intuitifs
Supervisé. Merci a vous :)
quelle est la différence entre un data scientist et un analyst data ? et à quel niveau on peut faire la distinction entre les deux ed point de vue formation ?
Cette formation est plus destinées aux data scientists.
Je vais faire une vidéo qui explique es différents métiers a l'avenir
Et puis j'oubliais, es ce que nos résultats seront dépendants du threshold de la fonction de décision ? Si oui allons devrions nous le spécifier dans la fonction de prédiction ?
Oui les résultats dépendent du threshold. Il faut créer sa propre fonctions de prédiction en prenant en compte le threshold
Je suis entrain d'ameliorer la performance d'ensmble Boosting (adaBoost)
Je suis dans la première étape, avec le gridsearchCV, j'ai essayé d'avoir les meilleurs hyperparameitres (n_estimators, learning_rate, algorithm soit [SAMME ou SAMME.R]), je reçoi des graves erreurs, et puis j'ai eleminer le paramaitre algorithm, et autre fois je reçoi des mauvaises erreurs :(, y a t'il une solution ou un aide ?
Je veux utiliser cette algorithm, avec 3 autre algorithm, pour faire du stacking, est ce que c'est possible?
Oui, c'est tout a fait possible ! :) Et j'ai vu ton code sur Discord, bravo il est super !
Merci monsieur :)
Vraiment Rien à dire Guillaume je vous remercie infiniment pour cette formation qui est extraordinaire.
Juste une question: dans la dernière étape j'ai essayé avec threshold=-0.7 et j'ai obtenu un f1_score= 0.64 et recall_score= 0.75 qu'est-ce que vous en pensez ?
Merci.
Pas mal du tout ! Bien joué ! Cela veut dire que vous arriveriez a correctement identifier 75% des contaminés, tout en limitant le nombre de faux positifs (personnes non-malades envoyées a l'hopital).
Dans la pratique, ca ne serait pas suffisamment bon, mais pour cet exercice, c'est du bon travail ! (car nous n'avons pas de tres bonnes données)
@@MachineLearnia Bien reçu
Merci beaucoup Guillaume
Salut j'ai une question un peu hors sujet,
Lorsque je lance un program qui en demande trop à mon ordi, mon ordi crash.
Ducou je voulais savoir si il y avait un moyen de limiter le nombre de calculs par secondes ou d'étaler les calculs sur le temps un truc comme ca.
Sinon tes vidéos sont super continue comme ca
Bonjour, en principe le mieux est d'acheter un autre processeur ou un GPU si vous rencontrez ce probleme
@@MachineLearnia D'accord Merci
re salut ask le softwar Orange peux facilite la tache et nous donne directement le bon model ?
Orange est un bon outil de Data Mining pour débuter
Bonjour Guillaume,
Peux-tu m'expliquer pourquoi la commande SVM me donne les informations réduites suivantes :
Pipeline(steps=[('pipeline',
Pipeline(steps=[('polynomialfeatures',
PolynomialFeatures(include_bias=False)),
('selectkbest', SelectKBest())])),
('standardscaler', StandardScaler()),
('svc', SVC(random_state=0))])
Je n'arrive pas a avoir la liste des hyper paramètres des processus de la pipeline comme dans la vidéo.
Merci.
A+ ;)
Bonjour Noel :)
Je ne suis pas sur de bien comprendre ta question.
As-tu vu le code que j'ai posté sur Github, qui permet de reproduire exactement les résultas de la vidéo ?
@@MachineLearnia C'est à partir de ton code que j'ai fais les tests mais cette commande ne me renvoie que :
Pipeline(steps=[('pipeline',
Pipeline(steps=[('polynomialfeatures',
PolynomialFeatures(include_bias=False)),
('selectkbest', SelectKBest())])),
('standardscaler', StandardScaler()),
('svc', SVC(random_state=0))])
Du coup, il est impossible de lire les valeurs des hyper paramètres que l'on peut cherche à optimiser.
Après des tests, le code fonctionne dans Google colab.
Par contre il ne fonctionne pas non plus dans le Jupyter de Anaconda.
Cela doit donc venir d'une configuration non correcte sur mon ordinateur.
A suivre...
Alors là, mystère total :
J'ai installé une distribution linux dans une machine virtuelle, puis Anaconda et Visual studio code.
Dernière version de python, pip, pandas, numpy, matplotlib, sklearn, seaborn, kite...
Et toujours ce défaut d'information : la commande SVM est succincte aussi bien dans Anaconda Jupyter que dans VS Code.
Je me demande donc quel est le problème de configuration de Python ?
A+ ;)
Windows oblige à intervalles temporel régulier, j'ai formaté et ré-installé le système d'exploitation.
Python, et bla-bla librairies, tout neuf.
Anaconda fraichement installé.
Ton code brut de décoffrage.
Et, ET, EEEEETTTTTTTTTTT... Cela ne fonctionne toujours pas.
Alors là le mystère reste entier et le restera peut-être à tout jamais...
A+ ;)
Salut Guillaume , merci encore pour cette formation.
je travaille actuellement sur un projet ou il sera question pour moi de prédire la probabilité d'appartenance à une classe .
pour ce fait , plusieurs recherche que j'ai eu à faire m'ont renvoyé sur l'utilisation de la régression logistique , ce pendant j'ai quelques préoccupations
- est il possible de changer le seuil de décision en tant que paramètre lors de la création de model ?
- est ce que la régression logistique est le seul modèle adapté à ce type de problème étant donnée qu'avec d'autre modèle tel que RandomForest on peut aussi avoir la probabilité appartenance a la classe en utilisant la méthode preditc_proba.
Hello, non on peut utiliser d'autres modeles : les modeles baysiens donnent également des probabilités par exemple. En principe on choisir plutot le seuil apres l'entrainement du modele.
Guillaume peu tu m'aider je n'arrive pas à afficher SVM sur la console spyder, aurai vous une astuce merci!
Bonjour, je ne comprends pas vraiment la question : Afficher le Support Vector Machine sur la console ? Que veux-tu dire ? Je suis heureux de t'aider :)
@@MachineLearnia Pour imprimer la Pipeline SVM sur la console pour voir tout ces attributs comme tu nous le montre.
tu peux faire print(model)
1000 merci ne suffira pas vue que cette formation est la meilleur dans le domaine , j'ai juste une petite question apropos l'otimisation , en faite avant l'optimisation j'ai trouvé SVM.score(X_test,y_test) = 0.87 , mais aprés notre optimisation je trouve grid.score(X_test,y_test) = 0.45 !!!! donc j'ai pas compris l'amélioration !!! Merci d'avance
Merci beaucoup ! C'est normal ne vous inquiétez pas ! Dans une GridSearchCV, il y a une validation croisée (d'ou le CV de gridsearchCV) et la cross-validation prends certaines données du trainset pour les mettre dans le validation set. De ce fait, le modele que vous obtenez semble moins bon, mais en fait c'est parce qu'il a été entrainé sur "moins" de données, et en réalité cela le rend plus robuste que le premier modele que vous aviez, car le premier modele était surement en overfitting par rapport au second. Je sais que ca semble parfois un peu compliqué, je devrais peut-etre refaire une vidéo a ce sujet a l'avenir.
A bientot et merci pour votre soutien :)
@@MachineLearnia merci infiniment pour l'eclairage
Bonjour, pourquoi j'ai cette erreur: ValueError: Invalid parameter C= for estimator SVC(C=1.0, break_ties=False, cache_size=200, class_weight=None, coef0=0.0,
decision_function_shape='ovr', degree=3, gamma='scale', kernel='rbf',
max_iter=-1, probability=False, random_state=0, shrinking=True, tol=0.001,
verbose=False). Check the list of available parameters with `estimator.get_params().keys()`.
avez-vous pensez a mettre les doubles _ _ entre les steps et les hyper-parametres comme je l'ai fait dans la vidéo ? il se peut que votre erreur vienne de la.
Bonjour Guillaume merci encore pour cette vidéo très intéressant et de bonne qualité :)
Sinon les codes de cette vidéo ne sont pas sur github. Merci :)
Je vais les mettre aujourd'hui ou demain, promis ! :)
Bonjour @MachineLearnia, merci pour tout ce que tu fais pour nous. Je voudrais savoir comment faire pour vous soutenir via tipee. Je ne connais pas trop tipee du coup je sais pas comment m'y prendre.
Je vous remercie tres sincèrement pour votre soutien ! Pour tipeee, il faut vous rendre sur le site officiel (le lien est dans la description de la vidéo au dessus). Une fois sur Tipeee, vous devez créer un compte et envoyer une petite somme depuis votre compte paypal ou bien votre compte bancaire (totalement sécurisé) et voila (tout est expliqué en ligne, vous ne pouvez pas vous perdre !) :)
Encore une fois, un GRAND MERCI :)
C'est ok pour tipee !!!
Qu'est-ce qu'on verra à la vidéo 30 ?
Quel est la différence entre SVC et Linear SVC?
LinearSVC est un support vector machine avec un kernel Linéaire. C'est une fonction tres simple (donc un peu limitée) mais tres rapide, le SVC quant a lui propose d'autres kernels (pour développer des fonctions bien plus complexes, mais plus lentes)
Salut, peux tu faire un cours sur spark en python?
Oui, j'ai prévu de faire une série la dessus un peu plus a l'avenir ! :)
@@MachineLearnia 🥰🥰🥰
Je voudrai avoir votre avis sur un projet. Je souhaite faire de la prédiction des épidémies avec Random Forest (RF).
Cependant, je voudrai modifier l'algorithme RF de telle sorte que les variables climatiques soient toujours prises
en compte lors de la création de chaque arbre de la forêt. Dites moi, à votre avis, est-ce un objectif réalisable ?
Merci d'avance.
Impossible de faire cela en utilisant les classe RandomForest de Sklearn. Par contre rien ne vous empehe de créer vos propres arbres de décision et les réunir dans une pool de vote. Voici un article qui montre comment faire cela. stackoverflow.com/questions/42427437/make-randomforestclassifier-pick-a-variable-for-sure-during-training
@@MachineLearnia Merci beaucoup Guillaume pour votre réponse. Je vais lire attentivement cet article.
Autre chose, je voulais modifier la méthode "predict(Self, X)" de Sklearn pour arriver à cet objectif. Est ce que ça peut marcher (Le but est d'imposer l'utilisation des variables climatiques) ? Juste pour être sûr de ne pas passer à côté d'une piste intéressante.
Je veux apprendre avec vous donc je voudrais avoir une discussion si possible merci
Bien sur je ferai de mon mieux pour vous aider, vous pouvez me contacter sur Discord
@@MachineLearnia ça marche !
Bonjour Guillaume,
Je voudrais savoir où est ce que les tipeurs doivent poser leur questions pour avoir une réponse rapidement.
J'ai posé 2 à 3 questions dans la section commentaire sur tipee il y a 4 jours mais j'ai pas encore eu de réponse.
Merci d'avance.
Je n'ai pas vu tes commentaires désolé ! En revanche je lis et je réponds a tous les messages privés ! Mais je vais de ce pas lire tes commentaires et y répondre, c'est juste pour l'avenir comme ca tu sais que tu auras des réponses plus rapides en message privé
@@MachineLearnia Ok, compris. En revanche, je ne connais pas l'adresse à laquelle on envoie les messages privés.
@@MachineLearnia Ok, compris. En revanche, je ne connais pas l'adresse à laquelle on envoie les messages privés.
bientot l'épisode 30 / 30 :D
Oui ! et ensuite... de plus beaux projets !
@@MachineLearnia génial. j'ai un peu laché car j'ai du me reconcentrer sur la méthodologie projet et les réferentiels qualité pour le boulot... par contre je trouve que les explications sont toujours aussi claires, les exemples, la présentations aide à l'apprentissage sont pas mal !
@@Manon-4096 Super ! Je continue sur cette voie et je ferait tout pour aider la communauté a progresser ! Bon courage dans tes projets et je suis heureux que tu restes attachée au ML malgré ton travail ! C'est super, bravo ! :)
je rencontre toujour ce warming pourtant tu l'as corrigé dans le tuto par includ_bias _univariate_selection.py:115: RuntimeWarning: invalid value encountered in true_divide
f = msb / msw
Attention, il faut changer cela dans polynomialfeatures, non pas dans selectKBest
@@MachineLearnia J'ai suivi ce que vous aviez fait dans le tuto : preprocessor = make_pipeline(PolynomialFeatures(2, include_bias=False), SelectKBest(f_classif, k=7)) mais toujours je rencontre ce message dans la console ' includ_bias _univariate_selection.py:115: RuntimeWarning: invalid value encountered in true_divide'
J'ai trouvé la solution cela était dû à un score 0 qu'il trouve dans le calcul de moyenne de score pour une étiquette. Merci
Bonjour Guillaume, je voudrais connaitre l'adresse à laquelle les tipeurs peuvent envoyer les messages privés.
en haut a droite de la page tipeee il y a un bouton pour envoyer un message privé :)
Jai vue toutes les video de 1 a 30🤗svp si je demande pas trop😟est ce vius poucez nous montrer comment presenter les resultat a un client surune page web.
J'espere que les vidéos vous ont plu ! :)
Pour faire ce genre de chose, vous pouvez utiliser Streamlit, ou si vous avez des compétences en HTML / Javascript, coder votre propre page, en utilisant Django par exemple.
Ou alors il y a AWS qui propose des service pour cela.
Oh wiiiii ces video mon bc aidé imaginez une personne qui na aucune notion sur le machine learning avec les notions de base que jai apris. Jete selectionner en tant que cvef de projet pour faire la maintenace predictive de finctionnement dune turbin a gaz. Pouquoi pas passer apres au deep learning en suivant tjr vos video🤗 je vous remercie vous mavez bc aidé☺
Cc bonjour jespere que vous avez bien demenagé. Est ce que je peux vous poser une question sur une donnée de prg python ou je suis coincée🥺sur une variable date qui est une predicteur. Lorsque jexecute le model regression il maffiche ke je dois convertir datime en string oun int. Maus jai pas trouvé le bon code.
Mon AdaBoost meme avec un RandomizedSearchCV fait n'importe quoi. Si je lui donne scoring = 'recall' il me trouve un super recall de 0.69 mais une precision à 0.11 donc en gros, il a dit que tout le monde avait le covid.
Et si je lui met un randomized search cv en scoring f1 il me retourne un recall à 0.25 donc en gros il dit que personne n'a le covid.
Pas terrible
Rnadomized search est comme son nom l'indique aléatoire, donc il peut vraiment passer a coté des bonnes configurations malheureusement.
Cher Guillaume je te remercie pour tes vidéos précieuses, j'ai trop aimé le dernier projet du covid19, actuellement je travaille sur d'autres données du covid19 :
www.kaggle.com/sudalairajkumar/novel-corona-virus-2019-dataset/tasks?taskId=508
mais je trouve des difficultés car les nouvelles données sont différentes avec celle de ton projet, es ce que c'est possible de nous illustrer tout ça dans une vidéo svp ?
Je vais voir ce que je peux faire :)
@@MachineLearnia Merci