Najlepsze projekty uczenia maszynowego w Pythonie dla początkujących [2022]

Opublikowany: 2021-01-03

Jeśli chcesz zostać profesjonalistą w zakresie uczenia maszynowego, musiałbyś zdobyć doświadczenie w korzystaniu z jego technologii. Najlepszym sposobem na to jest ukończenie projektów. Dlatego w tym artykule dzielimy się wieloma projektami uczenia maszynowego w Pythonie, dzięki czemu możesz szybko rozpocząć testowanie swoich umiejętności i zdobyć cenne doświadczenie.

Zanim jednak zaczniesz, upewnij się, że jesteś zaznajomiony z uczeniem maszynowym i jego algorytmem. Jeśli nie pracowałeś wcześniej nad projektem, nie martw się, ponieważ udostępniliśmy również szczegółowy samouczek dotyczący jednego projektu:

Spis treści

Zbiór danych Iris: dla początkujących

Zestaw danych Iris jest z pewnością jednym z najpopularniejszych projektów uczenia maszynowego w Pythonie. Jest stosunkowo niewielki, ale jego prostota i niewielkie rozmiary sprawiają, że jest idealny dla początkujących. Jeśli nie pracowałeś jeszcze nad żadnymi projektami uczenia maszynowego w Pythonie, powinieneś zacząć od tego. Zestaw danych Iris to zbiór rozmiarów działek i płatków kwiatu Iris. Ma trzy klasy, po 50 instancji w każdej z nich.

W różnych miejscach udostępniliśmy przykładowy kod, ale należy go używać tylko po to, aby zrozumieć, jak to działa. Wdrożenie kodu bez zrozumienia go zaprzeczyłoby założeniu wykonania projektu. Dlatego upewnij się, że dobrze rozumiesz kod przed jego wdrożeniem.

Krok 1: Importuj biblioteki

Pierwszym krokiem każdego projektu uczenia maszynowego jest importowanie bibliotek. Głównym powodem, dla którego Python jest tak wszechstronny, są jego solidne biblioteki. Biblioteki, których będziemy potrzebować w tym projekcie to:

  • Pandy
  • Matplotlib
  • Wyczyść
  • SciPy
  • NumPy

Istnieje wiele metod importowania bibliotek do systemu i należy użyć określonego sposobu importowania wszystkich bibliotek. Zapewniłoby to spójność i pomogłoby uniknąć nieporozumień. Pamiętaj, że instalacja różni się w zależności od systemu operacyjnego urządzenia, więc pamiętaj o tym podczas importowania bibliotek.

Kod:

# Załaduj biblioteki

z importu pand read_csv

z pandas.plotting import scatter_matrix

z matplotlib import pyplot

ze sklearn.model_selection importuj train_test_split

ze sklearn.model_selection importuj cross_val_score

ze sklearn.model_selection import StratifiedKFold

ze sklearn.metrics importu Classification_report

ze sklearn.metrics importuj pomyłkę_macierzy

ze sklearn.metrics importuje wynik_dokładności

ze sklearn.linear_model import LogisticRegression

ze sklearn.tree importuj DecisionTreeClassifier

from sklearn.neighbors import KNeighborsClassifier

from sklearn.discriminant_analysis import LinearDiscriminantAnalysis

z sklearn.naive_bayes import GaussianNB

z sklearn.svm import SVC

Przeczytaj: 10 najlepszych pomysłów na projekty zestawów danych uczenia maszynowego dla początkujących

Krok 2: Załaduj zbiór danych

Po zaimportowaniu bibliotek czas na załadowanie zestawu danych. Jak już wspomnieliśmy, w tym projekcie użyjemy zestawu danych Iris. Możesz go pobrać stąd .

Upewnij się, że określiłeś nazwy każdej kolumny podczas ładowania danych, a to pomoże ci później w projekcie. Zalecamy pobranie zestawu danych, więc nawet jeśli napotkasz problemy z połączeniem, Twój projekt pozostanie nienaruszony.

