일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- flask
- String 함수
- 12761번 돌다리
- 트리 순회
- 정렬
- http 개념
- 12761 돌다리
- 도메인 주도 개발
- 백준
- 백준 사이트
- 우분투
- hadoop
- 백준 파이썬
- 백준 12761번
- MongoDB Realm
- 자바 디자인 패턴
- 몽고디비 렘
- 자바
- 하둡
- 고 배열
- 파이썬
- golang struct
- 백준 12761
- ddd
- 자바 디자인패턴
- go
- 도메인 주도 개발 시작하기
- golang
- http 완벽가이드
- domain driven develop
- Today
- Total
개발바닥
Unsupervised learning [ Association Rules ] 본문
비지도 학습(Unsupervised learning) 이란?
학습 벡터에 목표값이 없을 때, 학습 데이터의 관계를 추론하여 학습을 진행하는 방식이다.
크게 두가지로 결과 값을 얻을 수 있다.
1. 연관 (Associations)
2. 군집화 (Clustering)
연관 규칙 (Association rule) 이란?
데이터베이스에 있는 어트리뷰트들간의 흥미 있는 연관성을 발견하는 데 사용된다.
연관 규칙은 support와 confidence를 통해서 값을 예측할 수 있다.
support (지지도) - 전체 트랜잭션들에서 연관 규칙의 왼편 전제 조건과 오르편 결론이 모두 참이 되는 백분율
confidence (신뢰도) - 전체 트랜잭션들에서 연관 규칙의 왼편 전제 조건이 참일 때 오른편 결론이 참이 되는 백분율
최소 지지도, 최소 신뢰도를 설정하고 두 조건을 만족하는 모든 연관 규칙을 찾는다.
ex) 최소 지지도 60% , 최소 신뢰도 60%
구매번호 |
구매항목 |
1 |
{피자,치킨,햄버거,라면} |
2 |
{피자,라면} |
3 |
{피자,라면,핫도그} |
4 |
{피자,햄버거,치킨} |
5 |
{김밥,라면,} |
위 표에서 지지도 60퍼 넘는 넘는 경우는
피자 => 라면 의 지지도가 구매번호 1번,2번,3번에 총 5개 중에 3개에 들어 있기 때문에 최소 지지도를 만족한다.
피자 => 라면 의 신뢰도는 피자가 있는 경우 1번 2번 3번 4번 중 라면이 있는 경우는 1번 2번 3번에 있으므로 최소 신뢰도를 만족한다.
연관 규칙은 이진 속성 뿐만 아니라 정량적 속성을 가진 항목들을 대상으로도 적용이 가능하다.
ID |
Age |
Married |
NumCars |
1 |
20 |
No |
0 |
2 |
23 |
No |
1 |
3 |
25 |
Yes |
0 |
4 |
26 |
Yes |
2 |
5 | 28 | Yes |
2 |
[Age 25..30] and [Married=Yes] => [NumCars :2 ] 에 지지도는 왼쪽 전제 조건과 오른쪽 전제 조건이 만족하는 경우는 4번 5번 밖에 없으므로 40퍼가 된다.
신뢰도는 왼쪽 전제 조건이 만족하는 경우 3번 4번 5번 중 자동차 보유수가 2대 인 경우는 4번 5번 이므로 66%가 된다.
연관 규칙 발견하는 방법
1. 가능한 모든 항목 집합을 고려한다.
2. 각각의 집합들 중에서 빈발 항목 집합들을 찾는다.
3. 빈발 항목 집합을 사용하여 연관 규칙을 적용한다.
ID |
ITEMS |
1 |
{1,2,3} |
2 |
{1,3} |
3 |
{1,4} |
4 |
{2,5,6} |
위 표에서 최소 지지도 50퍼와 최소 신뢰도 50퍼에 해당되는 집합은?
표에 아이템의 수는 6개이고 6개로 가능한 모든 집합의 수 2의 6승 개이다. {1},{2},...{1,2,3,4,5,6}
즉 아이템 수가 n 이라면 가능한 모든 집합의 수는 개이다.
데이터 항목이 별로 안되서 하나하나 가능하겠지만, 데이터 항목이 많아지는 경우에는 하나하나씩 하는거는 어리석은 짓이므로
a priori technique 을 사용해서 빈발 항목 집단을 발견한다.
a priori technique에 대해서 설명드리자면,
집합 길이가 1에 대한 지지도를 확인 후 조건에 충족되지 않는 것들은 버립니다.
다음 단계에서 이전 단계에서 발견 된 집합을 확장하고 다시 조건에 맞는지 테스트를 합니다.(이전 단계에서 제거된 부분집합을 포함할 수 없다.)
빈발 항목 집합을 발견할 수 없을 때까지 반복합니다.
위에 예시를 통해서 확인 해 보겠습니다.
Pass 1 : 항목 개수가 1개인 집합 중 최소 지지도와 최소 신뢰도를 만족하는 집합은 = {1},{2},{3}
Pass 2 : 항목 개수가 2개인 집합 중 최소 지지도와 최소 신뢰도를 만족하는 집합은 = {1,2} , {1,3} ,{2,3} 중 {1,3} 만 해당된다.
Pass 3 : 3개를 만들 수 없으므로 x
'데이터 마이닝' 카테고리의 다른 글
데이터 마이닝 정의 (0) | 2018.10.06 |
---|