Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2361 connectés 

 


Utilisez-vous du machine learning dans votre job ?




Attention si vous cliquez sur "voir les résultats" vous ne pourrez plus voter

 Mot :   Pseudo :  
  Aller à la page :
 
 Page :   1  2  3  4  5  ..  33  34  35  ..  133  134  135  136  137  138
Auteur Sujet :

[Topic Unique] Machine Learning & Data Science

n°31305
Bébé Yoda
Posté le 01-05-2018 à 14:44:32  profilanswer
 

Reprise du message précédent :

o_BlastaaMoof_o a écrit :

 

Faut définir ce que tu appelles des vraies stats. En général, les concepts de stats nécessaires au travail d'un data scientist sont assez légers.
Pour ma part, j'ai fait un peu de stats dans le cadre de ma formation initiale en mathématiques (c'était l'une des UE sur un semestre de master), je n'ai malgré cela aucune difficulté à suivre les data scientists dans leurs raisonnements.

 


 
o_BlastaaMoof_o a écrit :

 

Des exemples de profils tocards, je peux t'en sortir un paquet.
Le dev qui a senti le vent tourner et s'est mis à la data en faisant quelques MOOCs et des Kaggles, c'en est un effectivement.
Le pur stateux qui n'a jamais vu d'autre outil que R ou SAS et qui est infoutu de pondre le moindre bout de code bien écrit, c'en est un autre. (NB : R et SAS ne sont pas des langages de programmation.)
L'ingé qui se vend data scientist parce qu'il a un jour écrit un petit code Python qui traite des donneés (no shit, je me demande bien dans quelle discipline on n'est jamais amené à traiter de la donnée), c'en est encore un autre.

 

Au quotidien, je suis pas loin de péter un câble dans mon environnement actuel.
Entre ceux qui ne comprennent pas la différence entre un fichier et une base de données... parce qu'après tout, un fichier SAS, c'est une table :heink:
Ceux qui écrivent des codes R ou Python sans se soucier du typage de leurs données et du coup passent leur temps à me réclamer des bécanes avec des quantités de mémoire délirantes... mais arrêtez avec vos chaînes de caractères putain :pt1cable:
Ceux qui utilisent le ML en mode boîte noire comme des gorets sans comprendre ce qui se passe :ange:
Ceux qui continuent à discrétiser et binariser toutes leurs données avant de les balancer dans un algo de RF... :fou:
Ceux qui en plus ajoutent le carré et le cube de toutes les données pour introduire de la non linéarité... :sweat:

 

J'en ai marre.

 

Question con, mais si tu leur explique 2/3 trucs ils adaptent leur comportement ou pas?
Le plus important c'est la capacité à évoluer et progresser et apprendre.

n°31306
o_BlastaaM​oof_o
Posté le 01-05-2018 à 15:35:41  profilanswer
 

Bébé Yoda a écrit :


 
Question con, mais si tu leur explique 2/3 trucs ils adaptent leur comportement ou pas?


Bien sûr que non :)

n°31307
Bébé Yoda
Posté le 01-05-2018 à 16:17:32  profilanswer
 

o_BlastaaMoof_o a écrit :


Bien sûr que non :)

 

Alors oui il y a de quoi en avoir marre :)

 

Perso je débute j'ai de mauvais réflexes mais je note absolument tout ce qu'on me dit pour pas reproduire les erreurs et faire au mieux. Du coup ils m'en veulent pas trop (enfin je crois)

n°31308
Profil sup​primé
Posté le 01-05-2018 à 18:15:08  answer
 

Tu peux me rappeler ce qu'ils font avec les chaînes de caractères ? Tu en avais parlé j'avais trouvé ça intéressant

n°31309
Profil sup​primé
Posté le 02-05-2018 à 16:47:07  answer
 

Salut,
 
J'ai une petite question. Comment choisir le kernel adéquat dans un classifier SVC (http://scikit-learn.org/stable/modules/generated/sklearn.svm.SVC.html) ?
 
Contexte : j'ai absolument pas vu en cours la notion de kernel etc d'où ma question
 
J'essaie de comparer diverses méthodes de réduction de dimensions sur de la classification d'images et donc j'ai besoin de classifier les images avant réduction de dim et comparer avec la classification après réduction.  
 