Kod:

# Załaduj zbiór danych

url = „https://raw.githubusercontent.com/jbrownlee/Datasets/master/iris.csv”

nazwy = ['długość-sepal', 'szerokość-sepal', 'długość-płatka', 'szerokość-płatka', 'klasa']

zbiór danych = read_csv(url, name=names)

Krok 3: Podsumowanie

Zanim zaczniemy korzystać ze zbioru danych, musimy najpierw przyjrzeć się danym w nim obecnym. Zaczniemy od sprawdzenia wymiaru zbioru danych, który pokazuje nam, że zbiór danych ma pięć atrybutów i 150 instancji.

Po sprawdzeniu wymiaru powinieneś spojrzeć na kilka wierszy i kolumn zbioru danych, aby uzyskać ogólne pojęcie o jego zawartości. Następnie powinieneś spojrzeć na podsumowanie statystyczne zestawu danych i zobaczyć, które metryki są w nim najbardziej rozpowszechnione.

Na koniec powinieneś sprawdzić rozkład klas w zestawie danych. Oznacza to, że będziesz musiał sprawdzić, ile instancji należy do każdej klasy. Oto kod podsumowujący nasz zbiór danych:

# podsumuj dane

z importu pand read_csv

# Załaduj zbiór danych

url = „https://raw.githubusercontent.com/jbrownlee/Datasets/master/iris.csv”

nazwy = ['długość-sepal', 'szerokość-sepal', 'długość-płatka', 'szerokość-płatka', 'klasa']

zbiór danych = read_csv(url, name=names)

# kształt

print(dataset.shape)

# głowa

print(dataset.head(20))

# opisów

print(zestaw danych.opis())

# dystrybucja klas

print(dataset.groupby('class').size())

Krok 4: Wizualizuj dane

Po podsumowaniu zestawu danych należy go zwizualizować w celu lepszego zrozumienia i analizy. Możesz użyć wykresów jednowymiarowych, aby szczegółowo przeanalizować każdy atrybut, a wykresów wielowymiarowych, aby zbadać relacje każdego obiektu. Wizualizacja danych jest kluczowym aspektem projektów uczenia maszynowego, ponieważ pomaga znaleźć istotne informacje obecne w zbiorze danych.

Krok 5: Ocena algorytmu

Po wizualizacji danych ocenimy kilka algorytmów, aby znaleźć najlepszy model dla naszego projektu. Najpierw utworzymy zbiór danych do walidacji, który wyciągniemy z oryginalnego. Następnie zastosujemy 10-krotną walidację krzyżową i stworzymy różne modele. Jak już wspomniano, staramy się przewidzieć gatunek poprzez pomiary kwiatów. Powinieneś używać różnych rodzajów algorytmów i wybrać ten, który daje najlepsze wyniki. Możesz przetestować SVM (Support Vector Machines), KNN (K-Nearest Neighbors), LR (Logistic Regression) i inne.

W naszym wdrożeniu najlepszym modelem okazał się SVM. Oto kod:

z importu pand read_csv

z matplotlib import pyplot

ze sklearn.model_selection importuj train_test_split

ze sklearn.model_selection importuj cross_val_score

ze sklearn.model_selection import StratifiedKFold

ze sklearn.linear_model import LogisticRegression

ze sklearn.tree importuj DecisionTreeClassifier

from sklearn.neighbors import KNeighborsClassifier

from sklearn.discriminant_analysis import LinearDiscriminantAnalysis

z sklearn.naive_bayes import GaussianNB

z sklearn.svm import SVC

# Załaduj zbiór danych

url = „https://raw.githubusercontent.com/jbrownlee/Datasets/master/iris.csv”

nazwy = ['długość-sepal', 'szerokość-sepal', 'długość-płatka', 'szerokość-płatka', 'klasa']

zbiór danych = read_csv(url, name=names)

