Логистическая регрессия - машинное обучение - PullRequest
0 голосов
/ 03 июля 2018

Логистическая регрессия с входными данными файла «Машинное обучение.csv».

#Import Libraries

import pandas as pd

#Import Dataset
dataset = pd.read_csv('Machine Learning Data Set.csv')
X = dataset.iloc[:, :-1].values
y = dataset.iloc[:, 10]

#Splitting the dataset into the Training set and Test set
from sklearn.cross_validation import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X,y, test_size = 0.2, random_state = 0)

#Feature Scaling
from sklearn.preprocessing import StandardScaler
sc_X = StandardScaler()
X_train = sc_X.fit_transform(X_train)
X_test = sc_X.transform(X_test)

#Fitting Logistic Regression to the Training Set
from sklearn.linear_model import LogisticRegression
classifier = LogisticRegression(random_state=0)
classifier.fit(X_train,y_train)

#Predicting the Test set results
y_pred = classifier.predict(X_test)

#Making the Confusion Matrix
from sklearn.metrics import confusion_matrix
cm = confusion_matrix(y_test,y_pred)

У меня есть код машинного обучения / логистической регрессии (python), как указано выше. Он правильно обучил мою модель и дает действительно хорошее соответствие с данными испытаний. Но, к сожалению, это дает мне 0/1 (двоичный) результат, когда я тестирую с некоторыми другими случайными значениями (тренировочный набор имеет только 0/1 - как в случае неудачи / успеха)

Как я могу получить вероятностный результат вместо двоичного результата в этом алгоритме? Я попробовал совсем другой набор чисел и хотел бы узнать вероятность сбоя - вместо 0 и 1.

Любая помощь очень ценится :) Большое спасибо!

Ответы [ 2 ]

0 голосов
/ 03 июля 2018

Forex_Proba (X_test) даст вам вероятность каждого сэмпла для каждого класса. Т.е., если X_test содержит n_samples, и у вас есть 2 класса, выходные данные вышеупомянутой функции будут представлять собой матрицу "n_samples X 2". и сумма предсказанных двух классов будет 1. Для более подробной информации смотрите документацию здесь

0 голосов
/ 03 июля 2018

Просто замените

y_pred = classifier.predict(X_test)

с

y_pred = classifier.predict_proba(X_test)

Подробнее см. Вероятность логистической регрессии

...