Je travaille sur le set d'images LFW et dans l'exemple scikit-learn ils utilisent un kernel "rbf"  
 
http://scikit-learn.org/stable/aut [...] gnition-py
 
(Ils utilisent un SVC après un PCA)
 
En utilisant aussi un kernel rbf j'obtiens un score catastrophique sur mes données brutes alors qu'avec un kernel "linear" j'obtiens un score tout à fait raisonnable (85%).  
 
 
Merci d'avance  :jap:

n°31310
Profil sup​primé
Posté le 04-05-2018 à 10:31:56  answer
 

D'accord, merci pour ta réponse très complète, je regarde ton lien  :jap:  
 
En gros, ça revient à faire ce que les gars de stack-overflow recommandent : une gridsearchCV avec les différents kernels disponibles, sauf qu'il faut aussi chercher la valeur optimale de C... et le nombre optimal de composantes principales. Et ça prends une plombe à tourner (pourtant j'utilise une Pipeline en mettant en cache les résultats et en parallélisant les calculs pendant la gridsearch...).  
 
Je vais plutôt m'orienter sur http://scikit-learn.org/stable/mod [...] ifier.html , moins de choses à optimiser, ça ira plus vite. Fin bref, merci d'avoir pris du temps pour me répondre  :jap:


Message édité par Profil supprimé le 04-05-2018 à 10:32:29
n°31311
ShoTo
... fuck ... mother fucker ...
Posté le 04-05-2018 à 19:13:44  profilanswer
 

Dr_Zaius a écrit :


On parle pas forcément d'un M2 fonda mais de solidement maîtriser tout le programme d'une licence de maths et un peu au-delà (juste pour le strict minimum en stats).


Sérieux ?
Quand je vois des gens en L3 maths à Jussieu galérer (très peu réussissent) c'est HYPER chaud  :sweat:


---------------
The king stays the king. D'Angelo Barksdale
n°31312
Profil sup​primé
Posté le 04-05-2018 à 19:18:49  answer
 

genji_ a écrit :

Pas be soin de faire de grid search pout tout.
PCA: trace les valeurs propres de la matrice de covariance de tes données et prends la dimension qui te donne 80 / 95 % de la variance. Ça te fait deux valeurs à essayer.


 
C'est ce que j'ai fait, avec un beau graphe en prime :jap:
 

genji_ a écrit :


Largeur du noyau rbf: calcule ta distance moyenne au 3e / 10e plus proche voisin et utilise ça.
Paramètre de régularisation : je suis plus habitué à travailler dans le primal avec des valeurs de lambda autour de 1/N (N ton nombre de points). Essaye de 1/100N à 100/N par paliers multiplicatifs de 10. Je te laisse trouver la valeur de C correspondante.


 
Merci pour l'astuce avec la val de C, je note. :jap:
 
Le pb c'est qu'il n'y a pas que PCA à tester :D

n°31313
Profil sup​primé
Posté le 04-05-2018 à 19:21:11  answer
 

Tu testes sur quoi ? Quelle taille ton set de données ?


Message édité par Profil supprimé le 04-05-2018 à 19:21:20
n°31314
Profil sup​primé
Posté le 04-05-2018 à 19:24:44  answer
 
n°31315
Profil sup​primé
Posté le 04-05-2018 à 20:09:43  answer
 

et sur quelle machine?

n°31316
Profil sup​primé
Posté le 04-05-2018 à 20:19:31  answer
 


 
Un elitebook, 16 giga de ram...

n°31317
Bébé Yoda
Posté le 04-05-2018 à 20:22:06  profilanswer
 

Le grid search c'est vraiment brutal comme méthode, ça prend un temps fou.
Vaut mieux privilégier du random grid search amha

n°31318
Profil sup​primé
Posté le 04-05-2018 à 20:25:49  answer
 

Bébé Yoda a écrit :

Le grid search c'est vraiment brutal comme méthode, ça prend un temps fou.
Vaut mieux privilégier du random grid search amha


 
Ouaip, c'est un bruteforce quoi, merci du conseil, je testerai au boulot  :jap:

n°31319
Bébé Yoda
Posté le 04-05-2018 à 20:30:06  profilanswer
 

 