# Podzielony zbiór danych walidacyjnych

tablica = zbiór danych.wartości

X = tablica[:,0:4]

y = tablica[:,4]

X_train, X_validation, Y_train, Y_validation = train_test_split(X, y, test_size=0.20, random_state=1, shuffle=True)

# Algorytmy kontroli punktowej

modele = []

modele.append(('LR', LogisticRegression(solver='liblinear', multi_class='ovr')))

modele.append(('LDA', LinearDiscriminantAnalysis()))

modele.append(('KNN', KNeighborsClassifier()))

modele.append(('KOSZYK', DecisionTreeClassifier()))

modele.append(('NB', GaussianNB()))

modele.append(('SVM', SVC(gamma='auto')))

# oceniaj każdy model po kolei

wyniki = []

imiona = []

dla nazwy, model w modelach:

kfold = StratyfikowanyKFold(n_splits=10, random_state=1, shuffle=True)

cv_results = cross_val_score(model, X_train, Y_train, cv=kfold, scoring='dokładność')

wyniki.append(cv_results)

name.append(nazwa)

print('%s: %f (%f)' % (nazwa, cv_results.mean(), cv_results.std()))

# Porównaj algorytmy

pyplot.boxplot(wyniki, etykiety=nazwy)

pyplot.title('Porównanie algorytmów')

pyplot.show()

Krok 6: Przewiduj

Po dokonaniu oceny różnych algorytmów i wybraniu najlepszego, nadszedł czas, aby przewidzieć wyniki. Najpierw użyjemy naszego modelu w zestawie danych walidacyjnych, aby sprawdzić jego dokładność. Następnie przetestujemy go na całym zbiorze danych.

Oto kod do uruchomienia naszego modelu w zestawie danych:

# prognozować

z importu pand read_csv

ze sklearn.model_selection importuj train_test_split

ze sklearn.metrics importu Classification_report

ze sklearn.metrics importuj pomyłkę_macierzy

ze sklearn.metrics importuje wynik_dokładności

z sklearn.svm import SVC

# Załaduj zbiór danych

url = „https://raw.githubusercontent.com/jbrownlee/Datasets/master/iris.csv”

nazwy = ['długość-sepal', 'szerokość-sepal', 'długość-płatka', 'szerokość-płatka', 'klasa']

zbiór danych = read_csv(url, name=names)

# Podzielony zbiór danych walidacyjnych

tablica = zbiór danych.wartości

X = tablica[:,0:4]

y = tablica[:,4]

X_train, X_validation, Y_train, Y_validation = train_test_split(X, y, test_size=0,20, random_state=1)

# Dokonaj prognoz na zbiorze danych walidacyjnych

model = SVC(gamma='auto')

model.fit(X_train, Y_train)

prognozy = model.predict(X_validation)

# Oceń prognozy

print(accuracy_score(Y_validation, prognozy))

print(confusion_matrix(Y_validation, predykcje))

print(classification_report(Y_validation, predykcje))

Otóż ​​to. Ukończyłeś projekt uczenia maszynowego w Pythonie przy użyciu zestawu danych Iris.

Dodatkowe projekty uczenia maszynowego w Pythonie

Zestaw danych Iris jest przeznaczony głównie dla początkujących. Jeśli masz jakieś doświadczenie w pracy nad projektami uczenia maszynowego w Pythonie, powinieneś spojrzeć na poniższe projekty:

1. Użyj ML do prognozowania cen akcji

Doskonałym miejscem do zastosowania algorytmów uczenia maszynowego jest rynek akcji. Firmy od dłuższego czasu używają algorytmów AI i technologii opartych na ML do przeprowadzania analiz technicznych. Możesz także zbudować model ML, który przewiduje ceny akcji.

