Wszystko o regresji liniowej za pomocą Scikit
Opublikowany: 2022-09-08W praktyce istnieją dwa podstawowe nadzorowane algorytmy uczenia maszynowego: 1. Klasyfikacja i 2. Regresja — Klasyfikacja służy do przewidywania dyskretnych wyników, podczas gdy regresja służy do przewidywania ciągłych wartości wyjściowych.
W algebrze liniowość oznacza prostą lub liniową zależność między wieloma zmiennymi. Dosłowną reprezentacją tej relacji byłaby linia prosta.
Zapisz się na kurs uczenia maszynowego z najlepszych uniwersytetów na świecie. Zdobywaj programy Masters, Executive PGP lub Advanced Certificate Programy, aby przyspieszyć swoją karierę.
Regresja liniowa to algorytm uczenia maszynowego wykonywany pod nadzorem. Jest to proces wyszukiwania i mapowania linii odpowiedniej dla wszystkich punktów danych dostępnych na omawianym wykresie. Jest to model regresji, który pomaga oszacować wartość między jedną zmienną zależną a jedną zmienną niezależną, wszystko za pomocą linii prostej.
Modele regresji liniowej pomagają budować liniową zależność między tymi zmiennymi niezależnymi, które mają najniższe koszty, w oparciu o dane zmienne zależne.
W matematyce mamy trzy sposoby, które służą do opisu modelu regresji liniowej. Są one następujące (y jest zmienną zależną):
- y = punkt przecięcia + (nachylenie x) + błąd
- y = stała + (współczynnikx) + błąd
- y = a + bx + e
Dlaczego regresja liniowa jest niezbędna?
Modele regresji liniowej są stosunkowo prostsze i bardziej przyjazne dla użytkownika. Sprawiają, że proces interpretacji danych/wzorów matematycznych jest w stanie generować prognozy stosunkowo prostszym. Regresja liniowa może być instrumentalna w różnych dziedzinach (na przykład w naukach akademickich lub studiach biznesowych).
Model regresji liniowej jest jedyną naukowo sprawdzoną metodą dokładnego przewidywania przyszłości. Jest stosowany w różnych naukach od środowiskowych, behawioralnych, społecznych itp.
Właściwości tych modeli są bardzo dobrze zrozumiane, a co za tym idzie, łatwe do nauczenia, ponieważ jest to od dawna ugruntowana procedura statystyczna. Ułatwia również przekształcanie dużych zbiorów surowych danych w przydatne informacje.
Kluczowe założenia efektywnej regresji liniowej
- Dla każdej zmiennej należy wziąć pod uwagę liczbę ważnych przypadków, średnią i odchylenie standardowe.
- Dla każdego modelu należy wziąć pod uwagę współczynniki regresji, macierz korelacji, korelacje częściowe i cząstkowe, błąd standardowy oszacowania, tabelę analizy wariancji, wartości przewidywane i reszty.
- Wykresy : brane są pod uwagę wykresy rozrzutu, histogramy, wykresy częściowe i normalne wykresy prawdopodobieństwa.
- Dane : Należy zapewnić, aby zmienne zależne i niezależne były ilościowe. Zmienne kategorialne nie muszą być przekodowywane na zmienne binarne lub fikcyjne lub inne typy zmiennych kontrastowych.
- Inne założenia : Dla każdej wartości danej zmiennej niezależnej potrzebny jest rozkład normalny zmiennej zależnej. Wariancja danego rozkładu zmiennej zależnej powinna być również utrzymywana na stałym poziomie dla każdej wartości zmiennej niezależnej. Związek pomiędzy każdą zależną zmienną niezależną powinien być liniowy. Dodatkowo wszystkie obserwacje powinny być niezależne.
Oto istniejący przykład prostej regresji liniowej :
Zestaw danych w przykładzie zawiera informacje dotyczące globalnych sytuacji pogodowych każdego dnia w określonym okresie. Ta szczegółowa lista informacji obejmuje takie czynniki, jak opady, opady śniegu, temperatury, prędkość wiatru, burze i inne możliwe warunki pogodowe.
Problem ten ma na celu wykorzystanie prostego modelu regresji liniowej do przewidywania maksymalnej temperatury, przyjmując jako dane wejściowe temperaturę minimalną.
Po pierwsze, wszystkie biblioteki muszą zostać zaimportowane.
importuj pandy jako PD
importuj numer jako np
importuj matplotlib.pyplot jako plt
importuj seaborn jako seabornInstance
ze sklearn.model_selection importuj train_test_split
from sklearn.linear_model import LinearRegression
ze sklearn import metryk
%matplotlib wbudowany
Aby zaimportować następujący zestaw danych za pomocą pand, należy zastosować następujące polecenie:
dataset = pd.read_csv('/Users/nageshsinghchauhan/Documents/projects/ML/ML_BLOG_LINEarRegression/Weather.csv')
Aby sprawdzić liczbę wierszy i kolumn obecnych w zestawie danych w celu eksploracji danych, należy zastosować następujące polecenie:
dataset.shape
Otrzymane dane wyjściowe powinny mieć wartość (119040, 31), co oznacza, że dane zawierają 119040 wierszy i 31 kolumn.
Aby zobaczyć szczegóły statystyczne zestawu danych, można użyć następującego polecenia:
opisać():
dataset.describe()
Oto kolejny przykład , który będzie miał na celu zademonstrowanie, w jaki sposób można pobrać i wykorzystać różne biblioteki Pythona, które mają być użyte do zastosowania regresji liniowej do określonych zbiorów danych:
1. Importowanie wszystkich wymaganych bibliotek
importuj numer jako np
importuj pandy jako PD
importuj seaborn jako sns
importuj matplotlib.pyplot jako plt
ze sklearn import preprocessing, svm
ze sklearn.model_selection importuj train_test_split
from sklearn.linear_model import LinearRegression
2. Czytanie zestawu danych
cd C:\Użytkownicy\Dev\Desktop\Kaggle\Salinity
# Zmiana lokalizacji odczytu pliku na lokalizację zestawu danych
df = pd.read_csv('butelka.csv')
df_binary = df[['Słony', 'T_degC']]
# Pobieranie tylko wybranych dwóch atrybutów ze zbioru danych
df_binary.columns = ['Sal', 'Temp']
# Zmiana nazw kolumn w celu łatwiejszego pisania kodu
df_binary.head()
# Wyświetlanie tylko pierwszych wierszy wraz z nazwami kolumn
2. Badanie rozproszenia danych
sns.lmplot(x =”Sal”, y =”Temp”, data = df_binary, kolejność = 2, ci = Brak)
# Wykreślanie rozproszenia danych
3. Czyszczenie danych
# Eliminacja NaN lub brakujące numery wejściowe
df_binary.fillna(method ='ffill', inplace = True)
4. Trening modela
X = np. tablica(df_binary['Sal']).reshape(-1, 1)
y = np. tablica(df_binary['Temp']).reshape(-1, 1)
# Rozdzielenie danych na niezależne i zależne zmienne
# Konwersja każdej ramki danych do tablicy numpy
# ponieważ każda ramka danych zawiera tylko jedną kolumnę
df_binary.dropna(inplace = True)
# Upuszczanie dowolnych wierszy z wartościami Nan
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0,25)
# Dzielenie danych na dane treningowe i testowe
regr = Regresja Liniowa()
regr.fit(X_train, y_train)
print(regr.score(X_test, y_test))
5. Badanie wyników
y_pred = regr.predict(X_test)
plt.scatter(X_test, y_test, kolor ='b')
plt.plot(X_test, y_pred, kolor ='k')
plt.pokaż()
# Rozrzut danych przewidywanych wartości
6. Praca z mniejszym zbiorem danych
df_binary500 = df_binary[:][:500]
# Wybór pierwszych 500 wierszy danych
sns.lmplot(x =”Sal”, y =”Temp”, data = df_binary500,
kolejność = 2, ci = brak)
Popularne blogi dotyczące uczenia maszynowego i sztucznej inteligencji
IoT: historia, teraźniejszość i przyszłość | Samouczek uczenia maszynowego: Naucz się ML | Co to jest algorytm? Proste i łatwe |
Wynagrodzenie inżyniera robotyki w Indiach: wszystkie role | Dzień z życia inżyniera uczenia maszynowego: czym się zajmują? | Czym jest IoT (Internet Rzeczy) |
Permutacja a kombinacja: różnica między permutacją a kombinacją | 7 najważniejszych trendów w sztucznej inteligencji i uczeniu maszynowym | Uczenie maszynowe z R: wszystko, co musisz wiedzieć |
Jeśli jesteś zainteresowany nauką pełnego uczenia maszynowego, zalecamy dołączenie do programu upGrad Master of Science in Machine Learning & AI . Program 20-miesięczny jest oferowany we współpracy z IIIT Bangalore i Liverpool John Moores University. Został zaprojektowany, aby pomóc Ci zbudować kompetencje w zakresie języków programowania, narzędzi i bibliotek branżowych, takich jak Python, Keras, Tensor Flow, MySql, Flask, Kubernetes itp.
Program może pomóc Ci opanować zaawansowane koncepcje nauki o danych poprzez praktyczne doświadczenie i budowanie umiejętności. Dodatkowo zyskujesz przewagę upGrad dzięki dostępowi do poradnictwa zawodowego 360°, puli networkingowej ponad 40 000 płatnych uczniów i mnóstwu możliwości współpracy!
Zarezerwuj miejsce już dziś!
Do czego służy regresja liniowa
Ten rodzaj analizy jest zwykle używany do przewidywania wartości jednej zmiennej na podstawie innej znanej zmiennej. Zmienne używane do znalezienia wartości drugiego są nazywane odpowiednio zmiennymi zależnymi i niezależnymi.
Jak zainstalować scikit nauka?
Najpierw należy zainstalować wersję Scikit do nauki regresji liniowej dostarczoną przez dany system operacyjny lub dystrybucję Pythona. Jest to najszybsze dla osób, które mają dostęp do tej opcji. Następnie należy zainstalować oficjalnie wydaną i najnowszą zaktualizowaną wersję.
Jak działa nauka scikit?
Scikit Learn regresja liniowa udostępnia szereg nadzorowanych i nienadzorowanych algorytmów za pośrednictwem interfejsu Pythona, który jest zawsze spójny. Jest licencjonowany na podstawie dozwolonej licencji BSD. Jest dystrybuowany pod różnymi operatorami Linuksa. Stosowanie tych algorytmów jest szeroko zachęcane w biznesie i edukacji.