Tu as tout ce qu'il faut dans scikit pour ça :)

n°31320
uuuugh
Posté le 04-05-2018 à 22:45:37  profilanswer
 

le problème du grid search c'est quand l'influence d'un hyperparamètre à un certain endroit est beaucoup plus grande que celle des autres, du coup on fait souvent une tonne d'iterations qui servent pas à grand chose. faire un random search résout ce problème, tu peux aussi faire une optimisation bayesienne  
https://mathworks.com/help/stats/ba [...] study.html
 
après y'a des certains ordres de grandeurs qui reviennent souvent, tu peux essayer ce que propose genji ça devrait bien marcher
 
(par contre tes 85% d'accuracy sur les données brutes ça me parait beaucoup avec un SVM linéaire si t'as un truc plus compliqué que mnist  [:quardelitre] )

n°31321
o_BlastaaM​oof_o
Posté le 04-05-2018 à 22:50:18  profilanswer
 

Incroyable, quelqu'un qui publie un lien MathWorks...

n°31322
uuuugh
Posté le 04-05-2018 à 22:59:05  profilanswer
 

o_BlastaaMoof_o a écrit :

Incroyable, quelqu'un qui publie un lien MathWorks...


j'ai fait pas mal de matlab en école j'aime bien leur documentation :o matlab avec le recul c'est pas mal quand même :o

n°31323
Profil sup​primé
Posté le 04-05-2018 à 23:10:27  answer
 

 

Tu peux louer une machine 8 cores avec 30GB de RAM pour 50ct/h sur AWS, je te conseille vraiment de passer à autre chose que ton portable si tu veux faire quelque chose de sérieux. Si c'est pour un stage/mémoire ca vaut le coup de faire pas mal d'essais et de "surdocumenter" avec des grid search. Un rapport basé sur du random search sera plus difficile à présenter selon moi - et te donnera moins d'intuition sur l'impact des différents paramètres (ce qui est important surtout quand on débute).

 

Si tu ne l'as pas encore ca te donnera en plus de l'expérience sur du dévelopement cloud qui a aussi de la valeur sur le marché.


Message édité par Profil supprimé le 04-05-2018 à 23:11:57
n°31324
Profil sup​primé
Posté le 04-05-2018 à 23:17:01  answer
 


 
Hum en plus la boite a l'air d'avoir pas mal de partenariats avec Microsoft etc, à voir si je peux m'amuser sur leur cloud...

n°31325
o_BlastaaM​oof_o
Posté le 04-05-2018 à 23:35:02  profilanswer
 

uuuugh a écrit :


j'ai fait pas mal de matlab en école j'aime bien leur documentation :o matlab avec le recul c'est pas mal quand même :o


N'est-ce pas :o

n°31326
Profil sup​primé
Posté le 04-05-2018 à 23:38:25  answer
 


Non :o
Azur c'est l'équivalent de Staline qui aurait couché avec Hitler le tout croisé avec darth vader.
Azur doit être purgé par le feu :o

n°31327
o_BlastaaM​oof_o
Posté le 05-05-2018 à 00:03:41  profilanswer
 


Allez je me motive à répondre à cette question du coup, d'autant que c'est un de mes sujets favoris. Merci donc de m'avoir relancé :o

 

Dans la suite, dans un souci de concision et parce que c'est fun dans certaines tournures de phrases, je remplacerai le terme "chaîne de caractère" par l'anglicisme string.

 

Ce qu'il faut comprendre globalement, c'est que parmi les préceptes que j'essaye de répandre telle la bonne parole, il y a le suivant :
A moins que ce ne soit absolument nécessaire, il convient d'éviter l'utilisation de données de type string dans un traitement in-memory.

 

Analysons pour commencer les différentes composantes de ce commandement, en débutant par la dernière partie.

  • Dans un traitement in-memory (bon sang ce que je peux détester cette terminologie) : ce que je vais décliner ci-dessous ne s'applique qu'aux traitements effectués en mémoire, c'est-à-dire principalement avec des langages de programmation usuels tels que Java, Python, MATLAB, etc. En particulier, cela ne s'applique bien évidemment pas aux bases de données (relationnelles ou non) dans lesquelles il est bien naturel d'avoir de la donnée sous forme de string.
  • A moins que ce ne soit absolument nécessaire : il existe des données qui sont intrinsèquement textuelles et pour lesquelles l'usage des strings ne peut être évité. On peut par exemple penser à un verbatim ou, plus globalement, à tout champ de texte libre, par exemple dans un formulaire.


