Чтение онлайн

на главную

Жанры

120 практических задач
Шрифт:

```python

from sklearn.datasets import load_iris

from sklearn.model_selection import train_test_split

from sklearn.ensemble import RandomForestClassifier

from sklearn.metrics import accuracy_score

# Загрузка данных

data = load_iris

X = data.data

y = data.target

# Разделение на обучающую и тестовую выборки

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)

# Обучение модели Random Forest

rf_model = RandomForestClassifier(n_estimators=100, random_state=42)

rf_model.fit(X_train, y_train)

#

Прогнозирование и оценка точности

y_pred = rf_model.predict(X_test)

accuracy = accuracy_score(y_test, y_pred)

print(f'Точность модели Random Forest: {accuracy:.4f}')

```

2. Boosting: Gradient Boosting

Gradient Boosting строит серию деревьев, где каждая последующая модель пытается исправить ошибки предыдущих моделей.

```python

from sklearn.ensemble import GradientBoostingClassifier

# Обучение модели Gradient Boosting

gb_model = GradientBoostingClassifier(n_estimators=100, random_state=42)

gb_model.fit(X_train, y_train)

# Прогнозирование и оценка точности

y_pred = gb_model.predict(X_test)

accuracy = accuracy_score(y_test, y_pred)

print(f'Точность модели Gradient Boosting: {accuracy:.4f}')

```

Ансамблевые методы в комбинации: Voting Classifier

Voting Classifier объединяет предсказания нескольких моделей и принимает решение на основе голосования.

```python

from sklearn.ensemble import VotingClassifier

# Создание ансамбля из нескольких моделей

voting_model = VotingClassifier(

estimators=[

('rf', rf_model),

('gb', gb_model)

],

voting='soft' # 'hard' для мажоритарного голосования

)

# Обучение ансамблевой модели

voting_model.fit(X_train, y_train)

# Прогнозирование и оценка точности

y_pred = voting_model.predict(X_test)

accuracy = accuracy_score(y_test, y_pred)

print(f'Точность ансамблевой модели Voting Classifier: {accuracy:.4f}')

```

Пример с использованием Keras и TensorFlow

Подготовка данных

```python

import tensorflow as tf

from tensorflow.keras.datasets import mnist

from tensorflow.keras.utils import to_categorical

# Загрузка данных MNIST

(X_train, y_train), (X_test, y_test) = mnist.load_data

X_train = X_train.reshape((X_train.shape[0], 28, 28, 1)).astype('float32') / 255

X_test = X_test.reshape((X_test.shape[0], 28, 28, 1)).astype('float32') / 255

# Преобразование меток в категориальный формат

y_train = to_categorical(y_train, 10)

y_test = to_categorical(y_test, 10)

```

Построение моделей

```python

from tensorflow.keras.models import Sequential

from tensorflow.keras.layers import Conv2D, MaxPooling2D, Flatten, Dense

def create_model:

model = Sequential([

Conv2D(32, (3, 3), activation='relu', input_shape=(28, 28, 1)),

MaxPooling2D((2, 2)),

Conv2D(64, (3, 3), activation='relu'),

MaxPooling2D((2, 2)),

Flatten,

Dense(64, activation='relu'),

Dense(10, activation='softmax')

])

model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])

return model

# Создание и обучение нескольких моделей

models = [create_model for _ in range(3)]

for model in models:

model.fit(X_train, y_train, epochs=5, batch_size=64, validation_split=0.1)

```

Ансамблирование моделей

```python

import numpy as np

def ensemble_predict(models, X):

predictions = [model.predict(X) for model in models]

return np.mean(predictions, axis=0)

# Прогнозирование и оценка точности

y_pred = ensemble_predict(models, X_test)

y_pred_classes = np.argmax(y_pred, axis=1)

y_test_classes = np.argmax(y_test, axis=1)

accuracy = np.mean(y_pred_classes == y_test_classes)

print(f'Точность ансамблевой модели: {accuracy:.4f}')

```

Пояснение:

1. Bagging: Random Forest:

– Обучение множества решающих деревьев на различных подвыборках данных и объединение их предсказаний.

2. Boosting: Gradient Boosting:

– Построение серии моделей, каждая из которых исправляет ошибки предыдущей.

3. Voting Classifier:

Объединение предсказаний нескольких моделей с использованием голосования.

4. Ансамбль с использованием Keras:

– Создание и обучение нескольких моделей нейронных сетей.

– Объединение их предсказаний путем усреднения.

Ансамблевые методы позволяют повысить точность предсказаний за счет комбинирования нескольких моделей, что снижает вероятность ошибки и повышает устойчивость модели к различным типам данных.

11. Классификация новостных статей с использованием RNN

– Задача: Категоризация текстов новостей.

Для классификации новостных статей с использованием рекуррентных нейронных сетей (RNN) используются модели, способные учитывать последовательный характер текстовой информации. В данном случае мы рассмотрим задачу категоризации текстов новостей, где каждая статья должна быть отнесена к определенной категории на основе её содержания.

Поделиться:
Популярные книги

Студент

Гуров Валерий Александрович
1. Студент
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Студент

Варлорд

Астахов Евгений Евгеньевич
3. Сопряжение
Фантастика:
боевая фантастика
постапокалипсис
рпг
5.00
рейтинг книги
Варлорд

Как я строил магическую империю

Зубов Константин
1. Как я строил магическую империю
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Как я строил магическую империю

Кодекс Охотника. Книга XII

Винокуров Юрий
12. Кодекс Охотника
Фантастика:
боевая фантастика
городское фэнтези
аниме
7.50
рейтинг книги
Кодекс Охотника. Книга XII

Неудержимый. Книга II

Боярский Андрей
2. Неудержимый
Фантастика:
городское фэнтези
попаданцы
5.00
рейтинг книги
Неудержимый. Книга II

Измена

Рей Полина
Любовные романы:
современные любовные романы
5.38
рейтинг книги
Измена

Пенсия для морского дьявола

Чиркунов Игорь
1. Первый в касте бездны
Фантастика:
попаданцы
5.29
рейтинг книги
Пенсия для морского дьявола

Не грози Дубровскому! Том V

Панарин Антон
5. РОС: Не грози Дубровскому!
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Не грози Дубровскому! Том V

Утопающий во лжи 3

Жуковский Лев
3. Утопающий во лжи
Фантастика:
фэнтези
рпг
5.00
рейтинг книги
Утопающий во лжи 3

Драконий подарок

Суббота Светлана
1. Королевская академия Драко
Любовные романы:
любовно-фантастические романы
7.30
рейтинг книги
Драконий подарок

Средневековая история. Тетралогия

Гончарова Галина Дмитриевна
Средневековая история
Фантастика:
фэнтези
попаданцы
9.16
рейтинг книги
Средневековая история. Тетралогия

Измена. Возвращение любви!

Леманн Анастасия
3. Измены
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Измена. Возвращение любви!

Комбинация

Ланцов Михаил Алексеевич
2. Сын Петра
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Комбинация

Кодекс Охотника. Книга V

Винокуров Юрий
5. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
4.50
рейтинг книги
Кодекс Охотника. Книга V