МАШИННО ОБУЧЕНИЕ

Множествена линейна регресия

Един вертикален сектор не може да предвиди целия резултат, така че при създаването на модел за прогнозиране трябва да се вземат предвид всички фактори или променливи.

В предишната статия говорихме за проста линейна регресия, където успяхме да направим прогноза, като използвахме само една променлива, но докато напредваме към областта на машинното обучение, разбираме, че резултатите в реалния свят не зависят само от една променлива, а са склонни да се разтягат много. Когато връзката между променливите е линейна и имаме повече от една независима променлива, засягаща зависимата променлива, тогава се използва множествена регресия за създаване на прогнозен модел.

Сега, за да го цитираме аналитично, множествената линейна регресия е статистическа техника, която използва няколко обяснителни (независими) променливи, за да предскаже резултата от отговор (зависима) променлива. Математическата формула за тази статистическа техника е дадена по-долу.

Y = a + b1X1 + b2X2 + ……… + bnXn

Y: надеждна променлива

X1, X2, ….., Xn: независима променлива

a: случайна грешка

b1, b2, ……, bn : коефициент на регресия

Всички статистически техники са разработени, като се вземат предвид няколко допускания, като двете най-важни допускания, свързани с множествената линейна регресия, са:

  1. Съществува линейна зависимост между зависимите и независимите променливи.
  2. Корелацията между зависимите променливи е много ниска.

Тъй като приключихме с изучаването на концепциите, нека направим малко практическа множествена линейна регресия в python.

Стъпка 1: Импортирайте набора от данни

Тук използвах библиотеката на pandas за четене на моя CSV файл. X се присвоява с рамката от данни, съдържаща всички независими променливи или фактори.

импортиране на панди като pd

набор от данни = pd.read_csv(‘Startups.csv’)
X = набор от данни.iloc[:, :-1].стойности
y = набор от данни.iloc[:, 4].стойности

Стъпка 2: Кодирайте категориалните данни, ако има такива.

Данните са от два основни типа: категориални и числени, които могат да бъдат допълнително сегментирани на номинални и редни за категорични и дискретни и непрекъснати за числови данни. Повече информация за формите на тези данни е на фигура 2 и фигура 3.

Моделите на машинно обучение изискват въвеждане в цифрова форма, но когато имаме категорични данни в нашия набор от данни, ние ги преобразуваме в числови данни, което се нарича кодиране. Тук използвам техника за еднократно кодиране за моите категорични данни, за това можем да използваме LabelEncoder и OneHotEncoder от библиотеката sklearn.

от sklearn.preprocessing import LabelEncoder, OneHotEncoder
labelencoder = LabelEncoder()
X[:, 3] = labelencoder.fit_transform(X[:, 3])
onehotencoder = OneHotEncoder(categorical_features = [ 3])
X = onehotenkoder.fit_transform(X).toarray()

Както всички можете да видите в кода, премахвам един ред от рамката с данни, за да избегна прихващане на фиктивна променлива, което е сценарий, който се случва, когато две или повече променливи са силно корелирани. (една променлива може да бъде предвидена с други) Така че решението на този капан е винаги да изпускате една от категориалните променливи след кодиране.

Стъпка 3: Разделяне на набора от данни на набор за обучение и набор за тестване

от sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.2, random_state = 0)

Стъпка 4: Напасване на множествена линейна регресия към набора за обучение.

от sklearn.linear_model import LinearRegression
regressor = LinearRegression()
regressor.fit(X_train, y_train)

Стъпка 5: Прогнозиране на резултатите от набора от тестове

y_pred = regressor.predict(X_test)

И така, само с пет прости стъпки можем да изградим модел на множествена линейна регресия. Можем да запазим този код като шаблон и да го използваме за писане на регресионни модели с различни набори от данни.

Така че това е всичко за тази статия. Надявам се, че на всички ви е харесало и ако ви е харесало, не забравяйте да ни кажете вашите мисли в секцията за коментари по-долу.

Ако искате да се свържете с мен, ето ме в Twitter или Instagram

Следвайте нашата общност LinkedIn group, Facebook страница и Twitter за повече подобни статии и публикации и се срещайте с хора с подобно мислене, за да си сътрудничите.