Машинное обучение лежит в основе современных решений, основанных на данных, позволяя компьютерам изучать закономерности на основе данных и принимать разумные решения. В этой статье мы рассмотрим некоторые популярные алгоритмы машинного обучения и реализуем их с помощью Python.
Настройка среды
Прежде чем мы углубимся в алгоритмы, давайте настроим нашу среду Python. Нам понадобятся следующие библиотеки:
import numpy as np import pandas as pd from sklearn import datasets from sklearn.model_selection import train_test_split from sklearn.metrics import accuracy_score
1. Линейная регрессия
Линейная регрессия — это фундаментальный алгоритм прогнозирования непрерывной целевой переменной. Вот простой пример:
from sklearn.linear_model import LinearRegression # Load the dataset data = datasets.load_diabetes() X = data.data y = data.target # Split the data X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) # Create and train the model model = LinearRegression() model.fit(X_train, y_train) # Make predictions y_pred = model.predict(X_test) # Evaluate the model accuracy = accuracy_score(y_test, y_pred) print(f'Linear Regression Accuracy: {accuracy}')
2. Деревья решений
Деревья решений — это универсальные алгоритмы, которые могут решать задачи как классификации, так и регрессии.
from sklearn.tree import DecisionTreeClassifier # Load the dataset data = datasets.load_iris() X = data.data y = data.target # Split the data X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) # Create and train the model model = DecisionTreeClassifier() model.fit(X_train, y_train) # Make predictions y_pred = model.predict(X_test) # Evaluate the model accuracy = accuracy_score(y_test, y_pred) print(f'Decision Tree Accuracy: {accuracy}')
3. Случайный лес
Случайные леса представляют собой ансамбли деревьев решений, обеспечивающие повышенную точность и надежность.
from sklearn.ensemble import RandomForestClassifier # Load the dataset data = datasets.load_iris() X = data.data y = data.target # Split the data X_train…