Ce que je cherche à éviter, c'est l'utilisation de strings pour représenter des données qui semblent textuelles mais ne le sont pas en réalité. Je vais prendre les 3 exemples principaux que je retrouve le plus souvent.

 
  • Les dates. Cet exemple est vraiment le pire. Normalement, ton langage de programmation favori fournit une structure de données permettant de représenter des données de manière plus efficace que des strings (j'entends en termes d'occupation mémoire) et qui permet de surcroît de réaliser des opérations mathématiques, par exemple calculer facilement la durée qui s'est écoulée entre 2 dates, ce qui est loin d'être aisé avec des dates stockées en strings.


  • Les données catégorielles. C'est l'exemple le plus répandu. Il existe énormément de types de données qui semblent textuelles mais qui sont en fait catégorielles et doivent du coup être stockées de manière appropriée. On peut citer par exemple les codes postaux, des noms d'enseignes commerciales, des CSP, des professions, des variables d'état ou de statut, etc. Là encore, ton langage de programmation favori doit théoriquement te mettre à disposition une structure de données permettant de gérer efficacement et confortablement les données catégorielles. Sinon, il faut vite en changer. Note que c'est assez facile à implémenter soi-même : il suffit par exemple de remplacer la donnée par la position de ladite donnée dans la liste des modalités, ce qui permet de passer de strings à des entiers non signés. Au prix de la lisibilité, certes, mais c'est justement le genre de lacune qu'un type natif de donnée catégorielle permet d'effacer.


  • Les identifiants. Assez fréquent également, et très coûteux parce que les identifiants comprennent généralement un nombre élevé de caractères. La bonne nouvelle, c'est que les identifiants sont souvent numériques, on peut donc les stocker comme tels. Si ce n'est pas le cas, on peut généralement écrire assez facilement des fonctions de transformation bijectives de string vers numérique et inversement.


Le gain en mémoire est généralement assez élevé.
Sur des dates, on va passer en règle générale de 10 caractères (puisque les séparateurs sont souvent conservés), soit 20 octets, à 8 octets pour un "vrai" type date (il s'agit la plupart du temps d'une valeur numérique déguisée, par exemple le nombre de millisecondes écoulé depuis le 1er janvier 1970).
Sur les données catégorielles, ça dépend ! Pour un code postal, on va passer de 10 octets (5 caractères) à 2 ou 4 octets, un entier 16 bits non signé permettant déjà de représenter suffisamment de valeurs différentes pour couvrir la France entière.

 

L'autre gros bénéfice, c'est que tous les types évoqués ci-dessus (dates, données catégorielles, valeurs numériques) peuvent être stockés dans des vecteurs, contrairement aux strings qui nécessitent l'utilisation de listes, ce qui introduit encore un overhead supplémentaire en termes d'occupation mémoire.

 

Généralement, on peut facilement diviser par 10 l'occupation mémoire d'un dataset en passant de strings à d'autres types de données plus adaptés.


Message édité par o_BlastaaMoof_o le 05-05-2018 à 00:04:17
n°31328
Rasthor
Posté le 05-05-2018 à 00:54:02  profilanswer
 

Merci des details ! :jap:
 
Y'avait aussi ce poste sur Python/Pandas et Big Data, tres informatif aussi sur les data types:
 
https://www.dataquest.io/blog/pandas-big-data/

n°31329
o_BlastaaM​oof_o
Posté le 05-05-2018 à 16:26:49  profilanswer
 

Très bien ce post en effet, on dit grosso modo la même chose.
Attention néanmoins aux conversions de nombres flottants en entiers. Une différence majeure, outre les décimales bien entendu, est l’absence de “NaN” du côté des entiers. Du coup, les flottants sont bien mieux adaptés dès qu’il est question de représenter des valeurs manquantes.

n°31330
Profil sup​primé
Posté le 05-05-2018 à 23:56:21  answer
 

