Presentation is loading. Please wait.

Presentation is loading. Please wait.

Lab Assignment 2 Neural Network & Ensemble Data Mining 2016 Fall 1 1.

Similar presentations


Presentation on theme: "Lab Assignment 2 Neural Network & Ensemble Data Mining 2016 Fall 1 1."— Presentation transcript:

1 Lab Assignment 2 Neural Network & Ensemble Data Mining 2016 Fall 1 1

2 Exercise 1 Neural Network Data Mining 2016 Fall 2

3 Example 1: Neural Network
R 패키지 neuralnet 설치 install.packages("neuralnet") 함수를 사용하여 패키지를 설치한다. neuralnet 소스코드 설치 untar(download.packages(pkgs = "neuralnet", destdir = ".", type = "source")[,2]) neuralnet 패키지 설명 help(neuralnet) 데이터 사용 data() 함수를 사용하여 확인할 수 있는 데이터 중 하나를 사용 Iris 데이터셋: Data Mining 2016 Fall 3

4 Example 1: Neuralnet #패키지 설치 및 다운 setwd("작업 공간 위치")
install.packages("neuralnet") untar(download.packages(pkgs = "neuralnet", destdir = ".", type = "source")[,2]) library("neuralnet") # 데이터 로드 및 샘플링 test = sample(1:nrow(iris), 50) train = sample(setdiff(1:nrow(iris), test)) itest = iris[test,] itrain = iris[train,] Data Mining 2016 Fall 4

5 Example 1: Neuralnet # Neural network 에서의 Output Layer 생성
Itrain$setosa <- c(itrain$Species == 'setosa') itrain$versicolor <- c(itrain$Species == 'versicolor') itrain$virginica <- c(itrain$Species == 'virginica') # 학습 및 네트워크 출력 inet <- neuralnet(setosa + versicolor + virginica ~ Sepal.Length + Sepal.Width + Petal.Length + Petal.Width, itrain, hidden=3, lifesign="full") plot(inet) Data Mining 2016 Fall 5

6 Example 1: Neuralnet 학습 단계 및 네트워크 확인 Data Mining 2016 Fall 6

7 Example 1: Neuralnet (Predict & performance)
# 예측 결과를 Output Vector로 출력 predict <- compute(inet, itest[1:4]) # Performance 계산 corr = 0 for (i in 1:nrow(itest)) { if (as.numeric(itest$Species[i])==which.max(predict$net.result[i,])) corr = corr + 1 } acc = corr / nrow(itest) acc Data Mining 2016 Fall 7

8 Exercise 1 Data 선택 Data Preprocessing
UCI ML Repository에서 제공하는 데이터셋 중 임의로 하나의 데이터셋을 선택한다. 선택한 데이터셋에 대한 Spec을 보고서에 기술한다. Data Preprocessing 데이터셋을 적절한 방법을 사용하여 데이터를 읽어온다. 그 과정을 자세히 기술한다. Data Mining 2016 Fall 8

9 Exercise 1 Data Sampling Learning & Prediction
보통 대부분의 데이터셋은 Training, Test의 구분이 없이 하나의 파일로 제공된다. sample() 함수를 사용하여, 전체 Data Set 을 두 개의 독립된 Training/Test 데이터셋 으로 분리한다. Learning & Prediction 앞에서 마련한 Training 데이터셋으로 Neuralnet를 학습하되 개인이 적절하게 Arguments 값을 변형하여 적용해 보고 Test 데이터셋으로 예측하는 작업을 수행한다. 사용한 Arguments에 대한 내용을 보고서에 기술한다. Test 분류 정확도를 측정한다. Data Mining 2016 Fall 9

10 Exercise 2 Ensemble Learning Data Mining 2016 Fall 10

11 Example 2: Ensemble Learning
Emsemble Learning 하나의 Classifier Model 만을 사용하는 것이 아닌 여러 개의 Classifier Model을 생성하고, 그 결과들을 조합하여 최적 예측 결과를 내고자 하는 방법 참고 예제 Data Mining 2016 Fall 11

12 Example 2: Ensemble Learning
사용할 두 가지 알고리즘 Decision Tree Naïve Bayes install.packages('tree') library("tree") install.packages('e1071') library("e1071") Data Mining 2016 Fall 12

13 Example 2: Ensemble Learning
이전 과제에서 수행한 데이터 분할 data(iris) test = sample(1:nrow(iris), 50) train = setdiff(1:nrow(iris), test) iris_test = iris[test,] iris_train = iris[train,] Data Mining 2016 Fall 13

14 Example 2: Ensemble Learning
학습 및 예측 결과 #tree model 생성 Iris_tr = tree(Species~.,iris_train) #naïve bayes model 생성 iris_nb = naiveBayes(Species~.,iris_train) #test set을 모델에 적용 #tree에서 예측 결과가 데이터에 속할 확률 predict(iris_tr, iris_test[1:4], type='vector') #naïve bayes에서 예측 결과가 데이터에 속할 확률 predict(iris_nb, iris_test[1:4], type='raw') Data Mining 2016 Fall 14

