1 / 22

2014 년 가을학기 손시운 ( ssw5175@kangwon.ac.kr ) 지도 교수 : 문양세 교수님

분류. 2014 년 가을학기 손시운 ( ssw5175@kangwon.ac.kr ) 지도 교수 : 문양세 교수님. 분 류. 분류 (Classification) ( 참조 : 이론 강의 ‘ 데이터 마이닝 개념 ’) 모델 구성 : 주어진 훈련 집합의 레코드들을 사용하여 , 속성 값들을 입력으로 클래스를 출력으로 하는 함수 ( 모델 ) 를 찾는 작업이다 .

Download Presentation

2014 년 가을학기 손시운 ( ssw5175@kangwon.ac.kr ) 지도 교수 : 문양세 교수님

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 분류 2014년 가을학기 손시운(ssw5175@kangwon.ac.kr) 지도 교수: 문양세 교수님

  2. 분류 • 분류 (Classification) (참조: 이론 강의 ‘데이터 마이닝 개념’) • 모델 구성: 주어진 훈련 집합의 레코드들을 사용하여, 속성 값들을 입력으로 클래스를 출력으로 하는 함수(모델)를 찾는 작업이다. • 모델 검증: 테스트 집합의 레코드들을 앞서 구성한 분류 모델에 적용하여 모델의 정확성을 판별한다.  일정 수준의 정확성이 확보되면 모델로서 의미를 가짐 • 모델을 사용한 예측: 아직 분류되지 않은 (즉, 클래스가 부여되지 않은) 레코드를 분류 모델에 적용하여 클래스를 부여함

  3. Decision Trees

  4. Example 1: Iris • Datasets: 150개의 Iris 꽃 데이터 • Sepal.Length: 꽃 받침 길이 • Sepal.Width: 꽃 받침 너비 • Petal.Length: 꽃잎 길이 • Petal.Width: 꽃잎 너비 • Species: 화종 • setosa • versicolor • virginica  새로운 Iris 데이터의 종을 파악할 수 있을까?

  5. Ex.1: 필수 패키지 설치 • Decision Tree를 생성하기 위해필요한 패키지 설치 • http://cran.r-project.org/web/packages/party/index.html • http://cran.r-project.org/web/packages/zoo/index.html • http://cran.r-project.org/web/packages/sandwich/index.html • http://cran.r-project.org/web/packages/strucchange/index.html • http://cran.r-project.org/web/packages/modeltools/index.html • http://cran.r-project.org/web/packages/coin/index.html • http://cran.r-project.org/web/packages/mvtnorm/index.html • 다운로드 받은 패키지를 R에서 로딩

  6. Ex.1: 데이터 확인 • R에 내장되어있는 iris 데이터 사용

  7. Ex.1: 데이터 분류 • 훈련 집합과 테스트 집합 분류 • sample() 함수를 통해 70%의 훈련 집합과 30%의 테스트 집합으로 분류 • replace=TRUE: 중복을 허용하여 난수 생성 • prob=c(0.7, 0.3): 난수를 생성할 때 가중치를 부여

  8. Ex.1: Decision Tree 생성 • ctree() 함수: Decision Tree를 생성하는 함수

  9. Ex.1: Decision Tree 생성 • Decision Tree 플로팅

  10. Ex.1: Decision Tree 생성 • Decision Tree 플로팅

  11. Ex.1: Decision Tree 생성 • 테스트 집합의 분류 • predict() 함수: 미리 정의된 예측 모델을 사용하여 데이터를 분류하는 함수 • 예측 결과와 실제 데이터의 정확도 확인

  12. The k-Nearest Neighbor Algorithm • knn알고리즘 (출처: 자바캔) • 데이터를 분류하는데 유용하게 사용하는 알고리즘 • 주어진 훈련 집합의 레코드와 비교하여 가장 밀접한 k개의 레코드를 기반으로 새로운 데이터를 분류하는 알고리즘 • 밀접한 정도는 Euclidean distance를 사용하여 계산 • k=4 일 경우로맨스가 3개, 액션이 1개에서 나타나므로 ?는 로맨스로 분류

  13. Example 2: Forensic Glass • Datasets: 6 종류의 유리조각 214개 데이터 • WinF: float glass window • WinNF: non-float glass window • Veh: vehicle window • Con: container (bottles) • Tabl: Tableware • Head: vehicle headlamp • 각 데이터는 다음의 속성을 가짐 • RI: 굴절률(refractive index) • Percentages of Na, Mg, Al, Si, K, Ca, Ba, and Fe • type: 유리의 종류  새로운 유리조각의 종류를 파악할 수 있을까?

  14. Ex.2: 필수 패키지 설치 • 데이터 셋을 수집하기 위해, 관련 패키지 다운로드 • http://cran.r-project.org/web/packages/textir/index.html • http://cran.r-project.org/web/packages/distrom/index.html • http://cran.r-project.org/web/packages/gamlr/index.html • 압축 해제 후, 설치 경로의 library 폴더로 이동 • 다운로드 받은 패키지를 R에서 로딩

  15. Ex. 2: 데이터 확인 • str() 함수: 데이터 프레임의 구조를 확인하는 함수 • 10개의 속성(RI, Percentages of elements, type) • 214개 데이터

  16. Ex. 2: Box plots (1/2) • 다른 속성과 type간의 관계를 box plot으로 표현 • par() 함수: 그래프의 공간을 배열 형태로 미리 할당 • par(mfrow=c(3,3), mai=c(.3,.6,.1,.1)) • plot(RI ~ type, data=fgl, col=c(grey(.2),2:6)) • plot(Al ~ type, data=fgl, col=c(grey(.2),2:6)) • plot(Na ~ type, data=fgl, col=c(grey(.2),2:6)) • plot(Mg ~ type, data=fgl, col=c(grey(.2),2:6)) • plot(Ba ~ type, data=fgl, col=c(grey(.2),2:6)) • plot(Si ~ type, data=fgl, col=c(grey(.2),2:6)) • plot(K ~ type, data=fgl, col=c(grey(.2),2:6)) • plot(Ca ~ type, data=fgl, col=c(grey(.2),2:6)) • plot(Fe ~ type, data=fgl, col=c(grey(.2),2:6))

  17. Ex. 2: Box plots (2/2)

  18. Ex. 2: RIxAl기반 분류 • 훈련 집합(200개)과 테스트 집합(14개) 구분 • nt변수: 트레이닝 데이터의 수 • sample(x, size, …) 함수: x 벡터에서 nt개의 난수 데이터 추출

  19. Ex. 2: RIxAl기반 분류 • kNN알고리즘 수행 및 결과 훈련 집합 테스트 집합 분류 대상

  20. Ex. 2: RIxAl기반 분류 • kNN알고리즘 결과를 plot • plot() 함수로 훈련 집합을 표현 • 결과는 open symbol • points() 함수로 테스트 집합을 표현 • 결과는 solid symbol

  21. Ex. 2: RIxAl기반 분류 • kNN알고리즘 결과의 성능 평가 • kNN의결과와 실제 type이 같은 경우의 확률을 계산 • 1NN은 78.6이며, 5NN은 71.4의 결과가 나타남 • 항상 같은 결과가 나타나지는 않음

  22. 과제#4 • 유리 데이터 셋에 포함된 다른 속성들을 모두 사용하여 분류 • 앞의 예제는 RI와 Al만을 사용하여 분류함 • 과제는 RI 및 Percentages of Na, Mg, Al, Si, K, Ca, Ba, and Fe를 사용하여 분류 • 214개의 데이터에서 임의로 훈련 집합과 테스트 집합을 설정 • 분류한 결과(데이터 프레임)와 성능 평가까지 진행 • 제출 방법 • 과제는 ssw5176@kangwon.ac.kr로 제출 • 제목 양식: [학번][이름]HW#4 • 과제에서 설정한 훈련 및 테스트 집합과 분류한 결과 및 성능 평과 결과를 캡쳐 • 제출 기한은 다음 실습 수업시간 전까지이며, 그 후에 제출할 경우 20% 감점

More Related