Автор Хабра обучил Random Forest на 81 статье и поймал утечку данных и LLM-копипаст
Автор статьи про Kwork, набравшей 30 000 просмотров, решил выяснить, что двигает охваты на Хабре. Он собрал 81 статью, прогнал их через Random Forest и получил главный фактор — длину заголовка: 34,5% влияния. Но по пути локальная Qwen3 4B выдала одинаковые оценки всем текстам, а прогноз оказался завышен из-за утечки данных.
AI-обработка оригинала Habr AI; редакция Hamidun News
Одни статьи на Хабре собирают пару тысяч просмотров, другие читают сотнями тысяч. Автор материала про биржу Kwork, который набрал 30 000 просмотров, решил разобраться в причинах с помощью Python и машинного обучения. Получился небольшой, но поучительный эксперимент, где ошибки интереснее итоговых цифр.
Как собирали данные
Для обучения нужна была контрастная выборка: 80 чужих статей из хаба «Фриланс» (половина из свежей ленты, половина из лучших за всё время) плюс собственная статья. Всего 81 строка. По каждой статье автор записал длину заголовка, число слов, картинок, ссылок и блоков кода, а также просмотры, переведённые из «30K» в целые числа. Первые 3000 символов текста он сохранил для оценки языковой моделью.
Затем пошла LLM-разметка: кликбейтность заголовка, качество вступления, острота темы и читаемость по шкале от 1 до 10. Бесплатная Gemma через OpenRouter сразу вернула ошибку 429 из-за перегрузки пула. Автор переключился на локальную Qwen3 4B в LM Studio на Mac mini M4. Модель прошла все 81 статью, и все получили одинаковые оценки: 7, 6, 8, 7. Причина оказалась банальной: именно эти числа автор указал в промпте как пример JSON. Модель на 4 миллиарда параметров не анализировала тексты, а переписывала образец.
Вывод простой: после такой разметки нужна проверка, например на число уникальных значений в столбце. Автор добавил её и заменил оценки модели признаками, которые считаются регулярными выражениями: есть ли в заголовке вопрос, цифры, триггерные слова вроде «деньги» или «заказчик», сколько картинок приходится на 1000 слов.
Что показал Random Forest
На логарифмированных просмотрах модель выдала такие веса. Длина заголовка даёт 34,5% влияния, объём текста 26,3%, ссылки и картинки вместе 33,7%. Блоки кода влияют лишь на 0,3%, что для хаба про фриланс логично: там читают про рабочие ситуации, а не сниппеты.
Сравнение с группами выглядит так. В топ-20% (порог 148 000 просмотров) средний заголовок занимает 46,9 символа, у слабых статей 61,9, а у статьи автора было 71. Объём в топе около 1774 слов, у слабых 1255, у автора 766. В топовых текстах в среднем 4,2 картинки и 4,8 ссылки, у автора одна картинка и ни одной ссылки.
Утечка данных и честный тест
Дальше автор написал предиктор: классификатор оценивает шанс набрать 25 000 просмотров, регрессор предсказывает число просмотров. Сырую статью и «доработанный» вариант с коротким заголовком он сравнил, и сырая неожиданно выиграла. Причин две. Во-первых, его собственная статья с 30 000 просмотров осталась в обучающей выборке, а деревья без ограничения глубины просто запомнили её параметры. Это классическая утечка данных. Во-вторых, добавленная в заголовок цифра штрафовалась: в слабых статьях цифры встречаются втрое чаще, чем в топовых (0,3 против 0,1), из-за рекламных кейсов в свежей ленте.
После исправления (статья убрана из train, глубина деревьев ограничена max_depth=4) картина стала логичной. Исходная структура получила 26% вероятности хита и прогноз 14 795 просмотров. Доработанная (заголовок 46 символов, 1800 слов, 4 картинки, 5 ссылок) получила 41% и 34 919 просмотров. Реальные 30 000 у оригинала вдвое выше прогноза: модель видит только «упаковку», а тему не видит. Для оценки разброса автор добавил интерквартильный размах по предсказаниям всех 200 деревьев.
Что из этого забрать
Стоит помнить об ограничениях: 81 запись из одного хаба, смещение выборки (свежая лента против лучших за всё время), нет проверки на отложенных данных. Цифры скорее ориентир, чем закон. Зато два урока универсальны. Первый: не кладите в промпт готовый пример вывода с реальными числами, а ответы маленьких моделей всегда валидируйте. Второй: объект, на котором вы проверяете модель, не должен попадать в обучение, а деревья нужно ограничивать по глубине.
Практические ориентиры для публикации в похожем хабе: заголовок 45–50 символов, текст 1500–1800 слов, минимум четыре иллюстрации и 4–5 ссылок. Сам автор написал свежую статью по этим параметрам и обещает сравнить фактические просмотры с коридором модели.
- 12 нояб. 2026 г.Профсоюз Окленда добился переобучения вместо увольнений из-за ИИ: за забастовку 94,1%
- 12 нояб. 2026 г.AWS показал, как не дать LLM-агенту читать чужие документы: userContext подставляет шлюз
- 12 нояб. 2026 г.Восемь стран и OpenAI с Anthropic обещают «рубильник» для ИИ-моделей, но без сроков и штрафов
- 12 нояб. 2026 г.По иску, школьница три месяца говорила с Gemini о суициде, а мониторинг молчал неделями
Вопросы и ответы по материалу
Что известно по теме: как собирали данные?
Для обучения нужна была контрастная выборка: 80 чужих статей из хаба «Фриланс» (половина из свежей ленты, половина из лучших за всё время) плюс собственная статья. Всего 81 строка. По каждой статье автор записал длину заголовка, число слов, картинок, ссылок и блоков кода, а также просмотры, переведённые из «30K» в целые числа. Первые 3000 символов текста он сохранил для оценки языковой моделью. Затем пошла LLM-разметка: кликбейтность заголовка, качество вступления, острота темы и читаемость по шкале от 1 до 10.
Что известно по теме: что показал Random Forest?
На логарифмированных просмотрах модель выдала такие веса. Длина заголовка даёт 34,5% влияния, объём текста 26,3%, ссылки и картинки вместе 33,7%. Блоки кода влияют лишь на 0,3%, что для хаба про фриланс логично: там читают про рабочие ситуации, а не сниппеты. Сравнение с группами выглядит так. В топ-20% (порог 148 000 просмотров) средний заголовок занимает 46,9 символа, у слабых статей 61,9, а у статьи автора было 71. Объём в топе около 1774 слов, у слабых 1255, у автора 766.
Что известно по теме: утечка данных и честный тест?
Дальше автор написал предиктор: классификатор оценивает шанс набрать 25 000 просмотров, регрессор предсказывает число просмотров. Сырую статью и «доработанный» вариант с коротким заголовком он сравнил, и сырая неожиданно выиграла. Причин две. Во-первых, его собственная статья с 30 000 просмотров осталась в обучающей выборке, а деревья без ограничения глубины просто запомнили её параметры. Это классическая утечка данных.
Протестируйте новые LLM и мультимодальные модели в одном окне
Платформа Nomad AI (nomadnet.ai) даёт прямой доступ к Claude Opus 5.5, GPT-6, Gemini 3.1, DeepSeek и автономным агентам без VPN, зарубежных карт и зоопарка подписок.
Главное из мира ИИ — раз в неделю
7 ключевых событий недели, отобранных вручную. Без шума, репостов и пресс-релизов.
Готово! Проверьте почту — мы отправили подтверждение.