X_train_combined = np.vstack([X_train_vec.toarray(), X_unlabeled_vec.toarray()])
y_train_combined = np.hstack([y_train, pseudo_labels])
# Дополнительное обучение модели с расширенным набором данных
model.fit(X_train_combined, y_train_combined)
# Оценка качества
accuracy = model.score(X_train_combined, y_train_combined)
print(f'Accuracy: {accuracy:.4f}')
```
Объяснение кода:
1. Загрузка данных: Мы используем набор данных 20 Newsgroups, который содержит текстовые данные, относящиеся к различным новостным группам.
2. Разделение на размеченные и неразмеченные данные: Мы разделяем данные на размеченные (10%) и неразмеченные (90%) данные.
3. Прогнозирование меток для неразмеченных данных: Сначала мы обучаем модель на размеченных данных и используем её для предсказания меток для неразмеченных данных (псевдонаметки).
4. Перенос обучения на расширенный набор: Модель дообучается, используя данные с псевдонаметками, что помогает улучшить её обобщающие способности.
Полусупервизорное обучение представляет собой инструмент, который позволяет эффективно использовать как размеченные, так и неразмеченные данные, что особенно полезно в условиях ограниченности размеченных данных. Существуют различные подходы к полусупервизорному обучению, включая методы графов, самонаблюдения и генеративные модели, которые могут применяться в разных областях, таких как обработка текстов, изображений и биологических данных.
Глава 7. Линейные модели
– Линейная и логистическая регрессия
– Регуляризация: Ridge и Lasso
– Проблемы переобучения
Линейные модели занимают центральное место в машинном обучении, поскольку они являются одними из самых простых и интерпретируемых методов анализа данных. Несмотря на свою кажущуюся простоту, эти модели обладают высокой эффективностью и широко применяются в задачах прогнозирования, классификации и анализа взаимосвязей между переменными.
Основной идеей линейных моделей является представление зависимости между входными признаками и целевой переменной в виде линейной комбинации. Это позволяет быстро обучать модели, легко интерпретировать полученные коэффициенты и эффективно решать задачи с большим числом наблюдений. Однако линейные модели подвержены ряду проблем, таких как переобучение и чувствительность к выбросам, что требует применения специальных методов регуляризации и оценки их качества.
В этой главе мы рассмотрим две ключевые линейные модели: линейную регрессию, используемую для предсказания числовых значений, и логистическую регрессию, которая применяется в задачах классификации. Также разберем методы регуляризации, такие как Ridge и Lasso, которые помогают предотвратить переобучение, улучшая обобщающую способность модели. В завершение обсудим основные причины переобучения линейных моделей и способы их устранения, чтобы добиться наилучших результатов при работе с реальными данными.
Линейная регрессия – один из самых простых и интуитивно понятных методов прогнозирования. Её суть заключается в том, что зависимость между входными переменными и выходной переменной представляется в виде линейной функции. Например, если нужно предсказать стоимость квартиры, то учитываются такие факторы, как её площадь, количество комнат и район, а модель пытается найти такие коэффициенты, которые позволят наиболее точно восстановить зависимость между этими параметрами и ценой.
Линейная регрессия обучается на основе имеющихся данных, подбирая такие значения коэффициентов, чтобы разница между реальными и предсказанными значениями была минимальной. После того как модель обучена, её можно использовать для предсказания новых значений на основе аналогичных входных данных. Этот метод особенно полезен, когда зависимость между переменными действительно близка к линейной, однако в реальной жизни данные часто содержат шум, выбросы или нелинейные зависимости, что может затруднить получение точных предсказаний.