Spis treści[Ukryć][Pokazać]
Jeśli jesteś programistą Pythona lub szukasz potężnego zestawu narzędzi do wprowadzenia uczenia maszynowego do systemu produkcyjnego, Scikit-learn to biblioteka, którą musisz sprawdzić.
Scikit-learn jest dobrze udokumentowany i prosty w użyciu, niezależnie od tego, czy jesteś nowicjuszem w uczeniu maszynowym, chcesz szybko rozpocząć pracę, czy też chcesz korzystać z najbardziej aktualnego narzędzia badawczego ML.
Umożliwia skonstruowanie predykcyjnego modelu danych w zaledwie kilku wierszach kodu, a następnie wykorzystuje ten model do dopasowania danych jako biblioteki wysokiego poziomu. Jest elastyczny i dobrze współpracuje z innymi Biblioteki Pythona jak Matplotlib do tworzenia wykresów, NumPy do wektoryzacji tablic i pandas do wizualizacji danych.
W tym przewodniku dowiesz się wszystkiego o tym, czym jest, jak możesz go używać, a także o jego zaletach i wadach.
Co to jest Nauka scikitu?
Scikit-learn (znany również jako sklearn) oferuje zróżnicowany zestaw modeli statystycznych i uczenia maszynowego. W przeciwieństwie do większości modułów, sklearn jest rozwijany w Pythonie, a nie w C. Pomimo tego, że sklearn został opracowany w Pythonie, wydajność sklearn przypisuje się wykorzystaniu NumPy do wysokowydajnej algebry liniowej i operacji tablicowych.
Scikit-Learn został stworzony w ramach projektu Google Summer of Code i od tego czasu ułatwił życie milionom naukowców zajmujących się Pythonem na całym świecie. Ta część serii koncentruje się na przedstawieniu biblioteki i skupieniu się na jednym elemencie – transformacjach zbioru danych, które są kluczowym i niezbędnym krokiem przed opracowaniem modelu predykcyjnego.
Biblioteka jest oparta na SciPy (Scientific Python), którą należy zainstalować, zanim będzie można korzystać ze scikit-learn. Ten stos zawiera następujące elementy:
- NumPy: standardowy pakiet tablic n-wymiarowych Pythona
- SciPy: Jest to podstawowy pakiet do obliczeń naukowych
- Pandy: Struktury i analiza danych
- Matplotlib: Jest to potężna biblioteka do drukowania 2D/3D
- Sympy: Matematyka symboliczna
- IPython: Ulepszona interaktywna konsola
Zastosowania biblioteki Scikit-learn
Scikit-learn to pakiet Pythona typu open source z zaawansowanymi funkcjami analizy i eksploracji danych. Jest wyposażony w mnóstwo wbudowanych algorytmów, które pomogą Ci w pełni wykorzystać projekty związane z nauką o danych. Biblioteka Scikit-Learn jest używana w następujący sposób.
1. Regresja
Analiza regresji to technika statystyczna służąca do analizy i zrozumienia związku między dwiema lub więcej zmiennymi. Metoda zastosowana do analizy regresji pomaga określić, które elementy są istotne, a które można zignorować i w jaki sposób wchodzą w interakcje. Na przykład techniki regresji mogą być wykorzystane do lepszego zrozumienia zachowania cen akcji.
Algorytmy regresji obejmują:
- regresji liniowej
- Regresja Ridge
- Regresja Lasso
- Regresja drzewa decyzyjnego
- Losowy las
- Pomocnicze maszyny wektorowe (SVM)
2. Klasyfikacja
Metoda klasyfikacji to podejście nadzorowanego uczenia się, które wykorzystuje dane treningowe do identyfikacji kategorii świeżych obserwacji. Algorytm w Klasyfikacji uczy się z danego zestaw danych lub obserwacje, a następnie klasyfikuje dodatkowe obserwacje do jednej z wielu klas lub grup. Można ich na przykład użyć do sklasyfikowania wiadomości e-mail jako spamu lub nie.
Algorytmy klasyfikacji obejmują:
- Regresja logistyczna
- K-Najbliżsi sąsiedzi
- Maszyna wektorów nośnych
- Drzewo decyzyjne
- Losowy las
3. Klastrowanie
Algorytmy grupowania w Scikit-learn służą do automatycznego porządkowania danych o podobnych właściwościach w zestawy. Grupowanie to proces grupowania zestawu elementów w taki sposób, aby elementy z tej samej grupy były bardziej podobne do elementów z innych grup. Na przykład dane klientów mogą być rozdzielane na podstawie ich lokalizacji.
Algorytmy klastrowania obejmują:
- SKANOWANIE DB
- K-średnie
- K-średnie mini-partii
- Klasterowanie widmowe
4. Wybór modelu
Algorytmy wyboru modelu zapewniają metody porównywania, weryfikowania i wybierania optymalnych parametrów i modeli do wykorzystania w inicjatywach związanych z nauką o danych. Biorąc pod uwagę dane, wybór modelu to problem wybrania modelu statystycznego z grupy modeli kandydujących. W najbardziej podstawowych okolicznościach bierze się pod uwagę istniejący wcześniej zbiór danych. Jednak zadanie może obejmować również takie zaprojektowanie eksperymentów, aby uzyskane dane były dobrze dopasowane do problemu wyboru modelu.
Moduły wyboru modelu, które mogą poprawić dokładność poprzez dostosowanie parametrów, obejmują:
- Walidacja krzyżowa
- Wyszukiwanie siatki
- Metryka
5. Redukcja wymiarowości
Przeniesienie danych z przestrzeni wielowymiarowej do przestrzeni niskowymiarowej, tak aby reprezentacja niskowymiarowa zachowała niektóre istotne aspekty oryginalnych danych, idealnie zbliżone do ich nieodłącznego wymiaru, jest znane jako redukcja wymiarowości. Liczba zmiennych losowych do analizy zmniejsza się, gdy zmniejsza się wymiarowość. Na przykład dane odstające nie mogą być uważane za poprawiające wydajność wizualizacji.
Algorytm redukcji wymiarowości obejmuje:
- Wybór funkcji
- Analiza głównych składników (PCA)
Instalowanie Scikit-learn
NumPy, SciPy, Matplotlib, IPython, Sympy i Pandas muszą być zainstalowane przed użyciem Scikit-learn. Zainstalujmy je za pomocą pip z konsoli (działa tylko dla Windows).
Zainstalujmy Scikit-learn teraz, gdy zainstalowaliśmy wymagane biblioteki.
Korzyści
Scikit-learn, czasami znany jako sklearn, to zestaw narzędzi Pythona do wdrażania modeli uczenia maszynowego i modelowania statystycznego. Możemy go używać do tworzenia wielu modeli uczenia maszynowego do regresji, klasyfikacji i grupowania, a także narzędzi statystycznych do oceny tych modeli. Obejmuje również redukcję wymiarów, selekcję cech, ekstrakcję cech, podejścia zespołowe i wbudowane zbiory danych. Przyjrzymy się każdej z tych cech po kolei.
1. Importowanie zestawów danych
Scikit-learn zawiera wiele gotowych zestawów danych, takich jak zestaw danych tęczówki, zestaw danych cen domów, zestaw danych Titanic i tak dalej. Kluczową zaletą tych zestawów danych jest to, że są one łatwe do uchwycenia i mogą być używane do natychmiastowego opracowywania modeli uczenia maszynowego. Te zestawy danych są odpowiednie dla początkujących. Podobnie możesz użyć sklearn do zaimportowania dodatkowych zestawów danych. Podobnie możesz go użyć do zaimportowania dodatkowych zestawów danych.
2. Podział zbioru danych do uczenia i testowania
Sklearn zawierał możliwość podziału zbioru danych na segmenty szkoleniowe i testowe. Podział zestawu danych jest wymagany do bezstronnej oceny wydajności predykcji. Możemy określić, ile naszych danych powinno znaleźć się w zestawach danych pociągowych i testowych. Podzieliliśmy zestaw danych za pomocą podziału testu pociągu w taki sposób, że zestaw pociągów zawiera 80% danych, a zestaw testowy ma 20%. Zbiór danych można podzielić w następujący sposób:
3. Regresja liniowa
Regresja liniowa to technika uczenia maszynowego oparta na uczeniu nadzorowanym. Wykonuje zadanie regresji. W oparciu o zmienne niezależne regresja modeluje wartość predykcji celu. Jest najczęściej używany do określenia związku między zmiennymi a przewidywaniem. Różne modele regresji różnią się rodzajem ocenianego związku między zmiennymi zależnymi i niezależnymi, a także liczbą wykorzystywanych zmiennych niezależnych. Możemy po prostu utworzyć model regresji liniowej za pomocą sklearn w następujący sposób:
4. Regresja logistyczna
Powszechnym podejściem do kategoryzacji jest regresja logistyczna. Należy do tej samej rodziny co regresja wielomianowa i regresja liniowa i należy do rodziny klasyfikatorów liniowych. Wyniki regresji logistycznej są łatwe do zrozumienia i szybkie do obliczenia. Podobnie jak regresja liniowa, regresja logistyczna jest techniką regresji nadzorowanej. Zmienna wyjściowa jest kategoryczna, więc to jedyna różnica. Może określić, czy pacjent ma chorobę serca.
Różne problemy z klasyfikacją, takie jak wykrywanie spamu, można rozwiązać za pomocą regresji logistycznej. Prognozowanie cukrzycy, określanie, czy konsument kupi konkretny produkt, czy przestawi się na rywala, określanie, czy użytkownik kliknie w konkretny link marketingowy i wiele innych scenariuszy to tylko kilka przykładów.
5. Drzewo decyzyjne
Najpotężniejszą i szeroko stosowaną techniką klasyfikacji i przewidywania jest drzewo decyzyjne. Drzewo decyzyjne to struktura drzewiasta, która wygląda jak schemat blokowy, gdzie każdy węzeł wewnętrzny reprezentuje test na atrybucie, każda gałąź reprezentuje wniosek testu, a każdy węzeł-liść (węzeł końcowy) zawiera etykietę klasy.
Kiedy zmienne zależne nie mają liniowej zależności ze zmiennymi niezależnymi, tj. gdy regresja liniowa nie daje prawidłowych wyników, korzystne są drzewa decyzyjne. Obiektu DecisionTreeRegression() można użyć w podobny sposób do wykorzystania drzewa decyzyjnego do regresji.
6. Losowy las
Las losowy to a uczenie maszynowe podejście do rozwiązywania problemów regresji i klasyfikacji. Wykorzystuje uczenie się zespołowe, które jest techniką łączącą wiele klasyfikatorów w celu rozwiązania skomplikowanych problemów. Metoda lasów losowych składa się z dużej liczby drzew decyzyjnych. Może być używany do kategoryzowania wniosków kredytowych, wykrywania nieuczciwych zachowań i przewidywania wybuchów epidemii.
7. Matryca zamieszania
Macierz nieporozumień to tabela używana do opisania wydajności modelu klasyfikacji. Następujące cztery słowa są używane do zbadania macierzy zamieszania:
- Prawdziwie pozytywna: oznacza, że model przewidział korzystny wynik i był poprawny.
- True Negative: Oznacza, że model przewidział zły wynik i był poprawny.
- Fałszywie dodatni: oznacza, że model oczekiwał pozytywnego wyniku, ale w rzeczywistości był on negatywny.
- False Negative: oznacza, że model oczekiwał negatywnego wyniku, podczas gdy wynik był naprawdę pozytywny.
Implementacja macierzy zamieszania:
ZALETY
- Jest prosty w użyciu.
- Pakiet Scikit-learn jest niezwykle elastyczny i użyteczny, służąc rzeczywistym celom, takim jak przewidywanie zachowań konsumentów, opracowywanie neuroobrazów i tak dalej.
- Użytkownicy, którzy chcą połączyć algorytmy ze swoimi platformami, znajdą szczegółową dokumentację API na stronie Scikit-learn.
- Liczni autorzy, współpracownicy i duża ogólnoświatowa społeczność online wspierają i aktualizują Scikit-learn.
Wady
- Nie jest to idealna opcja do dogłębnych badań.
Wnioski
Scikit-learn to pakiet o krytycznym znaczeniu dla każdego analityka danych, który dobrze rozumie i ma pewne doświadczenie. Ten przewodnik powinien pomóc w manipulowaniu danymi za pomocą sklearn. Istnieje wiele innych możliwości Scikit-learn, które odkryjesz w miarę postępów w nauce o danych. Podziel się swoimi przemyśleniami w komentarzach.
Dodaj komentarz