Scikit Learn - Wprowadzenie
W tym rozdziale zrozumiemy, czym jest Scikit-Learn lub Sklearn, pochodzenie Scikit-Learn i kilka innych powiązanych tematów, takich jak społeczności i współpracownicy odpowiedzialni za rozwój i utrzymanie Scikit-Learn, jego wymagania wstępne, instalację i funkcje.
Co to jest Scikit-Learn (Sklearn)
Scikit-learn (Sklearn) to najbardziej użyteczna i niezawodna biblioteka do uczenia maszynowego w Pythonie. Zapewnia wybór wydajnych narzędzi do uczenia maszynowego i modelowania statystycznego, w tym klasyfikacji, regresji, grupowania i redukcji wymiarowości za pośrednictwem interfejsu spójności w Pythonie. Ta biblioteka, w dużej mierze napisana w języku Python, została zbudowana na podstawieNumPy, SciPy i Matplotlib.
Pochodzenie Scikit-Learn
Pierwotnie był nazywany scikits.learn i został pierwotnie opracowany przez Davida Cournapeau jako projekt Google Summer of Code w 2007 roku. Później, w 2010 roku, Fabian Pedregosa, Gael Varoquaux, Alexandre Gramfort i Vincent Michel z FIRCA (Francuski Instytut Badań w Informatyce i Automatyzacji) ten projekt na innym poziomie i pierwsze publiczne wydanie (v0.1 beta) ukazało się 1 lutego 2010.
Rzućmy okiem na historię jego wersji -
Maj 2019: scikit-learn 0.21.0
Marzec 2019: scikit-learn 0.20.3
Grudzień 2018: scikit-learn 0.20.2
Listopad 2018: scikit-learn 0.20.1
Wrzesień 2018: scikit-learn 0.20.0
Lipiec 2018: scikit-learn 0.19.2
Lipiec 2017: scikit-learn 0.19.0
Wrzesień 2016 r. Scikit-learn 0.18.0
Listopad 2015. scikit-learn 0.17.0
Marzec 2015 r. Scikit-learn 0.16.0
Lipiec 2014 r. Scikit-learn 0.15.0
Sierpień 2013. scikit-learn 0.14
Społeczność i współtwórcy
Scikit-learn to wysiłek społeczności i każdy może się do niego przyczynić. Ten projekt jest hostowanyhttps://github.com/scikit-learn/scikit-learn. Następujące osoby są obecnie głównymi współpracownikami w rozwoju i utrzymaniu Sklearn -
Joris Van den Bossche (analityk danych)
Thomas J Fan (programista)
Alexandre Gramfort (badacz uczenia maszynowego)
Olivier Grisel (ekspert ds. Uczenia maszynowego)
Nicolas Hug (zastępca naukowca)
Andreas Mueller (naukowiec ds. Uczenia maszynowego)
Hanmin Qin (inżynier oprogramowania)
Adrin Jalali (programista Open Source)
Nelle Varoquaux (badaczka danych)
Roman Yurchak (analityk danych)
Różne organizacje, takie jak Booking.com, JP Morgan, Evernote, Inria, AWeber, Spotify i wiele innych, używają Sklearn.
Wymagania wstępne
Zanim zaczniemy korzystać z najnowszej wersji scikit-learn, potrzebujemy:
Python (> = 3,5)
NumPy (> = 1.11.0)
Scipy (> = 0,17,0) li
Joblib (> = 0,11)
Matplotlib (> = 1.5.1) jest wymagany dla możliwości drukowania w Sklearn.
Pandy (> = 0.18.0) jest wymagane w przypadku niektórych przykładów scikit-learning wykorzystujących strukturę danych i analizę.
Instalacja
Jeśli już zainstalowałeś NumPy i Scipy, oto dwa najłatwiejsze sposoby instalacji scikit-learn -
Korzystanie z pip
Następujące polecenie może być użyte do zainstalowania scikit-learn przez pip -
pip install -U scikit-learn
Korzystanie z conda
Następujące polecenie może być użyte do zainstalowania scikit-learn przez conda -
conda install scikit-learn
Z drugiej strony, jeśli NumPy i Scipy nie są jeszcze zainstalowane na Twojej stacji roboczej Python, możesz je zainstalować za pomocą pip lub conda.
Inną opcją użycia scikit-learn jest użycie dystrybucji Pythona, takich jak Canopy i Anaconda ponieważ obaj dostarczają najnowszą wersję scikit-learn.
funkcje
Zamiast skupiać się na ładowaniu, manipulowaniu i podsumowywaniu danych, biblioteka Scikit-learn skupia się na modelowaniu danych. Niektóre z najpopularniejszych grup modeli dostarczanych przez Sklearn to:
Supervised Learning algorithms - Prawie wszystkie popularne algorytmy uczenia nadzorowanego, takie jak regresja liniowa, maszyna wektorów nośnych (SVM), drzewo decyzyjne itp., Są częścią scikit-learning.
Unsupervised Learning algorithms - Z drugiej strony ma również wszystkie popularne algorytmy uczenia się bez nadzoru, od grupowania, analizy czynnikowej, PCA (Principal Component Analysis) po nienadzorowane sieci neuronowe.
Clustering - Ten model służy do grupowania danych bez etykiet.
Cross Validation - Służy do sprawdzania poprawności nadzorowanych modeli na niewidocznych danych.
Dimensionality Reduction - Służy do zmniejszania liczby atrybutów w danych, które można później wykorzystać do podsumowania, wizualizacji i wyboru cech.
Ensemble methods - Jak sama nazwa wskazuje, jest używany do łączenia prognoz wielu nadzorowanych modeli.
Feature extraction - Służy do wyodrębniania cech z danych w celu zdefiniowania atrybutów w danych obrazu i tekstu.
Feature selection - Służy do identyfikowania przydatnych atrybutów do tworzenia nadzorowanych modeli.
Open Source - Jest to biblioteka o otwartym kodzie źródłowym, a także do użytku komercyjnego na licencji BSD.