Jednak aby pracować nad tym projektem, będziesz musiał użyć kilku technik, w tym analizy regresji, analizy predykcyjnej, modelowania statystycznego i analizy akcji. Niezbędne dane można uzyskać z oficjalnych stron giełdowych. Dzielą się danymi o przeszłych występach akcji. Możesz użyć tych danych do trenowania i testowania swojego modelu.

Jako początkujący możesz skupić się na jednej konkretnej firmie i przewidzieć jej wartość akcji na trzy miesiące. Podobnie, jeśli chcesz, aby projekt był trudny, możesz skorzystać z wielu firm i wydłużyć ramy czasowe prognoz.

Czego nauczysz się z tego projektu:

Ten projekt zapozna Cię z zastosowaniami AI i ML w branży finansowej. Możesz także studiować analizę predykcyjną w ramach tego projektu i wypróbować różne algorytmy.

2. Napisz algorytm uczenia maszynowego od podstaw

Jeśli jesteś początkującym i nie pracowałeś nad żadnymi projektami uczenia maszynowego w Pythonie, możesz również zacząć od tego. W tym projekcie musisz zbudować od podstaw algorytm ML. Wykonanie tego projektu pomoże Ci zrozumieć wszystkie podstawy funkcji algorytmu, a także nauczy Cię konwertować formuły matematyczne na kod uczenia maszynowego.

Umiejętność konwertowania pojęć matematycznych na kod ML jest kluczowa, ponieważ w przyszłości będziesz musiał ją wdrażać wiele razy. Ponieważ będziesz rozwiązywać bardziej zaawansowane problemy, będziesz musiał polegać na tej umiejętności. Możesz wybrać dowolny algorytm zgodnie ze swoją znajomością jego koncepcji. Jeśli brakuje Ci doświadczenia, najlepiej zacząć od prostego algorytmu.

Czego nauczysz się z tego projektu:

Poznasz matematyczne koncepcje sztucznej inteligencji i uczenia maszynowego.

3. Utwórz czytnik pisma ręcznego

To jest projekt wizji komputerowej. Wizja komputerowa to dział sztucznej inteligencji związany z analizą obrazu. W tym projekcie stworzysz model ML, który potrafi czytać pismo odręczne. Czytanie oznacza, że ​​model powinien być w stanie rozpoznać, co jest napisane na papierze. W tym projekcie musiałbyś użyć sieci neuronowej, aby zapoznać się z głębokim uczeniem i związanymi z nim koncepcjami.

Najpierw musisz wstępnie przetworzyć obraz i usunąć niepotrzebne sekcje; innymi słowy, wykonaj czyszczenie danych na obrazie, aby uzyskać przejrzystość. Następnie będziesz musiał przeprowadzić segmentację i zmianę rozmiaru obrazu, aby algorytm mógł poprawnie odczytać znaki. Po zakończeniu wstępnego przetwarzania i segmentacji możesz przejść do następnego kroku, klasyfikacji. Algorytm klasyfikacyjny rozróżni znaki występujące w tekście i umieści je w odpowiednich kategoriach.

Możesz użyć aktywacji log sigmoid, aby wytrenować algorytm ML dla tego projektu.

Czego nauczysz się z tego projektu:

Będziesz studiował wizję komputerową i sieci neuronowe. Ukończenie tego projektu pozwoli Ci również zapoznać się z rozpoznawaniem i analizą obrazu.

4. Predyktor sprzedaży

Sektor detaliczny ma wiele zastosowań dla sztucznej inteligencji i uczenia maszynowego. W tym projekcie odkryjesz jedną z takich aplikacji, czyli przewidywanie sprzedaży produktów.

Powszechnym zbiorem danych wśród entuzjastów uczenia maszynowego jest zbiór danych sprzedażowych BigMart. Ma ponad 1559 produktów w różnych punktach sprzedaży w 10 miastach. Zestawu danych można użyć do zbudowania modelu regresji. Według placówek Twój model musi przewidywać potencjalną sprzedaż poszczególnych produktów w nadchodzącym roku. Ten zestaw danych ma określone atrybuty dla każdego punktu sprzedaży i produktu, aby szybko zrozumieć ich właściwości i relacje między nimi.

