author | tags |
---|---|
emchateau |
julia, machine learning |
Julia est un langage informatique de calcul scientifique. Il est particulièrement bien positionné pour les applications d’apprentissage machine (Machine learning). Si le langage offre un écosystème moins développé que Python il reste néanmoins une option particulièrement viable pour les applications habituelles dans ce domaine.
Quelques concepts-clefs en apprentissage machine
apprentissage supervisé (Supervised Learning) @todo
apprentissage non-supervisés (Unsupervised Learning) @todo
apprentissage par renforcement (Reinforcement Learning) @todo
évaluation de modèles (Model Evaluation) @todo
- Installer Julia
- Apprendre les bases du langage : vous familiariser avec la syntaxe, les structures et les types.
- Explorer la manipulation de données et les outils de visualisation
- Explorer les algorithmes simples
- Construire et évaluer des modèles
- Explorer des sujets avancés
Nazarathy, Yoni, et Hayden Klok. 2021. Statistics with Julia: Fundamentals for Data Science, Machine Learning and Artificial Intelligence. Springer Series in the Data Science. Cham Springer.
Purpose | Python | Julia |
---|---|---|
Linear algebra | Numpy | Built in arrays, LinearAlgebra package |
Work with datasets | Pandas | DataFrames.jl |
Data visualization | Matplotlib | Plots.jl |
Classic Machine learning | SciKit-Learn | MLJ.jl, ScikitLearn.jl, BetaML.jl |
Neural Networks | TensorFlow or Pytorch | Flux.jl, BetaML.jl, Lux.jl |
https://fr.wikipedia.org/wiki/Apprentissage_automatique
modèles courants tels que la Logistic Regression, Decission Tree ou Random Forest
- Supervised Learning (linear regression, support vector machines, random forest, neural nets, ...)
- Unsupervised Learning (clustering, PCA, mixture models, manifold learning, ...)
- Dataset Transformation (preprocessing, text feature extraction, one-hot encoding, ...)
ScikitLearn.jl implements the popular scikit-learn interface and algorithms in Julia. It supports both models from the Julia ecosystem and those of the scikit-learn library (via PyCall.jl).
Would you rather use a machine-learning framework specially-designed for Julia? Check out MLJ.jl, from the Alan Turing institute.
https://github.com/cstjean/ScikitLearn.jl
https://cstjean.github.io/ScikitLearn.jl/dev/
MLJ (Machine Learning in Julia) is a toolbox written in Julia providing a common interface and meta-algorithms for selecting, tuning, evaluating, composing and comparing about 200 machine learning models written in Julia and other languages.
https://github.com/alan-turing-institute/MLJ.jl
https://alan-turing-institute.github.io/MLJ.jl/dev/
- Distances.jl, A Julia package for evaluating distances (metrics) between vectors. Notamment la similarité cosinus (Cosine distance)
La similarité cosinus donne la similarité de deux vecteurs à n dimensions en déterminant le cosinus de leur angle. Ce score est fréquemment utilisée en fouille de textes.
En règle générale, pour mesurer finement la similarité entre des séquences de texte, les vecteurs sont construits d'après un calcul de type TF-IDF (term frequency–inverse document frequency) qui permet d'estimer l'importance d'un mot par rapport au document qui le contient, en tenant compte du poids de ce mot dans le corpus complet.
Sur le softMax Bendersky, Eli. 2016. « The Softmax function and its derivative - Eli Bendersky’s website ». Eli Bendersky’s website (blog). 18 octobre 2016. https://eli.thegreenplace.net/2016/the-softmax-function-and-its-derivative/
- https://github.com/ablaom/HelloJulia.jl/wiki/JuliaCon-2022-workshop:-Getting-started-with-Julia-and-MLJ
- Germanov, Andrey. 2023. « Machine Learning with Julia – How to Build and Deploy a Trained AI Model as a Web Service ». DEV Community (blog). 17 février 2023. https://dev.to/andreygermanov/machine-learning-with-julia-solve-titanic-competition-on-kaggle-and-deploy-trained-ai-model-as-a-web-service-f9l.
- https://juliaai.github.io/DataScienceTutorials.jl/
- https://juliaai.github.io/DataScienceTutorials.jl/
- An Introduction to Statistical Learning https://www.statlearning.com pour Julia https://github.com/tndoan/ISLR.jl