Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
963 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  ..  15  16  17  ..  128  129  130  131  132  133
Auteur Sujet :

[Topic Unique] Machine Learning & Data Science

n°5011333
o_BlastaaM​oof_o
Posté le 21-09-2017 à 15:33:28  profilanswer
 

Reprise du message précédent :
Parce que c'est de la merde.

mood
Publicité
Posté le 21-09-2017 à 15:33:28  profilanswer
 

n°5011342
Darmstadti​um
Pipoteur grotesque
Posté le 21-09-2017 à 16:10:23  profilanswer
 

Personnellement je suis pas fan de R passé l'étape d'exploration de données et prototypage.
 
Les inconvénients que je vois à R :

  • Le code est naturellement assez moche avec beaucoup de symboles utilisés de manière peu répandue dans la majorité des autres langages de prog (genre le $ pour accéder à des membres d'un objet)
  • Code peu lisible = maintenance difficile
  • Il y a beaucoup de packages disponibles mais c'est dur de savoir de quelle qualité ils sont, beaucoup n'ont pas été mis à jours/maintenus depuis longtemps et peuvent arrêter de marcher avec une mise à jour de R (ça m'est déjà arrivé)
  • Calcul distribué, tests et documentation moins faciles qu'en Python, ça pose problème pour l'utiliser en production


---------------
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°5011343
Darmstadti​um
Pipoteur grotesque
Posté le 21-09-2017 à 16:11:17  profilanswer
 

Sinon je suis intéressé par la team Kaggle aussi mais je sais pas si j'aurai le temps de beaucoup m'investir.

 

Niveau : XP pro en data science et R&D en ML + je commence un doctorat en ML


Message édité par Darmstadtium le 21-09-2017 à 16:12:10

---------------
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°5011356
bricksters
Posté le 21-09-2017 à 17:15:04  profilanswer
 

J'ai rien ecris mais je suis aussi intéressé par la team Kaggle :o

 

Niveau: XP pro en RL et surtout dev en C++ (python aussi mais beaucoup moins) dans l'industrie, plusieurs MOOC en ML.


Message édité par bricksters le 21-09-2017 à 18:48:20
n°5011373
Rontgen
Posté le 21-09-2017 à 18:18:35  profilanswer
 

C'est juste le hasard, chacun des sets peut être particulièrement facile ou difficile
C'est pour ça qu'on fait tourner les sous ensembles et qu'on calcule la moyenne pour avoir un estimateur moins biaisé de la performance

n°5011379
nesquik69
Posté le 21-09-2017 à 18:30:10  profilanswer
 

à confirmer par qqun d'autre:
 
_la courbe en bleue indique l'erreur quadrique moyenne que tu obtiens si tu appliques ton modèle (dont tu obtiens les paramètres grâce aux données d'entrainement) sur tes données d'entrainement. Dans ce cas la, tes données d'entrainement servent à la fois de données d'entrainement du modèle, et  de données de test pour estimer la précision du modèle.
 
_la courbe en rouge indique l'erreur quadrique moyenne que tu obtiens si tu appliques ton modèle (dont tu obtiens les paramètres grâce aux données d'entrainement) sur tes données de validation ("Validation Set" ). Dans ce cas la, tes données d'entrainement ("Training Set" ) servent de données d'entrainement du modèle, et  les données de "Validation Set" comme données de test.
 
 
bien sur, pour chaque abscisse, tes données de test et d'entrainement changent.
 
la variation sur les erreurs est du au fait que les sous ensembles ne sont pas homogènes...


Message édité par nesquik69 le 21-09-2017 à 18:32:16
n°5011385
Bébé Yoda
Posté le 21-09-2017 à 18:49:07  profilanswer
 

Le plus simple c'est de faire
from sklearn.preprocessing import train_test_split
 
:o
 
Blague à part ça revient au même ce que tu fais non ?
 
Heu en fait, non c'est bien la dernière option que tu dois faire.
Si tu as 100 points et k=5, tu vas générer 5 échantillons de 20 points : E1, E2, E3, E4, E5.
Ensuite :  
* E1, E2, E3, E4 = Train et E5 = Validation  
* E1, E2, E3, E5 = Train et E4 = Validation
etc.
 
 


Message édité par Bébé Yoda le 21-09-2017 à 19:03:19
n°5011393
Bébé Yoda
Posté le 21-09-2017 à 19:34:16  profilanswer
 

EN fait si tu boucles de manière aléatoire à chaque fois, tu ne pourras jamais avoir fait le training sur l'ensemble de tes données.

