Логистическая регрессия не возвращает правильные результатыPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Логистическая регрессия не возвращает правильные результаты

Сообщение Anonymous »

Я пытаюсь спрогнозировать классификацию с помощью логистической регрессии на основе данных обучения для ряда точек данных тестирования.
Я получаю выходные данные без ошибок, но Мне сказали, что результаты неверны (неправильный вывод будет считаться ошибкой, но при запуске кода ошибок нет).
Обучающие данные представляют собой набор из 4 различных категорий. в 375 точках имеется 3 вариации на точку, поэтому строим график на трехмерном графике. Я запустил программу подсчета на наборе и обнаружил, что более 50% точек относятся к категории 2. Мои первоначальные результаты заключались в том, что все точки тестирования относились к классу 2. Я попробовал сортировать тренировочные данные по нескольким различным наборам: случайный выбор 125 записей (это размер тестовых данных), поиск минимального количества всех категорий и создание обучающего набора с использованием одинакового количества точек из каждой категории.
Нет сортировка = все классы 2
случайная сортировка = все классы 2
сортировка по одинаковому номеру класса = дает мне ответ, в котором есть баллы, отнесенные ко всем 4 категориям , но когда я подключаю их к онлайн-форме финального теста, мой показатель точности составляет 26 %, что соответствует случайной случайности. Итак, я неправильно обрабатываю данные и не знаю где. Я надеюсь, что кто-то с большим опытом работы с классификацией регрессии может указать мне в правильном направлении.
Изменить: нужно ли мне переформатировать (преобразовать) массивы train_X, train_y и test_X перед вызовом Логистическая регрессия? Если да, то как? Возможно, я просто передаю ему искаженные данные.
Если вы хотите получить код со списками входных данных, вы можете пойти сюда: текст
Если вы просто хотите посмотреть код, вот вам:
# forming tables to push through logistic regression
train_X = []
train_y = []
for i in range(len(train_table)):
train_X.append(
[train_table.x.iloc, train_table.y.iloc, train_table.z.iloc]
)
train_y.append(train_table.label.iloc)

test_X = []
for k in range(len(test_table)):
test_X.append([test_table.x.iloc[k], test_table.y.iloc[k], test_table.z.iloc[k]])

# Trying with and without normalize
clf = LogisticRegression().fit(normalize(train_X), train_y)
# clf = LogisticRegression().fit(train_X, train_y)

predict = clf.predict(test_X[:])
prob = clf.predict_proba(test_X[:])

results = pd.DataFrame(
sort_results(test_table, predict, prob),
columns=["", "timestamp", "UTC time", "label", "accuracy"],
)


Подробнее здесь: https://stackoverflow.com/questions/790 ... ct-results
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Логистическая регрессия Python не возвращает правильные результаты
    Anonymous » » в форуме Python
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous
  • Логистическая регрессия Python не возвращает правильные результаты
    Anonymous » » в форуме Python
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous
  • Логистическая регрессия Python не возвращает правильные результаты
    Anonymous » » в форуме Python
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous
  • Логистическая регрессия не возвращает правильные результаты
    Anonymous » » в форуме Python
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous
  • Логистическая регрессия не возвращает правильные результаты
    Anonymous » » в форуме Python
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»