Машинное обучение быстро меняет мир, охватывая разнообразные области применения в промышленности и научных сферах. Оно влияет на все сферы нашей повседневной жизни: от голосовых помощников для назначения встреч, проверки календаря и воспроизведения музыки, до рекламы, которая настолько точна, что иногда может предсказать, что нам понадобится, ещё до того, как мы об этом подумаем.
Считается, что компьютерная программа учится на опыте E в отношении некоторого класса задач T и меры производительности P, если её производительность на задачах в T, измеряемая P, улучшается с опытом E.Том М. Митчелл
Машинное обучение — это область компьютерной науки, которая даёт «компьютерам способность обучаться без явного программирования».Артур Самуэль
Если рост > 1 фута и вес > 15 фунтов, то это может быть кошка
В чём фундаментальные различия между искусственным интеллектом, машинным обучением и глубоким обучением?
В этом материале мы рассмотрим примеры регрессии с кодом на Python
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression
data = pd.read_csv('https://s3-api.us-geo.objectstorage.softlayer.net/cf-courses-data/CognitiveClass/ML0101ENv3/labs/FuelConsumptionCo2.csv')
data.head()
data = data[['ENGINESIZE', 'CO2EMISSIONS']]
plt.scatter(data['ENGINESIZE'], data['CO2EMISSIONS'])
plt.xlabel('ENGINESIZE')
plt.ylabel('CO2EMISSIONS')
from sklearn.model_selection import train_test_split
train_x, test_x, train_y, test_y = train_test_split(data['ENGINESIZE'], data['CO2EMISSIONS'], test_size=0.2, random_state=42)
regr = LinearRegression()
regr.fit(train_x, train_y)
print('Коэффициент:', regr.coef_)
print('Intercept:', regr.intercept_)
# Коэффициент: [38.99297872]
# Intercept: 126.28970217408721pt_)
plt.scatter(data['ENGINESIZE'], data['CO2EMISSIONS'])
plt.plot(train_x, regr.coef_ * train_x + regr.intercept_, '-r')
plt.xlabel('ENGINESIZE')
plt.ylabel('CO2EMISSIONS')
engine_size = 3.5
regr.predict([[engine_size]])
# array([262.76512771])
from sklearn.metrics import r2_score
test_y_pred = regr.predict(test_x)
print('R^2:', r2_score(test_y, test_y_pred))
# R^2: 0.7615595731934373
X = data[['ENGINESIZE', 'CYLINDERS', 'FUELCONSUMPTION_COMB', 'FUELCONSUMPTION_CITY', 'FUELCONSUMPTION_HWY', 'FUELCONSUMPTION_COMB_MPG']]
y = data['CO2EMISSIONS']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
regr = LinearRegression()
regr.fit(X_train, y_train)
coef_df = pd.DataFrame(regr.coef_, X.columns, columns=['Coefficient'])
coef_df.loc['Intercept'] = regr.intercept_
y_pred = regr.predict(X_test)
print('R^2:', r2_score(y_test, y_pred))
# R^2: 0.9034041224574012
X = np.arange(-10, 10)
y = X
plt.scatter(X, y)
X = np.arange(-10, 10)
y = np.power(X, 2)
plt.scatter(X, y)
X = np.arange(-10, 10)
y = np.power(X, 3)
plt.scatter(X, y)
X = np.arange(-10, 10)
y = np.power(X, 3)
y1 = np.power(X, 3) + np.power(X, 2) + X
plt.scatter(X, y, c='red')
plt.scatter(X, y1, c='green')
from sklearn.preprocessing import PolynomialFeatures
poly = PolynomialFeatures(degree=2)
X_train_poly = poly.fit_transform(X_train)
X_test_poly = poly.fit_transform(X_test)
regr = LinearRegression()
regr.fit(X_train_poly, y_train)
y_pred = regr.predict(X_test_poly)
print('R^2:', r2_score(y_test, y_pred))
# R^2: 0.9264359939595689568
Про полиномиальную регрессию можете поподробнее почитать здесь 👈🏻
Источник: Towards AI