n°5011401
Tidom
Posté le 21-09-2017 à 20:09:59  profilanswer
 

Comme disait Rontgen, la K-folds cross validation permet d'obtenir une estimation de la performance future d'un classifieur/regresseur.
 
J'en profite pour vous mettre un lien vers un livre gratuit (et de très bonne qualité). Pour confirmer tes connaissances et aller plus loin sur l'évaluation de performance c'est chapitre 22 (y a même des slides comme dans les cours):
http://www.dataminingbook.info/pmw [...] kResources

n°5011407
Rontgen
Posté le 21-09-2017 à 20:44:02  profilanswer
 

Alors en fait, vous avez pas tort, mais c'est quand même un peu plus complexe que ca
 
Déjà il faut quand même rappeler que quand on prend un sous échantillon, il faut être conscient de comment les données sont ordonnées.  
Par exemple si on prend les N premiers, puis les N suivants, etc, on peut avoir un gros biais si l'ordre n'était pas arbitraire (par exemple si les données sont classées chronologiquement et le temps a une influence),
Ou alors si certains types de données sont beaucoup plus représentées que d'autres
 
Mais en ce qui concerne la question sur les ensembles d'apprentissage et de test, la reponse n'est pas si évidente (genre faut faire la strategie 2 et puis c'est tout)
En fait, la stratégie 1 a du sens aussi, elle permet de générer également des estimateurs de la performance du modèle. Alors effectivement, la stratégie 2 permet de s'assurer qu'on a testé au moins une fois chaque donnée, mais pour un ratio 80/20, elle ne donnera que 5 estimations. De l'autre coté, la stratégie 1 peut etre moins précise si on ne l'exécute que 5 fois, mais on peut la répéter beaucoup plus de fois, et donc du coup avoir beaucoup plus d'observations de la performance du système car elle permet de générer des combinations plus variées !

Message cité 1 fois
Message édité par Rontgen le 21-09-2017 à 20:44:44
mood
Publicité
Posté le 21-09-2017 à 20:44:02  profilanswer
 

n°5011414
Bébé Yoda
Posté le 21-09-2017 à 21:24:00  profilanswer
 

T'façon, tout ça, avec le deep learning et les auto machine-learning (genre MLBox) dans 2/3 ans on pratiquera plus :o
 
C'est Andrew Ng qui l'a dit : Old ML vs New ML #flamewar
 
 
Merci pour les précisions en tout cas.
D'ailleurs ça me fait réaliser que j'ai pas assez pratiqué l'évaluation des modèles depuis un moment, surtout à la lecture du livre mentionné plus haut.
Vu que je suis pas vraiment du domaine, c'est pas évident je rouille vite :/
 
Si jamais vous embauchez des débutants dans vos boîtes, pensez à moi ;)

n°5011415
Rasthor
Posté le 21-09-2017 à 21:31:41  profilanswer
 


R, c'est une boite a outil pour faire des stats.
Python, c'est un vrai langage de programmation, capable de coder des scripts légers, des notebook dans Jupyter ou des trucs hyper lourds.

n°5011465
o_BlastaaM​oof_o
Posté le 22-09-2017 à 10:16:50  profilanswer
 


Non, l'aléatoire n'est pas correct. La bonne façon consiste à splitter, certes de manière aléatoire, mais en tâchant de préserver autant que possible certaines distributions dans le jeu de données complet. En priorité la distribution des classes à prédire mais également la distribution des variables du jeu de données.

 

Extrait de la doc MATLAB à ce sujet :

 

c = cvpartition(group,'KFold',k) creates a random partition for a stratified k-fold cross validation. group is a numeric vector, categorical array, character array, or cell array of character vectors indicating the class of each observation. Each subsample has roughly equal size and roughly the same class proportions as in group. cvpartition treats NaNs or empty character vectors in group as missing values.


Message édité par o_BlastaaMoof_o le 22-09-2017 à 10:18:25
n°5011472
Rontgen
Posté le 22-09-2017 à 10:52:23  profilanswer
 

Comme dit BlastaMoof, la majorité des méthodes statistiques font l'hypothèse que la distribution des données d'apprentissage et de test sont identiques.
Ca veut pas dire qu'elles vont s'effondrer et faire n'importe quoi si la distribution est différente, ca veut dire que c'est leur régime optimal.
 
Je me rends compte que mon message était un peu ambigu, mais ca me paraissait important de rentrer un peu dans les détails (et pas juste de dire "il y a une seule vraie facon, et les autres sont fausses" ), et que chaque facon d'implémenter une CV vient avec son lot d'hypothèses.
 