15 Example 2: Ensemble Learning
출력 결과 Decision Tree Naïve Bayes Data Mining 2016 Fall 15

16 Exercise 2: Ensemble Learning
이전의 출력 결과들을 바탕으로 속할 확률이 더 높은 모델을 선택한다. Decision Tree Naïve Bayes Naïve Bayes 에서 virginica 에 속할 확률이 0.99로 Decision Tree 에서 versicolor 에 속할 확률인 0.6 보다 높으므로 Virginica로 선택한다. ` ` Data Mining 2016 Fall 16

17 Exercise 2: Ensemble Learning
두 개의 모델들에 Test set을 적용한 결과들을 바탕으로 속할 확률이 더 높은 Class들을 선택하는 Ensemble을 구현하여 각각의 결과들과 비교하여 본다. Ensemble accur ` Decision Tree accur ` Data Mining 2016 Fall 17 Naïve Bayes accur `

18 Exercise 3 Ensemble – Training Set Data Mining 2016 Fall 18

19 Example 3: Ensemble – Training Set
여러 개의 모델의 결과를 활용하는 것이 아닌 훈련 집합을 조작함으로써 성능 향상을 기대한다. Bagging(Bootstrap aggregation) 훈련집합들 중 훈련 집합을 뽑는 방법을 균일한 확률 분포에 따라 반복적으로 샘플링하여 모델을 여러 개 만든다. 생성된 여러 모델을 바탕으로 앞서 수행한 Exercise 2에서와 같은 방법으로 클래스를 선택한다. Boosting 모델을 생성할 때 이전 모델에서 잘못 분류한 학습 데이터를 다음 모델이 생성될 때 학습 집합으로 선택되어질 가능성을 높여주어 다음 모델에서 오차에 대한 보완을 유도하는 방법이다. Package : adabag Data Mining 2016 Fall 19

20 Example 3: Ensemble - Bagging
install.packages('adabag') library(adabag) data(iris) sub <- sample(1:150,100) train_data = iris[sub,] test_data = iris[-sub,] iris.bagging <- bagging(Species ~ ., data=train_data, mfinal=10) iris.bagging iris.bagging.pred <- predict.bagging(iris.bagging, newdata=test_data) iris.bagging.pred Data Mining (CSE5312/CSEG312), 2014 Fall 20

21 Example 3: Ensemble - Boosting
install.packages('adabag') library(adabag) data(iris) sub <- sample(1:150,100) train_data = iris[sub,] test_data = iris[-sub,] iris.adaboost <- boosting(Species~., data=train_data, boos=TRUE, mfinal=10) iris.adaboost iris.adaboost.pred <- predict.boosting(iris.adaboost, newdata = test_data) iris.adaboost.pred Data Mining (CSE5312/CSEG312), 2014 Fall 21

22 Exercise 3: Ensemble – Traning data
Bagging과 Boosting에 대해 학습하고 Example을 수행한다. Example에서 수행한 Bagging과 Boosting의 학습 모델인 iris.bagging iris.adaboost 을 각각 출력해보고, 각 인자($tree, $votes, $prob …)들의 의미 및 차이점을 분석해본다. 분류 정확도를 수행해 보고 그 결과를 분석해본다. Data Mining (CSE5312/CSEG312), 2014 Fall 22

23 Summary Exercise 요약 (해야 할 일) Exercise 1 Exercise 2 Exercise3
1, 2, 3, 4를 수행하고 사용한 데이터 및 코드에 대한 설명을 보고서에 기술한다. Exercise 2 두 개의 알고리즘의 결과를 클래스에 속할 확률로 출력하고 이 정보를 바탕으로 두 알고리즘 중 보다 높은 확률의 클래스를 선택하는 Ensemble을 구현한다. 구현한 Ensemble의 결과와 Decision Tree, Naïve Bayes 알고리즘을 비교한다. 수행한 과정을 보고서에 기술하고, 구현된 코드를 제출한다. Exercise3 Bagging 및 Boosting에 대한 개념을 간략하게 보고서에 기술한다. Bagging과 Boosting을 수행해보고 학습된 모델을 출력해본 뒤, 그 의미와 각 모델의 차이점을 보고서에 기술한다. (출력 값 원본 첨부 대신 각 인자와 그에 대한 설명 기술) Data Mining 2016 Fall 23

24 Submission 제출물: 각 Exercise 에 대한 보고서 제출 기한: 2016년 11 월 23 일 수업시간 전까지
제출 방법 Softcopy(보고서 파일): 조교에게 로 제출 ( ) dm2016_hw2_학번_이름.zip (보고서, hw2_1.R, hw2_2.R, dataset) 제목 : dm2016_hw2_학번_이름 Hardcopy(보고서 출력물): 수업시간 전 교탁 위에 제출 기타 질문 사항은 위 조교 로 문의 바랍니다. Data Mining 2016 Fall 24


Download ppt "Lab Assignment 2 Neural Network & Ensemble Data Mining 2016 Fall 1 1."

Similar presentations


Ads by Google