Procedura
W tym samouczku dowiemy się o bibliotece Scikit Learn Python i tym, jak możemy użyć tej biblioteki do opracowania różnych algorytmów uczenia maszynowego. Niniejszy przewodnik będzie zawierał następujące treści, które zostaną omówione jeden po drugiej ze szczegółowym wyjaśnieniem:
Krok 01: Instalacja
Przed rozpoczęciem nauki Scikit musimy najpierw zainstalować jego pakiet z repozytoriów Python. Aby to zrobić, musimy pobrać i zainstalować Python (najnowszą wersję lub dowolną). Aby pobrać Python w systemie, przejdź do linku I.mi.
„Https: // www. Pyton .org ". Po przekierowaniu do tego adresu URL przejdź do plików do pobrania i kliknij Python z dowolną wersją, którą chcesz pobrać, jak poniżej:
Po pobraniu Pythona musimy teraz go zainstalować. Wybierz opcję dostosowanej instalacji po dodaniu Pythona do ścieżki.
Sprawdź wszystkie opcje w oknie, aby zainstalować pakiety PIP z Pythonem i kontynuuj i wybierz Dalej.
Następnym krokiem będzie określenie lokalizacji pakietów Python, sprawdzenie wszystkich podanych zaawansowanych opcji i określenie lokalizacji i kliknij instaluj; To rozpocznie proces instalacji, który będzie trwał przez jakiś czas.
Teraz Python jest instalowany w naszych systemach. Aby otworzyć typ powłoki Pythona, umieść Python w menu wyszukiwania i naciśnij Enter. Następnie otworzy się skorupa Pythona. Teraz pójdziemy naprzód, aby zainstalować Scikit Learn na Pythonie. W tym celu otwórz wiersz polecenia i wpisz Python, aby sprawdzić, czy Python działa w systemie, czy nie. Jeśli system zwróci wersję Pythona, oznacza to, że Python działa poprawnie. Następnie musimy sprawdzić wersję PIP, aby zaktualizować pakiety PIP:
$ Python
$ pip --version
Po sprawdzeniu zarówno wersji Pythona, jak i PIP, teraz wpisz następujące polecenie w wierszu polecenia, aby zainstalować scikit nauk na Python.
$ pip instaluj scikit uczyć się
Następnie scikit ze wszystkimi pakietami zacznie instalować.
Teraz Scikit Learn został zainstalowany w naszym systemie, a teraz możemy użyć pakietów scikit do opracowania dowolnego algorytmu uczenia maszynowego. Po udanej instalacji scikit przejdziemy teraz do następnego kroku, w którym będziemy wiedzieć, jak wykreślić wykresy danych za pomocą Scikit Learn.
Krok 02: Wykres wykresu
Wykresy są znane jako narzędzia wizualne, które pomagają wizualizować podane informacje, jeśli dane w zestawach danych są zbyt liczne lub skomplikowane, aby opisać. Wykresy podkreślają reprezentując związek między jedną lub wieloma zmiennymi. Aby współpracować z algorytmami uczenia maszynowego, musimy znać reprezentację danych do analizy danych w celu odpowiedniego szkolenia i przetestowania danych. Scikit Learn zapewnia wiele takich pakietów wizualizacji (w formie graficznej) dla różnych zestawów danych.
Przykład nr 01
Wizualizację danych w postaci wykresu można uzyskać za pomocą pakietu Matplotlib. Matplotlib to pakiet Python, który przyczynia się jako podstawa pakietów do nauki SCIT. SCIKIT Learn integruje się z MATPlotlib w celu wykreślania (wizualna reprezentacja danych lub wyników osiągniętych po szkoleniu i testowaniu danych w algorytmach uczenia maszynowego). Spróbujmy zaimplementować przykład za pomocą Matplotlib.
Załóżmy, że chcemy wykreślić losowe liczby, aby wizualizować ich związek. Możemy przyjąć te liczby losowo, e.G., 0.5, 1.5, 2.5. Aby napisać kod, zaimportujemy bibliotekę Matplotlib z pakietów Python jako PLT. Po tym kroku możemy teraz użyć PLT zamiast pisania matplotlib w całym kodzie. Następnie za pomocą tego PLT napiszemy polecenie, aby wykreślić liczby, które już wybraliśmy losowo za pomocą funkcji „PLT. Wykres („Wybrane liczby”) ”. Aby wyświetlić te liczby na wykresie na wyjściu, użyjemy funkcji „PLT. pokazywać()". Kod można utworzyć w następny sposób:
$ import matplotlib. Pyplot as Plt
$ plt. Wykres ([0.5, 1.5, 2.5])
$ plt. pokazywać()
Liczby zostaną następnie wyświetlone na wyjściu na wykresie:
Przykład nr 02
Jeśli chcemy wykreślić dane w postaci wykresu rozproszenia, możemy użyć funkcji „rozproszenie. działka ()". Wykres rozproszenia reprezentuje dane w postaci punktów danych kropek. Te fabuły działają na dwóch lub więcej dwóch zmiennych. Każda kropka lub punkt danych na wykresie reprezentuje dwie różne wartości (każda na osi x i osi y) odpowiadające punktowi danych w zestawie danych.
W kolejnym przykładzie wykreślimy wykres rozproszenia. Aby to zrobić, zaimportujemy Pyplot Matplotlib jako PLT. Ten PLT może być następnie użyty zamiast matplotlib. Pyplot. Następnie zdefiniujemy dwie zmienne x i y jako x = 1, 3, 5, 7 i y = 2, 4, 6, 8. W przypadku wykresu rozproszenia należy dopasować wymiar x i y. Aby wykreślić obie zmienne, użyjemy funkcji PLT. rozproszenie („zmienna 1, zmienna 2”). Aby wyświetlić te zmienne na wykresie, użyj funkcji PLT. pokazywać ().
$ import matplotlib. Pyplot as Plt
$ x = [1, 3, 5, 7]
$ y = [2, 4, 6, 8]
$ plt. rozproszenie (x, y)
$ plt. pokazywać ()
Zależność między dwiema określonymi zmiennymi w postaci rozproszonego wykresu zostanie następnie wyświetlona jako:
Wyżej wymienione przykłady można wykorzystać do wykreślenia konkretnych danych i wiedzy o ich związku.
Przykład nr 03
Załóżmy teraz, że pracowaliśmy z pewnym binarnym zestawem danych i musimy sklasyfikować dane jako należące do klasy 0 lub klasy 1. Opracowaliśmy binarny klasyfikator tych danych za pomocą algorytmu uczenia maszynowego, a teraz chcemy wiedzieć, jak dobrze działa ten klasyfikator. W tym celu możemy użyć AUC-ROC_CURVE.
W krzywej auc -ruc Auc mówi, który stopień opracowany klasyfikator może prawidłowo przewidzieć klasy, jako 0 lub 1, a ROC przedstawia prawdopodobieństwo, że klasyfikatory prawidłowo przedstawiają klasy. Krzywa AUC-RUC_ wyświetla krzywą między FPR (oś y) i TPR (osi x), które są oba nd-arrays. Aby zaimplementować tę krzywą AUC-RUC, najpierw zaimportuj matplotlibpyplot jako PLT, abyśmy mogli zadzwonić do PLT do planowania.
Następnie zaimportujemy Numpy jako NP, aby stworzyć nd-arrays. Po tym imporcie z Sklearn Metrics. Teraz określamy X i Y za pomocą NP. array (), aby utworzyć nd-arrays. ND-Aryray używa Numpy do przechowywania w nich sekwencyjnych liczb. Aby określić FPR i TPR i progów, zastosujemy metodę „Metryki.ROC_CURVE (x, y) ”, a następnie użyjemy tych wartości FPR i TPR do przechowywania w ROC_AUC, wywołując funkcję„ Metryki.auc () ”.
Po określaniu tych wartości wywołamy funkcję za pomocą „Metryk. Roccurvedisplay () ”, przekazując FPR, TPR i ROC_AUC w swoich argumentach. Następnie wywołamy funkcję. fabuła () i plt. show (), aby wyświetlić krzywą ROC-AUC z określonymi parametrami w wyjściu w następujący sposób:
Po uruchomieniu wyżej wymienionego kodu otrzymujemy następujące dane wyjściowe:
Krzywa RUC-AUC została teraz wyświetlona na wyjściu, co reprezentuje, jak bardzo nasz rozwinięty klasyfikator prawidłowo przewidział klasy jako 1 lub 0. Krzywa ROC-AUC działa dla zestawów danych z klasyfikacją binarną.
Przykład nr 04
Kolejna metoda wykresu wykresu przy użyciu scikit naucz się krzywej kalibracji. Krzywa kalibracji ma inną nazwę: schemat niezawodności; Ta krzywa wystawia średnią przewidywanego prawdopodobieństwa w stosunku do klasy pozytywnej na osi y krzywej, pobierając dane wejściowe z klasyfikatora klasyfikacji binarnej. Aby zaimplementować tę krzywą kalibracyjną, rozwiązajmy przykład, w którym najpierw zaimportujemy zestaw danych „Wykonaj klasyfikację” z pakietu zestawów danych Sklearn, a następnie zaimportować pociąg i test testu z selekcji modelu Sklearn, a następnie przy użyciu linearnego wyboru modelu Sklearn Import Regresja i Po tej krzywej kalibracji importu i wyświetlanie z „Kalibracji Sklearn”.
Po zaimportowaniu wszystkich ważnych i wymaganych pakietów załaduj teraz metodę „Make Classification” przy użyciu metody Load „DataSet_name ()”, po tym podzielimy dane do celów pociągu i testów za pomocą metody „THAR_TEST__SPLIT ()”, a następnie my my Zbuduje model klasyfikacji za pomocą „logisticreGression ()” i pasuje do tego modelu na x_train i y_train.
Teraz wykorzystując etykiety i prawdopodobieństwa przewidywane za pomocą „klasyfikatora. Przewiduj prawdopodobieństwo () ”omijając XXTest jako jego argument wejściowy, wywołać metodę„ Kurwa kalibracji () „Aby najpierw wykreślić krzywą kalibracyjną, a następnie wyświetlić ją za pomocą„ DisplayCurve () ”.
Wyjście wyświetla wykres krzywej kalibracji, która wykorzystała prawdziwe przewidywane prawdopodobieństwa z binarnego klasyfikatora.
Krok 03: Różne zestawy danych i ich narzędzia w Scikit Learn
Aby pracować z algorytmami uczenia maszynowego, musimy mieć zestawy danych, których możemy użyć do budowy określonych algorytmów i osiągnięcia pożądanych wyjść. Scikit Learn jest wyposażony w niektóre pakiety, które mają domyślne wbudowane zestawy danych przechowywane w nim według nazwy Sklearn. Zestawy danych. Aby pracować nad zestawami danych, możemy je przeczytać za pomocą domyślnych zestawów danych sklearn, albo generowanie.
Zestawami danych, które Sklearn zapewnia swojemu użytkownikowi, to niektóre stosunkowo małe zestawy danych zabawek i inne rzeczywiste zestawy danych, które są ogromne i zawierają informacje związane z aplikacjami światowymi. Standardowy rozmiar i małe zestawy danych można uzyskać za pomocą ładowarek zestawu danych, podczas gdy rzeczywiste zestawy danych są ładowane przez pobieranie zestawu danych.
W tym przykładzie najpierw zaimportujemy zestawy danych zabawek z „Sklearn. Zestawy danych ”. Aby zaimportować zestaw danych, użyjemy Sklearn.Zestawy danych. Sklearn.Zestawy danych umożliwiają import zestawu danych z domyślnych zestawów danych. Różne zestawy danych można załadować ze Sklearn.Zestawy danych za pomocą tego polecenia.
$ od Sklearn. Zestawy danych importuj load_digits
Tutaj zaimportowaliśmy zestaw danych cyfr ze Sklearn.Zestawy danych. Możemy załadować dowolny inny zestaw danych za pomocą tego samego polecenia z prostą modyfikacją; Oznacza to, że musimy zastąpić „ładowanie_digits” na nazwę tego konkretnego zestawu danych, który chcemy załadować w wyżej wymienionym poleceniu. Teraz w następnym kroku załadujemy zestaw danych za pomocą metody „set_name ()”, a następnie przechowywamy ją w dowolnej zmiennej, powiedzmy zestaw danych, jak to zrobiliśmy w tym poleceniu
$ dataSet = load_digits ().
Do tego kroku zestaw danych został pobrany w cyfrach. Aby wyświetlić dane w tym zestawie danych, użyjemy funkcji drukuj i przekazamy nazwę zmiennej.Dane w argumentach funkcji drukowania.
$ print (zestaw danych.dane )
Teraz uruchomimy te wszystkie wyżej wymienione polecenia w formie kodu i damy to wyjście jako:
Po wykonaniu kodu otrzymaliśmy wyjście, które wyświetla wszystkie dane przechowywane w zestawie danych obciążenia _digits.
Jeśli chcemy wiedzieć o specyfikacji zestawu danych pod względem liczby klas w zestawie danych lub liczby funkcji dla zestawu danych plus próbki rozmiar zestawu danych, to znaczy, ile przykładów podano każdy zestaw danych.
Aby uzyskać te informacje, możemy po prostu użyć funkcji „Nazwa danych danych danych. kształt". Aby to zaimplementować, zaimportuj zestaw danych (Load_IRIS) ze Sklearn.Zestawy danych, a następnie załaduj ten zestaw danych, wywołując metodę „load_iris ()” i przechowując ją w „IRIS. obciążenie". Następnie wydrukuj specyfikację zestawu danych za pomocą druku (Loadiris.kształt) w następujący sposób:
Powyższy kod miałby następujące dane wyjściowe po wykonaniu:
Wyjście zwróciło wartości (150, 4). Oznacza to, że zestaw danych ma 150 przykładowych przykładów i 4 atrybuty, których możemy użyć do stworzenia naszego algorytmu uczenia maszynowego zgodnie z popytem.
W następnym przykładzie dowiemy się teraz, jak importować rzeczywiste zestawy danych i pracować nad nimi. W przypadku danych rzeczywistych pobieramy pliki za pomocą funkcji pobierania, która pobiera i wyodrębnia zestaw danych z pamięci podręcznej/archiwum konkretnej witryny i ładuje ją do sklearn. Zestawy danych.
Weźmy rzeczywiste dane z rzeczywistych zestawów danych za pomocą Sklearn.Zestawy danych i pracuj nad tym. Tutaj chcielibyśmy wziąć dane z niektórych stron internetowych grup dyskusyjnych, „witryny grupy telewizyjnej”. Teraz zaimportujemy zestaw danych dla tej konkretnej witryny, najpierw pobierając pliki z repozytorium strony internetowej. Następnie załadujemy dane szkoleniowe z pobranych plików tych danych do Sklearn.Zestawy danych wywołujące metodę ładowania, i.mi., „DataSet_name (podzbiór =” test testowy lub szkolenia do wprowadzenia ”)”, a następnie przechowuje je w jakimś zmiennym „gazetaDataLoad”.
Następnie po prostu wyświetlimy nazwy docelowych zestawu danych. „Nazwy docelowe” to pliki zawierające rzeczywiste pliki danych z zestawów danych. Wywołajmy funkcję drukowania, aby wyświetlić nazwy plików obecnych w zestawie danych, pisząc polecenia:
$ pprint (lista („nazwa danych. cel ”_names))
Zaimportowaliśmy tutaj Pprint, ponieważ nazwa docelowa zawiera listę pliku i chcemy, aby ta lista była wyświetlana taka, jaka jest. Aby wyświetlić tę listę, najpierw zaimportowaliśmy pakiet pprint, a następnie używając go, wyświetliśmy listę nazw plików w zestawie danych, który już załadowaliśmy „Sklearn.Zestawy danych ”, pobierając pliki ze strony internetowej. Wdrożyliśmy wyżej wymieniony kod w Pythonie, a jego wyjście okazało się takie:
Teraz lista zestawów danych została wyświetlona przez system. Jeśli chcemy znać atrybuty tego zestawu danych, e.G., Liczba przykładowych przykładów zawiera zestaw danych, całkowita liczba funkcji w zestawie danych itp. Możemy po prostu użyć druku (nazwa danych danych. Nazwa pliku. kształt), ponieważ, jak już wyjaśniliśmy, że wszystkie informacje z zestawu danych są przechowywane w pliku pliku_name lub nazwie docelowej i zwróci informacje o atrybucie zestawu danych, tak jak jest to.
$ print (gazeta danych. Nazwa pliku. kształt )
Krok 04: Wybór funkcji
W algorytmach uczenia maszynowego najważniejszym aspektem, który kontroluje wyjście algorytmu. Funkcje przyczyniają się głównie do budowania dowolnego algorytmu uczenia maszynowego. Całe przetwarzanie odbywa się na zestawach danych opartych na funkcjach. Funkcje mogą sprawić, że algorytmy są solidne lub pełne awarie pod względem dokładności (najlepsza prognoza lub oszacowanie) dla granicy decyzji. Jeśli istnieją zbędne cechy lub większa liczba wymaganych funkcji, przyczynia się to do nadmiernego dopasowania w wyjściu.
Nadmierne dopasowanie jest zjawiskiem, w którym model wyszkolony w zestawach danych ma więcej funkcji niż wymagane i ma błąd szkolenia najbliższy zero, ale gdy jest wyszkolony w zestawie danych testowych, model nie działa dobrze w tym zestawie danych testowych i dlatego nie podejmuje prawidłowych decyzji. Aby uniknąć okazji przeszkolonego modelu, upuszczamy niektóre z niepotrzebnych cech. Ta redukcja wymiarowości można dokonać na kilka sposobów za pomocą nauki scikit.
Przykład nr 01
Pierwszą metodą usunięcia tej funkcji jest próg niskiej wariancji; W tego rodzaju wyborze funkcji usuwamy te funkcje z zestawów danych o niskiej wariancji, które są poniżej danych progów. Funkcje niskiej wariancji to te, które wnoszą tę samą wartość w całym zestawie danych.
Spróbujmy przykładu redukcji funkcji. Załóżmy, że mamy zestaw danych, który ma trzy funkcje danych binarnych. W naszym przykładzie cyfrowe zestawy danych mają cztery kolumny jako cztery funkcje. Jeśli chcemy usunąć jedną funkcję ze wszystkimi przykładami przykładowymi z zestawu danych, użyjemy formuły wariancji i zbudujemy próg wariancji. Jeśli jakakolwiek funkcja ma niską wariancję, wówczas próg zostanie usunięty z zestawu danych.
Najpierw zaimportujemy próg wariancji z „Sklearn Feature_Selection”. Po zaimportowaniu progu wariancji ustawimy wartość tego progu, który w naszym przypadku zdefiniowaliśmy jako „0.5 ”. Tak więc wszelkie kolumny funkcji, które mają wartość mniejszą niż ten próg, spadną z tego zestawu danych cyfrowych.
Aby to zrobić, nazwiemy metodę „wariancję progową ()”. W argumentach funkcji przekazamy wartość progową, aby wynosić 0.5 i przechowuj go w jakimś zmiennym „progu”. Następnie wywołamy funkcję „Próg. fit_transform () ”i przekazuj zestaw danych do tej funkcji i pozwól mu przechowywać z nazwą new_Dataset. Po zakończeniu tych kroków wydrukujemy zestaw danych, jak pokazano:
Jak można zobaczyć w wyjściu, że zanim zastosowaliśmy próg wariancji do zestawu danych, miał 4 funkcje, a teraz po zastosowaniu progu wariancji na zestawie danych, poinstruowaliśmy system do usunięcia wszystkich kolumn o wariancji poniżej wartość progowa, i.mi., 0.5, dane wyjściowe wyświetla trzy kolumny w zestawie danych, co oznacza, że jedna kolumna została obliczona jako wariancja mniejsza niż próg, więc został zrezygnowany z zestawu danych, aby uniknąć redundancji w zestawie danych i aby model był przeszkolony w danych danych być bardziej precyzyjnym pod względem dokładności i uniknięcia nadmiernego dopasowania.
Przykład nr 02
Druga metoda wyboru funkcji w zestawie danych jest podana metodą „Wybierz K-Best”. W celu wdrożenia tej metody zestaw danych IRIS zostanie zaimportowany z „SklearnDatasets”, a następnie załadujemy ten zestaw danych i zapiszymy go w pewnej zmiennej losowej, takiej jak IRIS. Następnie, aby załadować zestaw danych, nazwiemy „LoadDataset_name ()”.
CHI2 mierzy różnicę między oczekiwanymi a obserwowanymi cechami i jest wykorzystywany do zadań klasyfikacyjnych. Po załadowaniu zestawu danych do tęczówki i zaimportowaniu Wybierz K Best i Chi2, użyjemy ich teraz w „Fit. Funkcja transformacji () ”. SelectKbest (chi2, k = 2). pasować.transform (), najpierw pasuje do danych przyjmujących dane szkoleniowe jako dane wejściowe, a następnie przekształcając je. Następnie K w metodzie SelectKBest upuszcza kolumny i wybiera te funkcje, które uzyskały najwyższe funkcje. W naszym przypadku wybierzemy dwie funkcje, gdy wybierzemy wartość K równą 2.
W tym przykładzie, gdy po prostu załadowaliśmy zestaw danych, a następnie wyświetliliśmy go, w zestawie danych znajdowały się cztery kolumny jako funkcje, ale teraz po zastosowaniu metody SelectKBest z k = 2 na zestawie danych, który pojawił się nowy zestaw danych Dwie kolumny jako funkcje oznacza to, że SelectKBest wybrał dwa najlepsze funkcje z oryginalnego zestawu danych.
Przykład nr 03
Innym sposobem na wybranie ważnej funkcji z zestawu danych jest podany przez Scikit Learn przy użyciu „Eliminacja funkcji rekurencyjnych (RFE)”. RFE zrzuca mniej ważne funkcje z zestawu danych, wykonując szkolenie rekurencyjne zestawu danych. RFE wybiera numer funkcji dla siebie, używając mediany całkowitej liczby funkcji w zestawie danych i zrzuca tylko jedną funkcję z zestawu danych na każdej iteracji. Aby zaimplementować RFE, najpierw zaimportuj biblioteki, które są wymagane do zbudowania kodu za pomocą tych poleceń.
Teraz z powodzeniem zaimportowaliśmy pakiety dla RFE ze Sklearn. funkcja. wybór. Aby utworzyć zestaw danych, załadowaliśmy funkcję „Make_reGression ()”, aw jej argumentach przeszliśmy te parametry, które chcemy w zestawie danych.
$ X, y = make_reGression (n_samples = 10000, n_features = 100, n_informative = 2)
$ print (x.kształt)
Następnie drukujemy ten zestaw danych, aby wiedzieć o dokładnym kształcie lub atrybutach zestawu danych. Po wyświetleniu zestawu danych użyjemy teraz eliminatora funkcji rekurencyjnych. W tym celu stworzymy model jako DecyzjaTreeReGressor (). Po zakończeniu modelu przy użyciu RFECV (), który zaimportowaliśmy wcześniej, przejdziemy w sprawa, model/estymator, krok, punktacja i CV jako parametry wymagane w argumentach RFECV.
Teraz, aby usunąć funkcję rekurencyjną, dopasujemy i przekształcimy dane. Cała wyjaśniona procedura można zapisać jako kod poniżej:
Teraz funkcje zostaną rekurencyjnie upuszczone zgodnie z naszymi wymogami po każdej iteracji, ponieważ można je wyraźnie pokazać na wyjściu. Ta rekurencyjna eliminacja funkcji będzie kontynuowana, dopóki nie osiągniemy punktu, w którym pozostaniemy z dwiema ważnymi funkcjami spośród 100 funkcji obecnych w oryginalnym zestawie danych.
Przykład nr 04
Inną metodą, której możemy użyć do usunięcia dodatkowych funkcji lub możemy po prostu je upuścić ze względu na ich nadmiarowość, jest „model wyboru” wraz z „modeniami liniowymi”. Kiedy tezy liniowe są w jakiś sposób karane normą L1, ich rozwiązanie istnieje rzadko, ponieważ większość ich współczynników staje się równa zero.
W redukcji wymiarowości lub wyborze funkcji te modele liniowe, wraz z modelem selekcji, pomagają wybrać ten niezerowy współczynnik. Pracują głównie na problem regresji. Aby zaimplementować model selekcji, musimy najpierw zaimportować LineARSVC ze Sklearn.SVM, LineARSVC to liniowy klasyfikator wektora wsparcia, który znajduje najlepszą linię dopasowania (hiper-płaszczyznę) do podziału i klasyfikowania danych w różnych kategoriach; Po otrzymaniu hiperplanu w LSVC możemy następnie dostarczyć dowolną funkcję tego najlepszego modelu dopasowania, aby wiedzieć, do której klasy należą ta funkcja, a następnie zaimportujemy zestaw danych ze Sklearn. Zestawy ATA, a po tym będziemy musieli zaimportować „Model wyboru” ze Sklearn.Wybór funkcji.
Po zaimportowaniu wymaganych pakietów ładujemy zestaw danych IRIS przy użyciu load_dataset (), a następnie wyświetlamy atrybuty zestawu danych IRIS pod względem przykładowych przykładów i liczby funkcji, które ma za pomocą „ .Metoda kształtu ”. Po poznaniu kształtu zestawu danych zastosujemy teraz „LineARSVC ().Fit (_Loaded Data Set) ”Model z C = 0.01, kara liniarsvc = l1 jako jego argument wejściowy. Następnie zbuduj model za pomocą „SelectFrom Model ()”, a następnie przekształć model za pomocą „Model.przekształcać()". Teraz wyświetl nowy zestaw danych transformacji i pokaż jego atrybut za pomocą danych „set_new.kształt".
Kształt zestawu danych przed zastosowaniem „modelu selekcji” do wyboru funkcji wynosił (150, 4), co oznacza, że miał 150 przykładowych przykładów i cztery atrybuty, ale po zastosowaniu wyboru funkcji w zestawie danych przy użyciu „LineARSVC ”I wybieranie modelu kształt zestawu danych został przekształcony w (150, 3), co oznacza, że jedna funkcja została zrezygnowana z zestawu danych.
Krok 05: wstępne przetwarzanie danych
Zestawy danych, z którymi pracujemy nad opracowywaniem i szkoleniem różnych algorytmów uczenia maszynowego, nie zawsze są tymi w idealnej formie do budowania modelu. Musimy zmodyfikować te zestawy danych zgodnie z naszymi wymaganiami. Pierwszym krokiem, który musimy zrobić po załadowaniu zestawu danych i przed szkoleniem modelu jest wstępne przetwarzanie danych. Przez wstępne przetwarzanie danych rozumiemy:
Skalowanie funkcji
Najważniejszym zadaniem w przetwarzaniu danych jest skalowanie funkcji. Skalowanie funkcji odbywa się, aby wszystkie funkcje zestawu danych miały tę samą jednostkę; W przeciwnym razie algorytm nie będzie trenował prawidłowo i może wpływać na wydajność algorytmu, spowolniając proces. Skalowanie można wykonać za pomocą MinmaxScaler lub Maxabsscaler. Skalowanie funkcji ustawia zakresy wartości funkcji od zera do jednego, a czasem na żądanie, może ograniczyć wartość funkcji do wielkości jednostki.
Tutaj zaimplementujemy przykład, w którym najpierw zamierzamy zaimportować wstępne przetwarzanie ze Sklearn, a następnie zaimportujemy Numpy. Numpy jest używany w funkcjach, w których musimy pracować z tablicami. Teraz stworzymy nd-array za pomocą Numpy. Aby zrobić skalowanie funkcji w tej tablicy, którą stworzyliśmy, najpierw użyjemy metody „Przetwarzanie wstępne. MinmaxScaler () ”. Po tym kroku stosujemy MinmaxScaler do tablicy, wywołując metodę „MinmaxScaler. fit_transform () ”i przejdzie tę tablicę w swoich argumentach. Kod można ponownie napisać jako:
Wyjście po skalowaniu funkcji zostało wykonane na „x”, daje wartość tablicy między zero a jednym. MaxabsScaler działa głównie tak samo jak MinmaxScaler, ale ten skaler skaluje zakres wartości danych między ujemnym (-1) a pozytywnym (+1). Kod dla MaxabsScaler jest podany przez:
W wyjściu wartości danych „x” zostały zwrócone w formie ciągłej z zakresu od -1 do +1.
Normalizacja / standaryzacja cech
W tym przykładzie dowiemy się o technikach wstępnego przetwarzania danych. Najpierw importujmy się ze sklearn preprocessing i po imporcie wstępnego przetwarzania ze Sklearn, a następnie importuj Numpy, ponieważ będziemy teraz współpracować z tablicami ND. Teraz utwórz nd-array i przechowuj go w „x”. Teraz musimy wykonać średnią normalizację/standaryzację tych danych. Aby to zrobić, zastosujemy konwencjonalną metodę „Przetwarzanie wstępne. StandardScaler. dopasowanie („wpisz tutaj dane do znormalizowania”) ”. Wartość z funkcji zostanie następnie zapisana w zmiennej, e.G., skaler. Teraz wykonaj standaryzację w danych danych X za pomocą metody, e.G. „Scaller. transformuj („dane”) ”i wyświetl nowo przekształcone dane:
Dane „x” zostały znormalizowane ze średnią wartością najbliższą zero. Normalizacja/standaryzacja danych jest przeprowadzana w celu uniknięcia zbędnych lub duplikatów w zestawie danych. Średnia normalizacja/ standaryzacja zapewnia przechowywanie tylko powiązanych danych w zestawach danych. Ponadto dotyczy to również problemów spowodowanych modyfikacjami, e.G., Usunięcie danych, dodanie nowych danych lub dowolnej aktualizacji w zestawach danych, które mogą stać się przeszkodą w przyszłości.
Teraz, gdy dowiedzieliśmy się najwięcej o pakietach Scikit, których możemy użyć do budowy algorytmów uczenia maszynowego. Powinniśmy przetestować nasze umiejętności za pomocą scikit, dowiedzieć się funkcji, którą użyliśmy powyżej w tym przewodniku, i opracować algorytm uczenia maszynowego, aby najpierw wyszkolić model na określonym zestawie danych, a następnie przetestować ten model, uruchamiając go w nieznanym zestawie danych testowych Zdobądź praktyczne wrażenia z tego scikitu naucz się funkcji/pakietów. Rozpocznijmy wdrożenie funkcji Scikit Ucz się dla algorytmu uczenia maszynowego lub modelu.
Krok 06: Trening modelowy za pomocą Scikit Learn
Przeszkolimy „model regresji liniowej” w zestawie danych cenowych, który później stworzymy w kodzie. Regresja liniowa znajduje najlepszą linię dopasowaną do punktów danych podanych w zestawie danych. Ta linia jest wykreślona na punktach danych na wykresie. Używamy tej linii, aby przewidzieć wartości, które nasz model pociągu będzie przewidywał, kiedy zostanie przetestowany na niektórych danych testowych z przekonaniem, że punkty danych wyjściowych wygenerowane po uruchomieniu danych testowych w modelu podążą za linią jako oryginalne dane lub szkolenie Dane nastąpiły.
Aby pracować z modelem regresji liniowej, musimy zaimportować bibliotekę Matplotlib, a następnie z Scikit Learn, zaimportujemy model liniowy, matryce i dowolny wybór modelu, aby wyszkolić model w późniejszym kodzie. Aby utworzyć zestaw danych ceny domu, zaimportujemy NP z Numpy i utworzymy dwie nd-array z nazwami odpowiednio „obszary Q_Footage_X” i „HousePrice_Y”.
Po utworzeniu tych dwóch lat ND, wykreślymy ich wartości na wykresie za pomocą „rozproszenia.plis () ”, oznaczając oś x wykresu jako„ obszar domu ”i osi y jako„ cenę domu ”. Po wykreśleniu punktów danych wyszkolimy model za pomocą modelu „LinearreGression ()”. Następnie rozszerzymy wymiary nd-array „obszaryq_footage_x”, a następnie będzie on przechowywany w nowej zmiennej „x_new”. Następnie użyjemy „Model_House.fit () ”i przejdzie„ x_new ”i„ housePrice_Y ”w swoich argumentach wejściowych, aby pasować do modelu dla najlepszej linii.
Stworzymy hipotezę najlepszej linii dopasowanej przez „y = theta0* x + theta1” i wykreślą te oczekiwane wyniki na rzeczywistych danych i wykreślić wykres. Ten wykres poinformuje nas o najlepszej linii dopasowania dla danych punktów danych, na podstawie których przewidziemy dane wyjściowe punktów danych danych testowych przewidywanych jako poprawne, czy nie.
To jest wykres, który otrzymaliśmy przed szkoleniem modelu. Wszystkie punkty danych zostały wykreślone zgodnie z wartościami zarówno osi X, jak i osi Y.
Ten wykres jest wyjściem wyszkolonego modelu i pokazuje najlepszą linię dopasowania do przewidywania danych wyjściowych punktów danych, jeśli wyszkolony model jest oceniany na niektórych danych testowych.
Wniosek
Scikit Learn to biblioteka Pythona, która wykorzystuje pakiet Sklearn do pracy z różnymi dostępnymi funkcjami do budowania dowolnego algorytmu uczenia maszynowego. W tym samouczku dowiedzieliśmy się, że Scikit uczy się z bardzo podstawowych kroków (instalacja scikit uczyć się na Python do złożonego treningu modelu za pomocą pakietów Scikit Learn). Pomiędzy poziomem podstawowym do złożonego omówiliśmy wykres wykresów, ładowanie zestawów danych, wybór funkcji i wstępne przetwarzanie danych. Mamy nadzieję, że ten samouczek pomoże ci rozwijać swoją wiedzę na temat nauki SCIT.