基于多个二进制输入的预测

时间:2017-12-11 15:08:51

标签: python scikit-learn classification logistic-regression

假设我们有以下DataFrame,其中A,B,C和D是分类任务的二进制结果。 “1”涉及“已完成”,“0”涉及“未完成”。

A B C D True
0 1 1 1 1
1 0 0 0 0
1 1 1 1 1
1 1 1 1 1
0 1 1 1 1
0 0 0 0 0 
1 1 1 1 1
0 1 0 0 1
0 1 1 1 1
1 1 1 1 1
0 1 0 0 0

我想知道如何根据True中的值来预测A, B, C, D结果。

我应该使用scikit learn

应用多元逻辑回归

1 个答案:

答案 0 :(得分:1)

您可以使用sklearn's LogisticRegression

from sklearn.linear_model import LogisticRegression

endog = data.TRUE.values
exog = data.drop('TRUE', axis=1).values
model = LogisticRegression()
model.fit(exog, endog)

model.score(exog, endog)  # mean accuracy
# 0.90909090909090906

model.predict(exog)       # your predicted values
# array([1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1], dtype=int64)

请记住,在此示例中,您正在训练统计模型,然后尝试根据您已经为模型提供的(样本内)数据进行预测。 这通常被视为破旧的统计实践,因此请谨慎行事或对样本外数据进行测试。