2016-08-30 75 views
0

我有一個testDF這樣,並設法使二元分類[0; 1]:添加概率的預測值

enter image description here

另外我有具有相同的結構,並與填充不良一個trainDF爲了訓練的目的,它的值。

我提出的目標和列車組從trainDF:

target = trainDF.bad.values 
train = trainDF.drop('bad', axis=1).values 

然後我追加邏輯迴歸模型,並做交叉驗證:

model=[] 
model.append (linear_model.LogisticRegression(C=1e5)) 
TRNtrain, TRNtest, TARtrain, TARtest = train_test_split(train, target,test_size=0.3, random_state=0) 

然後配合上驗證,並做preds:

model.fit(TRNtrain, TARtrain) 
pred_scr = model.predict_proba(TRNtest)[:, 1] 

然後適合整套和預測不良值:

model.fit(train, target) 
test = testDF.drop('bad', axis=1).values 
testDF.bad=model.predict(test) 

我收到一個DF與填充的值:enter image description here

我的問題:我如何添加從壞的價值迴歸= 1附加列的概率是多少?我應該採取哪些措施?

任何幫助將不勝感激!

回答

1

.predict方法爲您的輸入選擇最可能的分配。如果您要訪問的概率,你可以使用:

log_prob = model.predict_log_proba(test) # Log of probability estimates. 
prob = model.predict_proba(test) # Probability estimates. 

您可以將這些直接的數據幀通過柱狀分配添加任何。

testDF['bad_prob'] = model.predict_proba(test)