o_BlastaaMoof_o a écrit :


 
Des exemples de profils tocards, je peux t'en sortir un paquet.
Le dev qui a senti le vent tourner et s'est mis à la data en faisant quelques MOOCs et des Kaggles, c'en est un effectivement.
Le pur stateux qui n'a jamais vu d'autre outil que R ou SAS et qui est infoutu de pondre le moindre bout de code bien écrit, c'en est un autre. (NB : R et SAS ne sont pas des langages de programmation.)
L'ingé qui se vend data scientist parce qu'il a un jour écrit un petit code Python qui traite des donneés (no shit, je me demande bien dans quelle discipline on n'est jamais amené à traiter de la donnée), c'en est encore un autre.
 
Au quotidien, je suis pas loin de péter un câble dans mon environnement actuel.
Entre ceux qui ne comprennent pas la différence entre un fichier et une base de données... parce qu'après tout, un fichier SAS, c'est une table :heink:  
Ceux qui écrivent des codes R ou Python sans se soucier du typage de leurs données et du coup passent leur temps à me réclamer des bécanes avec des quantités de mémoire délirantes... mais arrêtez avec vos chaînes de caractères putain :pt1cable:
Ceux qui utilisent le ML en mode boîte noire comme des gorets sans comprendre ce qui se passe :ange:  
Ceux qui continuent à discrétiser et binariser toutes leurs données avant de les balancer dans un algo de RF... :fou:  
Ceux qui en plus ajoutent le carré et le cube de toutes les données pour introduire de la non linéarité... :sweat:  
 
J'en ai marre.


 
 
Je me reconnais pleinement dans le profil tocard ahha
Pur stateux qui a code que sur SAS et sur R(un tout petit peu de python).  
Cependant je suis persuadé qu'une personne a minima intéressé sera pleinement capable de se mettre à niveau.  
Un stateux à des capacités, certes il a des lacunes en programmation mais cela peut s'apprendre sur le tas.  
Je trouve dommage de penser qu'un étudiant de master soit capable de tout connaître sur le bout des doigts ( programmation, stats, connaissance métier ect...) car c'est bien évidemment impossible...


Message édité par Profil supprimé le 05-05-2018 à 23:57:58
n°31331
Profil sup​primé
Posté le 06-05-2018 à 19:26:00  answer
 

Dans le même genre j'ai revu le code d'un collègue qui utilisait un string 'true' ou 'false' au lieu d'un boolean dans ses tables...

n°31332
Profil sup​primé
Posté le 06-05-2018 à 20:53:38  answer
 


 
ça c'est chaud par contre, une explication particulière ?  :??:

n°31333
rd350
Posté le 06-05-2018 à 22:55:02  profilanswer
 

Récupération d'un export en texte (OCR)?


Message édité par rd350 le 06-05-2018 à 22:55:50
n°31334
Bébé Yoda
Posté le 06-05-2018 à 23:51:45  profilanswer
 

 

Joli :D

n°31335
d@kn1ko
Posté le 07-05-2018 à 09:04:33  profilanswer
 

o_BlastaaMoof_o a écrit :


 
Faut définir ce que tu appelles des vraies stats. En général, les concepts de stats nécessaires au travail d'un data scientist sont assez légers.
Pour ma part, j'ai fait un peu de stats dans le cadre de ma formation initiale en mathématiques (c'était l'une des UE sur un semestre de master), je n'ai malgré cela aucune difficulté à suivre les data scientists dans leurs raisonnements.
 


 

o_BlastaaMoof_o a écrit :


 
Des exemples de profils tocards, je peux t'en sortir un paquet.
Le dev qui a senti le vent tourner et s'est mis à la data en faisant quelques MOOCs et des Kaggles, c'en est un effectivement.
Le pur stateux qui n'a jamais vu d'autre outil que R ou SAS et qui est infoutu de pondre le moindre bout de code bien écrit, c'en est un autre. (NB : R et SAS ne sont pas des langages de programmation.)
L'ingé qui se vend data scientist parce qu'il a un jour écrit un petit code Python qui traite des donneés (no shit, je me demande bien dans quelle discipline on n'est jamais amené à traiter de la donnée), c'en est encore un autre.
 
Au quotidien, je suis pas loin de péter un câble dans mon environnement actuel.
Entre ceux qui ne comprennent pas la différence entre un fichier et une base de données... parce qu'après tout, un fichier SAS, c'est une table :heink:  
Ceux qui écrivent des codes R ou Python sans se soucier du typage de leurs données et du coup passent leur temps à me réclamer des bécanes avec des quantités de mémoire délirantes... mais arrêtez avec vos chaînes de caractères putain :pt1cable:
Ceux qui utilisent le ML en mode boîte noire comme des gorets sans comprendre ce qui se passe :ange:  
Ceux qui continuent à discrétiser et binariser toutes leurs données avant de les balancer dans un algo de RF... :fou:  
Ceux qui en plus ajoutent le carré et le cube de toutes les données pour introduire de la non linéarité... :sweat:  
 
J'en ai marre.


 
 
un fichier de données sas c'est quand meme plus proche d'une table que d'un csv  :o   [:hahaaulas]


Message édité par d@kn1ko le 07-05-2018 à 09:05:01
n°31336
o_BlastaaM​oof_o
Posté le 07-05-2018 à 11:15:00  profilanswer
 

d@kn1ko a écrit :


 
 
un fichier de données sas c'est quand meme plus proche d'une table que d'un csv  :o   [:hahaaulas]


Précisément, d’où la confusion.

n°31337
o_BlastaaM​oof_o
Posté le 07-05-2018 à 11:16:16  profilanswer
 


Pour décrire un niveau de sévérité, j’ai vu il y a quelques temps des valeurs “JAUNE” et “ROUGE”...

n°31338
Rasthor
Posté le 07-05-2018 à 11:44:34  profilanswer
 

Surement des biologistes....  [:doc_prodigy]

n°31339
sinbadlema​rin
Posté le 07-05-2018 à 12:54:34  profilanswer
 

On peut partir de 0 et apprendre à programmer en python et apprendre le Machine Learning? :o

n°31340
Rasthor
Posté le 07-05-2018 à 13:12:00  profilanswer
 

sinbadlemarin a écrit :

On peut partir de 0 et apprendre à programmer en python et apprendre le Machine Learning? :o


Oui:
Il y a deux livres que je recommande:
 
1) Apprendre a Programmer en Python: https://inforef.be/swi/python.htm
 
Dispo chez O'Reilly. Le PDF est aussi libre d'acces.
 
2) Introduction to Machine Learning with Python (chez O'Reilly).
 
 
Le Python est facile d'acces. Pars directement sur Python3.

n°31341
sinbadlema​rin
Posté le 07-05-2018 à 13:17:14  profilanswer
 

Merci ! :jap:


Message édité par sinbadlemarin le 07-05-2018 à 13:17:21
n°31342
Bébé Yoda
Posté le 07-05-2018 à 13:30:14  profilanswer
 

sinbadlemarin a écrit :

On peut partir de 0 et apprendre à programmer en python et apprendre le Machine Learning? :o

 

Ça dépend aussi ce que tu entends par zéro.
Si tu viens d'avoir un bac littéraire ça peut être sacrément compliqué :o

n°31343
Darmstadti​um
Pipoteur grotesque
Posté le 07-05-2018 à 13:46:14  profilanswer
 

Ça dépend aussi de ce que t'entends par "apprendre le machine learning" :o


---------------
Vous pourriez comprendre ainsi pourquoi l'isotropie peut être détournée de son enclave de finalité dès le postulat de base choisie. surunitairedream - 09/06/2013 -- Contrepets
n°31344
TiDom
Posté le 07-05-2018 à 13:55:15  profilanswer
 

Et bien sûr ça dépend aussi de ce que vous entendez par "ça dépend" ? :o :o :o

n°31345
Bébé Yoda
Posté le 07-05-2018 à 14:04:24  profilanswer
 

Aujourd'hui c'est lundredi :D

 Page :   1  2  3  4  5  ..  33  34  35  ..  133  134  135  136  137  138

Aller à :
Ajouter une réponse
 

Sujets relatifs
[Topic unique] Veille IA - Actu, lectures, podcasts & documentaires[Topic Unique] Claude by Anthropic
[Topic unique] IA générative de texte, ChatGPT, Copilot, Gemini & co 
Plus de sujets relatifs à : [Topic Unique] Machine Learning & Data Science


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)