我嘗試使用下面的語法來執行邏輯迴歸,具有分類和連續自變量的Logistic迴歸。 ROC曲線和混淆矩陣
logregmodel <- glm(Y ~., data = quant, family = binomial())
我有使用上述語法15個分類變量和30連續variables.By我不能確定是什麼連續和分類變量。手動對它們進行分類會花費很多時間。我還想將ROC曲線和混淆矩陣添加到輸出中。請幫助。
我嘗試使用下面的語法來執行邏輯迴歸,具有分類和連續自變量的Logistic迴歸。 ROC曲線和混淆矩陣
logregmodel <- glm(Y ~., data = quant, family = binomial())
我有使用上述語法15個分類變量和30連續variables.By我不能確定是什麼連續和分類變量。手動對它們進行分類會花費很多時間。我還想將ROC曲線和混淆矩陣添加到輸出中。請幫助。
如果在quant
中,分類變量是非數字,glm
將正確處理它們作爲分類變量。
爲了得到混淆矩陣,使用predict
功能:
# This will give you probabilities.
fitted <- predict(logregmodel, quant, type="response")
# Use a cut point to divide into classes
cutpoint <- 0.5
estimated.class <- ifelse(fitted > cutpoint, 'Class 1', 'Class 2')
# Calculate the confusion matrix
table(estimated.class, actual.class)
可以使用ROCR包來獲得ROC曲線。 Here is a good explination。您必須向下滾動一下ROC曲線部分,但整個事情都是非常重要的。
ROCR包(特別是prediction
函數)也可以用來得到混淆矩陣。
我只想指出,如果ROC曲線和模型性能的度量(例如靈敏度或特異性)是根據從用於擬合模型的相同數據集中導出的預測響應計算得出的,則會產生偏差。
謝謝克里斯託弗和盧克的指導。它非常豐富和有益的 – user3045652
您可以使用例如'sapply(quant,is.numeric)'或'sapply(quant,class)'來檢查變量類型,'quantsub < - subset(quant,...)'用你想要的變量構建一個子集嵌入你的第一個模型。 – lukeA