scikit-learn est l’une des bibliothèques de référence pour l’apprentissage automatique en Python (et même en dehors du langage). Sa popularité est notamment due au grand nombre d’algorithmes implémentés, mais aussi à l’interface extrêmement simple et cohérente, prévue pour simplifier la vie aux débutants (par exemple, tous les choix de paramètres par défaut devraient donner d’assez bons résultats).
La version 0.21 RC 2 de la bibliothèque est maintenant sortie, peu avant la version finale. La grande nouveauté est que les plus anciennes versions de Python ne sont plus gérées : il faut absolument Python 3.5 ou plus récent (la version actuelle de Python étant la 3.7). En particulier, cela signifie que scikit-learn n'est plus compatible avec Python 2. Ce changement a permis de simplifier certaines parties de scikit-learn.
Dans les nouvelles fonctionnalités majeures, on peut compter un nouvel algorithme de partitionnement des données, OPTICS. Ce dernier est une généralisation de DBSCAN, qui agrège des points selon leur proximité, sans imposer de forme a priori (contrairement aux k moyennes). OPTICS a surtout l'avantage d'avoir moins de paramètres à définir (DBSCAN requiert une distance maximale entre deux points pour qu'ils soient considérés comme faisant partie du même groupe, mais aussi un nombre minimal de points à retrouver à cette distance pour créer un groupe). Pour ce faire, l'algorithme fonctionne avec un graphe d'accessibilité entre points.
Un nouvel algorithme de dopage à base d'arbres fait leur apparition : HistGradientBoosting, utilisable à la fois en classification et en régression. Cette implémentation cherche à fournir une bien meilleure performance que l'algorithme de dopage par gradient actuel, surtout pour des jeux de données de taille décente (plus de dix mille échantillons). Elle est cependant toujours expérimentale, ce qui signifie que toutes les fonctionnalités souhaitées ne sont pas encore implémentées et que l'API pourrait changer à l'avenir.
L'imputation de valeurs manquantes dans un jeu de données peut se faire avec la classe IterativeImputer, qui décide des valeurs à utiliser de manière circulaire.
Source : [scikit-learn] Release Candidate for Scikit-learn 0.21.
Partager