Поэтому ранее я настроил базовую функцию логистической регрессии, чтобы предсказать, будет ли проект одобрен для финансирования. Я достиг коэффициента ошибок 12%. Неплохо, я постараюсь улучшить это сегодня. Во-первых, я рассмотрю алгоритм более подробно, чтобы получить некоторое представление.

Логистическая регрессия обычно используется для построения дискретного классификатора, поскольку его выходные данные ограничены диапазоном от 0 до 1.

В нашем случае X, которые мы передаем, являются значениями нашей матрицы TFIDF. И мы просим Scikitlearn построить уравнение такой формы, которое максимизирует точность обучающего набора. В случае успеха мы должны получить уравнение, которое дает результат, близкий к 1, когда проект получает зеленый свет, и близкий к 0, когда нет.

Это уравнение принимает следующую форму: X = b₀x₀ + b₁x₁ + b₂x₂ + … . Где x₀ — это наша первая часть данных (первый столбец TFIDF), а b₀ — расчетный коэффициент, цель которого — максимизировать результаты из примеров обучающего набора. По сути, наш алгоритм логистической регрессии направлен на то, чтобы сказать, какие слова оказывают наибольшее влияние на выбор проекта. Относительно просто, но может быть трудно понять без хороших примеров.

Как улучшить это?

Одна вещь, о которой я знаю, это то, что я использую TFIDF каждого слова, которое появляется в каждом описании проекта. Я чувствую, что использование подмножества слов, включающего только самые популярные, может улучшить ситуацию. Я начну с этого. У Sklearn эта функция встроена прямо в их TfidfVectorizer, поэтому я могу просто установить max_features=2000. Нет особой причины выбирать 2000 год, я возьму его в качестве первого эталона и буду работать с ним. Это дало мне ошибку 0,125166828808 или 12,5%, так что на самом деле оказалось еще хуже. Я немного поиграю с числом 2000, посмотрю, есть ли здесь какие-то улучшения. 1000 дает 12,4%, как и 500. Кажется, лучше оставить его, учитывая все слова.

Другие вещи, которые я могу сделать, это: использовать векторные вложения слов, просмотреть дополнительные данные и посмотреть, есть ли еще столбцы для использования, лемматизировать мои данные и использовать другой алгоритм мл. Я могу исследовать их в течение следующих нескольких дней.

До завтра!