[데이터 마이닝] WEAK 정리...

2021. 10. 14. 20:14·Major/Database
728x90

1. WEKA 소개

- 세계에서 가장 많이 사용되는 데이터마이닝 패키지

 

2. 용어

  • Data Set : 표 형식의 데이터를 의미
  • Attribute(속성) : 표 형식에서 얻을 수 있는 data set 열(column)
  • Instance(예제) : 표 형식에서 얻을 수 있는 data set 행(row)
  • Scheme : 기계학습 알고리즘

3. 기계학습 알고리즘

1) Classify(분류)

ⓐ Bayes 

  • NaiveBayse - 나이브 베이지안 분류기

ⓑ Functions 

  • SimpleLinearRegression : 선형회귀분석(모든값이 수치값이어야함)
  • MultilayerPerceptron : 신경망 알고리즘

ⓒ Lazy (Instance-Based Algorithm)

  • k-nearest neighbor : k-최근접 이웃 알고리즘(가장 인접한 인스턴스의 클래스 값으로 새 인스턴스의 클래스 추천)

ⓓ Rules

  • ZeroR : 다수의 클래스를 추천해주는 알고리즘
  • OneR : 인스턴스에 대한 특정한 하나의 속성에 대해 클래스 값을 추천해줌

ⓓ Trees

  • J48(C4.5) :  결정 트리

2) Cluster(군집)

  • EM(Expectation maximization) : 기대값 최대화 알고리즘
  • SimpleKMeans : 단순 k 평균 군집분석(군집의 개수를 k로 지정하여 전체 인스턴스를 k개의 군집으로 할당하는 알고리즘)

3) Associate(클래스를 특정하게 지정안함. 어떤 속성과 관련있는지 if, then으로 알려줌)

  • Apriori : 연관 규칙 분석 

 

- weka 파일 포멧 : aiff

4. 메뉴 

1) use traning set : 지정한 트레이닝 셋을 가지고 기계학습 알고리즘을 적용했을 때, 그 결과의 정밀도, 정확도, 재현율 보여주는 옵션

  • cross-validation : 트레이닝과 테스팅에 대한 개념을 모두 수행하는데 널리 이용되는 성능평가 방법 (전체 데이터를 10개의 바스켓에 담고, 9개는 트레이닝(일반화를 가져올 수 있는 훈련 데이터셋) 1개는 테스트(새로운 데이터 셋에 훈련결과를 적용시키는것)를 진행함)

 

 

 

5. 자세한 알고리즘

 

1) One Rule

: 정확도가 가장 높은 속성 하나를 선택해서 그 속성과 속성값으로 분류하는 알고리즘

 

2) Zero Rule

: 가장 단순한 형태의 기계학습 알고리즘으로 전체 인스턴스의 클래스 값에서 다수를 추천해주는 알고리즘

예를 들어 weather 인스턴스에서 play 클래스 값이 yes 가 7개이고 no가 5개이면 yes를 추천해준다.

 

 

5. Knowledge flow 

: weka 기능들을 아이콘화 하여 마이닝 과정을 사용자에게 시각화 해서 보여줌

 

 

6. ouput에 대한 이해

 

1) accuracy(정확도) = 정확하게 분류된 인스턴스 수 / 전체 인스턴스 수

쉽게 이해하면 전체 클래스중에 제대로 분류된 인스턴스 비율 

2) preicision(정밀도) = 정확하게 분류된 특정 클래스의 인스턴스 수 / 특정 클래스에 속해 분류된 인스턴스 수 

특정 클래스 x로 분류된 것중에 진짜(원래) x의 비율

3) recall(재현율) =  특정 클래스에 정확하게 분류된 인스턴수 수 / 특정 클래스의 인스턴스 수

특정 x클래스가 얼마나 잘 x로 분류 되었는가?

 

ex) 

  • TP Rate : true positive / FP :  False positive

counfusion matrix를 보면,

 

Total 14개의 값이 나오고 yes로 분류된 class가 9, no로 분류된 게 5개이다.

a b  
9 0 a
1 4 b

 

첫째 줄 행에 있는 a,b는 특정 알고리즘으로 분류했을때 a, b의 개수이다.

오른쪽 세번째 줄에 있는 a = yes이고, b=no 이다.

 

먼저 정확도를 계산해보면,

제대로 분류된 인스턴스 / 전체 인스턴스 이므로

13개는 제대로 분류 되었지만 no에서 1개가 잘못 분류 되었으므로 13/14 = 0.93이다.

 

TP RATE를 계산해보자.

분류된 YES의 개수/ 원래 YES의 개수 = 9/9,

분류된 NO의 개수 / 원래 NO의 개수 = 4/5

 

Precision을 계산해보자

a클래스에 분류된 yes의 수 = 10개

그 중에서 제대로 분류된 yes의 수는 9개 

따라서 yes의 정밀도는 9/10

마찬가지로 no도 계산해서 4/4라는 사실을 알 수 있음

 

Recall을 계산해보자

a클래스에 분류된 인스턴스의 수 = 9

원래 a클래스(yes)로 분류되어야 하는 인스턴스의 수 = 9

따라서 9/9

 

b클래스에 분류된 인스턴스의 수 = 4

원래 b클래스(no)로 분류되어야 하느 인스턴스의 수 = 5

따라서 4/5 이다.

 

 

 

 

 

 

 

 

728x90
저작자표시 비영리 (새창열림)

'Major > Database' 카테고리의 다른 글

[파일 처리] 03 파일 입출력 제어  (0) 2022.04.09
[파일 처리] 02 화일 저장 장치  (0) 2022.04.06
[파일 처리] 01 화일의 기본 개념  (0) 2022.04.06
[데이터베이스설계] Mysql stored function 피보나치(fibonacci)  (0) 2021.11.18
[데이터베이스] 데이터베이스 시스템의 개요  (0) 2021.10.05
'Major/Database' 카테고리의 다른 글
  • [파일 처리] 02 화일 저장 장치
  • [파일 처리] 01 화일의 기본 개념
  • [데이터베이스설계] Mysql stored function 피보나치(fibonacci)
  • [데이터베이스] 데이터베이스 시스템의 개요
BeNI
BeNI
코딩하는 블로그
  • BeNI
    코딩못하는컴공
    BeNI
  • 전체
    오늘
    어제
    • Menu (253)
      • My profile (1)
      • 회고 | 후기 (8)
      • Frontend (65)
        • Article (11)
        • Study (35)
        • 프로그래머스 FE 데브코스 (19)
      • Backend (0)
      • Algorithm (58)
        • Solution (46)
        • Study (12)
      • Major (111)
        • C&C++ (23)
        • Java (20)
        • Data Structure (14)
        • Computer Network (12)
        • Database (15)
        • Linux (6)
        • Architecture (3)
        • Lisp (15)
        • OS (1)
        • Security (2)
      • etc (2)
  • 링크

    • 깃허브
    • 방명록
  • 인기 글

  • 최근 댓글

  • 최근 글

  • 태그

    프로그래머스
    파일처리
    리팩토링
    자료구조
    react
    Algorithm
    lisp
    데브코스
    C++
    백준
  • hELLO· Designed By정상우.v4.10.2
BeNI
[데이터 마이닝] WEAK 정리...
상단으로

티스토리툴바