Czego nauczysz się z tego projektu:

Praca nad tym projektem pozwoli Ci zapoznać się z modelami regresji i analizą predykcyjną. Dowiesz się również o zastosowaniach uczenia maszynowego w sektorze retail.

Dowiedz się więcej o uczeniu maszynowym i Pythonie

Mamy nadzieję, że ta lista projektów uczenia maszynowego w Pythonie okazała się przydatna. Jeśli masz jakieś pytania lub przemyślenia, daj nam znać w sekcji komentarzy. Chętnie odpowiemy na Twoje pytania.

Ucz się kursów nauki o danych z najlepszych światowych uniwersytetów. Zdobywaj programy Executive PG, Advanced Certificate Programs lub Masters Programs, aby przyspieszyć swoją karierę.

Oto kilka dodatkowych zasobów do nauki uczenia maszynowego i Pythona.

  • Samouczek Pythona
  • Uczenie maszynowe vs. Głęboka nauka
  • Aplikacje do uczenia maszynowego

Z drugiej strony, jeśli chcesz uzyskać bardziej spersonalizowaną naukę, możesz wziąć udział w kursie AI i ML. Będziesz mógł uczyć się od ekspertów branżowych poprzez filmy, zadania i projekty.

Czy uczenie maszynowe to dobry wybór kariery?

Jeśli interesują Cię nowe technologie i związane z nimi wiadomości, na pewno słyszałeś już o czwartej rewolucji przemysłowej, jaką zapoczątkowała technologia uczenia maszynowego. Zgodnie z raportami, globalny rynek uczenia maszynowego ma osiągnąć wartość 543 miliardów INR do 2023 roku. Jednak różnica w popycie i podaży wśród biegłych specjalistów w zakresie uczenia maszynowego wzrosła do prawie 125 procent. Wskazuje to, że dla profesjonalisty zajmującego się uczeniem maszynowym z odpowiednią kombinacją umiejętności, rynek pracy jest bardzo obiecujący. Niezależnie od tego, czy aspirujesz do zostania inżynierem uczenia maszynowego, inżynierem badawczym czy naukowcem, bez wątpienia będzie to dla Ciebie wzbogacająca kariera.

Czy świeższa torba może być pracą związaną z uczeniem maszynowym?

Mimo że większość dzisiejszych prac związanych z uczeniem maszynowym wymaga doświadczonych profesjonalistów, rośnie również liczba opcji odświeżania ze względu na ogromny popyt na rynku. Dla początkujących może to być trudne, ale z pewnością nie jest niemożliwe, aby uzyskać pracę w zakresie uczenia maszynowego. Jeśli potrafisz opanować wymagane umiejętności, zaplanować, jak dobrze grać i szybko uczyć się od doświadczonych graczy na boisku, możesz również zdobyć tę wymarzoną pracę. Możesz rozważyć takie opcje, jak uzyskanie odpowiednich certyfikatów, aby zwiększyć wartość dodaną, zapisanie się na kursy uczenia maszynowego na niezawodnych platformach, wypróbowanie niektórych praktycznych projektów, śledzenie najnowszych wiadomości i trendów technicznych oraz dołączanie do społeczności online.

Ile zarabia inżynier uczenia maszynowego?

Średnia pensja inżyniera uczenia maszynowego w Indiach wynosi około 8,2 INR rocznie, jak wynika z danych glassdoor.in. Teraz średni dochód zależy od kilku czynników, takich jak umiejętności, certyfikaty, doświadczenie, lokalizacja i inne. Ale przy większym doświadczeniu zawodowym możesz spodziewać się wzrostu zarobków. Na przykład starsi inżynierowie zajmujący się uczeniem maszynowym mogą zarabiać średnio od 13 do 15 lakh INR.