Вопрос или проблема
Я получил это как задание от рекрутера и успешно собрал датасет из примерно 650 фильмов с их разделами «Сюжет», «Музыка» и «Маркетинг», а также кассовыми сборами. Я попробовал tfidf и count векторизаторы и выполнил LSA/PCA для уменьшения размерности, которая изначально составляет около 20k терминов.
Это действительно меня смущает, из-за небольшого количества случаев (650) я полагаю, что количество признаков должно быть около 100 или хотя бы < 600, но это резкое уменьшение размерности с помощью PCA или LSA — правильно ли это?
Кроме того, моя регрессионная модель сильно отклоняется от цели или в некоторых случаях чрезмерно переобучается. Я также пытался нормализовать и денормализовать целевую переменную (кассовые сборы) без каких-либо улучшений. Я знаю, что мне также стоит попробовать нейронные сети и другие модели, но результаты линейной регрессии должны быть хотя бы сопоставимы, верно?
Это заставляет меня задуматься, возможно ли вообще моделировать такую проблему или я делаю что-то неправильно, что более вероятно, так как я не эксперт в этой области.
ПОМОГИТЕ, ПОЖАЛУЙСТА!
Если ваши модели страдают от проблем мультиколлинеарности, то да, я бы сказал, что стоит попробовать снижение размерности (возможно, не линейное, такое как t-SNE или автоэнкодеры). Кроме того, 100 переменных для 650 наблюдений – это много, я бы применил гораздо более резкое сокращение, но это зависит от ваших предпочтений.
Если ваша модель сильно переобучается, я предлагаю попробовать нейронные сети с высокой вероятностью отключения. Это очень помогает предотвратить переобучение. Также попробуйте другие модели, чем больше вы пробуете, тем увереннее будете в результатах.
Пожалуйста, имейте в виду, что обычно нейронные сети требуют много данных для хорошей работы. Если у вас всего 650 наблюдений, модели на основе деревьев (регрессии случайного леса или регрессии XGBoost) могут работать даже лучше, чем глубокое обучение. Они являются ансамблями деревьев, то есть предназначены для борьбы с переобучением и могут уловить нелинейные закономерности вашего датасета.
Ответ или решение
Создание регрессионной модели для предсказания кассовых сборов фильмов на основе информации из их страниц Википедии — это сложная, но вполне осуществимая задача. Однако успех в достижении точных предсказаний будет зависеть от множества факторов, включая способ выбора и обработки признаков, выбор модели и размер данных.
### Анализ крупных данных
У вас есть набор данных, состоящий из 650 фильмов и таких признаков, как «Сюжет», «Музыка» и «Маркетинг». Обработка текстовых данных через методы векторизации, такие как TF-IDF или Count Vectorizer, является разумным началом. Однако, как вы уже заметили, наличие около 20,000 терминов и всего 650 наблюдений может привести к проблемам, связанным с переобучением модели и многоколлинеарностью.
### Уменьшение размерности
Применение методов снижения размерности, таких как LSA или PCA, может помочь сократить избыточное количество признаков, но это требует осторожности. Снижение числа признаков до 100 или менее может быть целесообразным, хотя иногда можно рассмотреть и более резкое сокращение. Кроме того, вы можете рассмотреть возможность использования нелинейных методов, таких как t-SNE или автоэнкодеры, которые могут сохранить более сложные паттерны в ваших данных.
### Проблемы с переобучением
Если ваша модель демонстрирует сильное переобучение, попробуйте использовать нейронные сети с высоким коэффициентом дропаута. Это поможет предотвратить переобучение и улучшит обобщающие способности модели. Однако, учитывая ограниченное количество данных (650 наблюдений), вы, возможно, получите более высокие результаты с использованием алгоритмов на основе деревьев, таких как Random Forest или XGBoost, которые лучше справляются с проблемами переобучения и могут выявлять нелинейные зависимости.
### Нормализация и модель
Вы упомянули о нормализации целевой переменной (кассовых сборов). Это — верный шаг, так как нормализация помогает моделям, особенно тем, которые чувствительны к масштабу, лучше работать. Однако гарантированного улучшения от этого не всегда можно ожидать и важно проверять различные подходы. Представьте, что ваша целевая переменная следует логнормальному распределению, в этом случае можно рассмотреть возможность использования логарифмической трансформации.
### Попробуйте различные модели
Как вы сами заметили, использование только линейной регрессии может не привести к удовлетворительным результатам. Попробуйте различные модели, включая регрессионные деревья, поддерживающие векторные машины (SVM) и ансамблевые модели. Сравнение результатов из разных подходов даст вам больше надежды на понимание структуры ваших данных и поможет выбрать оптимальную модель.
### Заключение
В конечном счете, возможность построения регрессионной модели для предсказания кассовых сборов фильмов на основании информации с их страниц Википедии вполне реальна. Однако успех этой задачи требует тщательного выбора и обработки признаков, тестирования различных моделей и внимания к проблемам переобучения. Несмотря на сложности, правильный подход может привести к многообещающим результатам.