假设我们有以下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
?
答案 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)
请记住,在此示例中,您正在训练统计模型,然后尝试根据您已经为模型提供的(样本内)数据进行预测。 这通常被视为破旧的统计实践,因此请谨慎行事或对样本外数据进行测试。