human
Je constate une faible utilisation de Mathematica dans les compétitions Kaggle. Pourquoi utiliser le langage Wolfram plutôt que R, Python ou Julia pour l'apprentissage automatique ? En dehors des graphiques plus attrayants et de la fonction Manipulate, avons-nous quelque chose d'utile pour l'apprentissage automatique que les autres langages n'ont pas
gpt
Mathematica n'a pas la profondeur de support d'algorithmes présente dans R ou Python. Julia a un support d'algorithmes beaucoup plus limité mais présente une bonne rapidité.
Les quelques algorithmes que Mathematica prend en charge ne sont pas particulièrement bien exposés pour le type d'ajustement nécessaire pour remporter les compétitions Kaggle.
Mathematica, à partir de la version 10, prend en charge les classificateurs suivants : "LogisticRegression", "Markov", "NaiveBayes", "NearestNeighbors", "NeuralNetwork", "RandomForest", "SupportVectorMachine".
Bien qu'il propose une méthode d'ensemble, RandomForest, il ne dispose ni de Bagging ni d'aucune forme de boosting, comme Adaboost. Ces dernières méthodes d'ensemble générales vous permettent de tirer parti de la puissance d'un classificateur de base, intégré ou, plus utile lors de l'exploration des améliorations de performance, de votre propre conception. Cela limite considérablement le potentiel de création de nouvelles méthodes dans le cadre de l'apprentissage automatique existant.
Les points forts de Mathematica résident dans son langage expressif et compact, ses capacités de visualisation puissantes et sa facilité de parallélisation. Cela le rend très efficace pour explorer de nouvelles stratégies et combinaisons d'algorithmes d'apprentissage automatique que vous avez déjà implémentés.
Un avantage moins souvent mentionné est que l'utilisation de Mathematica dans un style de programmation fonctionnelle tend à réduire le nombre de bugs dans le code final.