티스토리 뷰
head(iris_test_scale)
naiveBayes Algorithm / 나이브 베이즈 모형 사용
R에서 나이브 베이즈를 적용하기 위해서는 e1071 패키지의 naiveVayes 함수를 사용함.
※ e1071 : 효율적인 SVM 구현체로 잘 알려진 libsvm을 R에서 사용할 수 있도록 한 패키지
SVM 모델을 위한 패키지 'e1071' 설치
install.packages('e1071')
나이브 베이즈 기법 적용하기 위한 e1071 패키지 로드
library(e1071)
나이브 베이즈 적합
naive_rlt=naiveBayes(iris_train,iris_train$Species,laplace = 1)
테스트 데이터 평가
naive_pdt=predict(naive_rlt,iris_test,type="class")
분류 결과 도출
table(naive_pdt,iris_test$Species)
혼동행렬(confusion Matrix)
분류가 Y, N 두 종류가 있다고 할 때, 모델에서 구한 분류의 예측값(Prediction)과 데이터의 실제값(Reference)의 발생 빈도를 나열한 행렬
confusionMatrix(naive_pdt,iris_test$Species)
logistic Regression Model / 로지스틱 회귀분석 기법 사용
library(nnet)
multi_rlt=multinom(Species~.,iris_train)
multi_pdt=predict(multi_rlt,iris_test)
table(multi_pdt,iris_test$Species)
confusionMatrix(multi_pdt,iris_test$Species)
Decision Tree Algorithm / 의사결정트리 기법 사용
library(rpart)
rpart_rlt=rpart(Species~.,iris_train)
rpart_pdt=predict(rpart_rlt,iris_test,type="class")
table(rpart_pdt,iris_test$Species)
confusionMatrix(rpart_pdt,iris_test$Species)
Artificial Neural Network Algorithm / 인공 신경망 모델 사용
library(nnet)
iris_train_scale=as.data.frame(sapply(iris_train[,-5],scale))
head(iris_train_scale)
iris_test_scale=as.data.frame(sapply(iris_test[,-5],scale))
iris_train_scale$Species=iris_train$Species
iris_test_scale$Species=iris_test$Species
head(iris_test_scale)
ann_rlt=nnet(Species~.,iris_train_scale,size=3)
ann_pdt=predict(ann_rlt,iris_test_scale,type="class")
table(ann_pdt,iris_test$Species)
library(caret)
class(ann_pdt)
ann_pdt=as.factor(ann_pdt)
confusionMatrix(ann_pdt,iris_test$Species)
SVM(Support Vector Machine Alorithm) / 서포트 벡터 머신 기법 사용
install.packages("kernlab")
library(kernlab)
svm_rlt=ksvm(Species~.,iris_train,kernel="rbfdot")
svm_pdt=predict(svm_rlt,iris_test,type="response")
table(svm_pdt,iris_test$Species)
randomforst Algorithm / 랜덤 포레스트
install.packages("randomForest")
library(randomForest)
rf_rlt=randomForest(Species~.,iris_train,ntree=500)
rf_pdt=predict(rf_rlt,iris_test,type="response")
table(rf_pdt,iris_test$Species)
confusionMatrix(rf_pdt,iris_test$Species)
error_rate=1-0.9778
error_rate
반응형
LIST
'공부합시다 > 찍먹' 카테고리의 다른 글
[R] K-평균 클러스터링 분석 수행 (0) | 2021.06.15 |
---|---|
[R] 수치 예측 목적의 러신머닝 (0) | 2021.06.15 |
[R] 데이터 세트 분할하기 (0) | 2021.06.14 |
포트 변경하기 (0) | 2021.05.19 |
사용자 생성하기 (0) | 2021.05.19 |
댓글