Привет Я новичок в моделировании и создании модели классификации для прогнозирования вероятности водителя, попавшего в аварию. Мои данные имеют около 38 функций. Я пробовал Random Forest Logisti c (в R) даже на машине One Vector Suport в (AzureML). Я получаю очень плохой отзыв и точность. Я также попробовал метод Ensemble Modeling, где я взял в среднем 3 модели (GBM, RF и KNN). Опять же точность и отзыв очень низок. Кто-нибудь может предложить некоторые другие методы и приемы, которые я могу использовать для моделирования.
#Training the random forest model
model_rf<-train(driver_data_train[,-38],driver_data_train$IS_fatal,method='rf',trControl=fitControl,tuneLength=3)
#Predicting using random forest model
driver_data_test$pred_rf<-predict(model_rf,driver_data_test)
#Checking the accuracy of the random forest model
confusionMatrix(driver_data_test$IS_fatal,driver_data_test$pred_rf)
#Training the knn model
model_knn<-train(driver_data_train[,-38],driver_data_train$IS_fatal,method='knn',trControl=fitControl,tuneLength=3)
#Predicting using knn model
driver_data_test$pred_knn<-predict(model_knn,driver_data_test)
#Checking the accuracy of the KNN model
confusionMatrix(driver_data_test$IS_fatal,driver_data_test$pred_knn)
#Training the logistic regression model
model_lr<-train(driver_data_train[,-38],driver_data_train$IS_fatal,method='gbm',trControl=fitControl,tuneLength=3)
#Predicting using gbm model
driver_data_test$pred_gbm<-predict(model_lr,driver_data_test)
#Checking the accuracy of the gbm model
confusionMatrix(driver_data_test$IS_fatal,driver_data_test$pred_gbm)
#Predicting the probabilities
driver_data_test$pred_rf_prob<-predict(object = model_rf,driver_data_test,type='prob')
driver_data_test$pred_knn_prob<-predict(object = model_knn,driver_data_test,type='prob')
driver_data_test$pred_lr_prob<-predict(object = model_lr,driver_data_test,type='prob')
#Taking average of predictions
driver_data_test$pred_avg<-(driver_data_test$pred_rf_prob$F+driver_data_test$pred_knn_prob$F+driver_data_test$pred_lr_prob$F)/3
#Splitting into binary classes at 0.5
driver_data_test$pred_avg<-as.factor(ifelse(driver_data_test$pred_avg>0.5,'F','NF'))
confusionMatrix(driver_data_test$IS_fatal,driver_data_test$pred_avg)
O/p of code
Precision Recall Accuracy
0.168650794 0.47752809 0.939793039 rf
0.05952381 0.256410256 0.934031044 knn
0.136904762 0.420731707 0.937734962 gbm
0.061507937 0.449275362 0.93991063 Final