Selon les datasets (plus particulièrement leur taille et l'uniformité de leur distribution), les différentes stratégies peuvent être plus ou moins équivalentes.
Celle que décrit BlastaMoof ne correspond ni à ta proposition 1, ni à ta proposition 2 et est probablement la meilleure des trois car elles suppose moins d'hypothèses, mais est un peu plus galère à implémenter.

n°5011510
o_BlastaaM​oof_o
Posté le 22-09-2017 à 12:51:12  profilanswer
 

Pourquoi implémenter ça soi-même au fait ?

n°5011511
Bébé Yoda
Posté le 22-09-2017 à 12:56:48  profilanswer
 

Pour mieux comprendre comment ça marche je suppose.

n°5011515
Rontgen
Posté le 22-09-2017 à 12:59:18  profilanswer
 

Pour comprendre vraiment ce qu'il se passe ?
Il a precise qu'il etait au tout debut d'un cours de ML, ca ne me parait pas bete de reimplementer ce genre de choses
 
 Edit [:rttolivers]


Message édité par Rontgen le 22-09-2017 à 12:59:44
n°5011517
Tidom
Posté le 22-09-2017 à 13:08:13  profilanswer
 

Ce que propose BlastaaMoof, la validation croisée "stratifiée", est adaptée aux problèmes de classification supervisée : en gros, dans chaque fold, on essaie de garder la même distribution de classes que dans la base d'apprentissage. Selon, les expériences et la conclusion de R. Kohavi :
http://web.cs.iastate.edu/~jtian/c [...] CAI-95.pdf
ça offre un meilleur compromis biais/variance que la validation croisée "standard". A privilégier donc. D'ailleurs la lecture des notions biais/variance dans le bouquin indiqué plus haut est très intéressante pour bien comprendre les enjeux du machine learning.

 

Par contre le problème de non-compliant est un problème de régression. La validation croisée stratifiée ne peut être utilisée comme telle. Je n'arrive pas à retrouver une réf sur le sujet mais l'idée est de construire des folds avec la même moyenne de la variable à prédire.
Y a bien la page wikipedia : https://en.wikipedia.org/wiki/Cross [...] tatistics)
mais j'essaierai de trouver mieux


Message édité par Tidom le 22-09-2017 à 13:08:58
n°5011520
Tidom
Posté le 22-09-2017 à 13:25:44  profilanswer
 

@non-compliant :
La division euclidienne de X (200) par k (5) te donne le pas pour la sélection des index de tes folds.
Sinon en R sur https://cran.r-project.org/
tu as cvtools ou generalizedCV qui font le job (tu as le code source, donc tu peux l'adapter à ta guise)

Message cité 1 fois
Message édité par Tidom le 22-09-2017 à 13:26:26
n°5011618
blacksad
Posté le 23-09-2017 à 08:38:35  profilanswer
 

deeplearning a écrit :

Python.
 
Python => Porté par les jeunes et toute l'industrie
R => Usage historique dans milieu académique, en perte de vitesse
 
Sas coûte très cher et certaines boites décident d'en sortir  
 
Aujourd'hui les gens veulent faire du Python et les entreprises s'adaptent.

Pour nuancer un peu le propos :
R croît certes moins vite que Python, mais je ne suis pas sur qu'on puisse parler de perte de vitesse.
Cela dit, pour quelqu'un qui ne connaitrait ni l'un ni l'autre et qui se demanderait lequel des deux il vaut mieux apprendre, je conseillerais quand même Python, pour les raisons évoquées plus haut.
http://reho.st/https://ressources.blogdumoderateur.com/2017/09/python-3-612x536.png
http://reho.st/self/3d9b0e2b9fcf1bb23c9fcfa19fed9ae78644ba7d.jpg
 
/remets une pièce dans la querelle de clochers :o
Demain, nous parlerons de Linux vs. Windows, ou Apple vs. Samsung, ou vim vs. emacs, ou ...

n°5011624
o_BlastaaM​oof_o
Posté le 23-09-2017 à 10:00:14  profilanswer
 

Du PySpark... Y a-t-il au moins une réelle problématique Big Data ? Parce que sinon, on a aussi vite fait de faire du bon vieux SQL avec un bon vieux SGBD relationnel.
 
Sur le sujet Big Data d'ailleurs, je vous invite à lire l'article suivant qui est à mon avis représentatif de la situation dans bien des entreprises :
 
https://www.linkedin.com/pulse/hado [...] ul-johnson
 
Dans ma boîte, on dégage progressivement R. Partiellement sous mon impulsion :o

n°5011630
Tidom
Posté le 23-09-2017 à 11:31:50  profilanswer
 

o_BlastaaMoof_o a écrit :

Du PySpark... Y a-t-il au moins une réelle problématique Big Data ? Parce que sinon, on a aussi vite fait de faire du bon vieux SQL avec un bon vieux SGBD relationnel.
 
Sur le sujet Big Data d'ailleurs, je vous invite à lire l'article suivant qui est à mon avis représentatif de la situation dans bien des entreprises :
 
https://www.linkedin.com/pulse/hado [...] ul-johnson
 
Dans ma boîte, on dégage progressivement R. Partiellement sous mon impulsion :o


 
Le deuxième point des following snippets au début de l'article est probablement la principale raison du fail : "trying to figure out how to use it for value"
Si on espère de nouvelles connaissances ou de la valeur par magie juste parce qu'on a plein de donnés et hadoop branché dessus ... C'est le fail assuré :o
 
De ma petite expérience, les expériences big data + hadoop qui ont eu du succès sont celles où le probleme de départ était bien posé (ça a l'air évident dit comme ça, mais pas pour tout le monde lors de la phase "hype" du big data)... Le reste c'est du vent AMHA

n°5011672
Rasthor
Posté le 23-09-2017 à 20:32:09  profilanswer
 

A Guide For Time Series Prediction Using Recurrent Neural Networks (LSTMs)
https://blog.statsbot.co/time-serie [...] 807fa6ca7f
 
Pas encore lu en detail, mais ca a l'air interessant. :)

n°5013035
zairo
Posté le 01-10-2017 à 12:14:32  profilanswer
 

je voudrais attaquer un premier vrai projet de datascience avec des potes
Mais j'aimerais savoir de quel manière je devrai stocker mes données ?

 

En gros on a prévu d'utiliser python, pour s'initier au langage, mais je me demandais quel était la meilleur manière de stocker/structurer mes données ?

 


Au début j'avais pas trop envie de me prendre la tête est de simplement faire un fichier texte, mais étant donnée qu'il y a beaucoup de variable je pense qu'une base de donnée type sql serait idéal mais je ne sais pas vraiment si y a de meilleur solution en python  (un peu comme sqllite sur android)

 

bref je connais pas python :o

Message cité 1 fois
Message édité par zairo le 01-10-2017 à 12:18:24
n°5013036
Bébé Yoda
Posté le 01-10-2017 à 12:19:59  profilanswer
 

Ça dépend vraiment de la taille de tes données et des capacités de vos ordinateurs niveau RAM.
Jusqu'à plusieurs centaines de Mo tu peux faire des fichiers textes (csv, tsv) sans soucis
Et tu utilises pandas.

 

Dis nous en un peu plus

n°5013075
zairo
Posté le 01-10-2017 à 19:23:14  profilanswer
 

A la louche je dirais que j'aurais 500 mo de données (j'ai pas finis l'extraction)
Je peux me contenter de fichier csv tu penses ?

n°5013076
zairo
Posté le 01-10-2017 à 19:27:34  profilanswer
 

ok pour pandas, je vais voir de ce côté là :o
merci  :jap:

n°5013078
Bébé Yoda
Posté le 01-10-2017 à 19:38:17  profilanswer
 

zairo a écrit :

A la louche je dirais que j'aurais 500 mo de données (j'ai pas finis l'extraction)
Je peux me contenter de fichier csv tu penses ?

 

À mon avis ça doit pouvoir se faire tranquillement oui.
Le mieux c'est d'essayer de toute manière ;)
Autant essayer d'abord avec l'outil le plus simple avant de se compliquer la vie.

n°5013091
Rasthor
Posté le 02-10-2017 à 00:47:18  profilanswer
 

Y'avait d'ailleurs un article pour comment gerer des centaines de Mo dans Pandas:
https://www.dataquest.io/blog/pandas-big-data/


Message édité par Rasthor le 02-10-2017 à 00:47:25
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  ..  15  16  17  ..  128  129  130  131  132  133

Aller à :
Ajouter une réponse
 

Sujets relatifs
Recherche d'emploi[Topik Unique] Les girls de la section E&E
Avez vous des problèmatiques sur le Big Data ?Master Finance et Stratégie de Science Po après des études de droit ?
Je veux travailler dans les Big DATAOrientation pour Data Science & Recherche Opérationnelle
[Topic Unique] Concours ingénieur ENAC/IESSA : 30 postes [Topic Unique] EIVP
[Topic Unique] L'Aylite !!! 
Plus de sujets relatifs à : [Topic Unique] Machine Learning & Data Science


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR