association rule mining - cju.ac.krdelab.cju.ac.kr/lecture/datamining/arm.pdf · 2016-10-04 ·...

21
Data Mining: 2016-2 Association Rule Mining 1 Association Rule Mining 1. What is Association Rule Mining? Association rules (연관성 규칙), Frequent patterns (빈발 패턴), Market basket analysis (장바구니 분석) 관련된 R 패키지: arules (M. Hahsler, B. Grun), arulesViz (M. Hahsler, S. Chelluboina) [Wal Mart Case] P(beer) = , P(diaper) = , P(beer diaper) = P(beer | diaper) = , P(diaper | beer) = P(diaper | beer) P(diaper) = , P(beer | diaper) P(beer) =

Upload: others

Post on 30-Jul-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Association Rule Mining - cju.ac.krdelab.cju.ac.kr/lecture/datamining/arm.pdf · 2016-10-04 · Data Mining: 2016-2 Association Rule Mining . 1 . Association Rule Mining . 1. What

Data Mining: 2016-2

Association Rule Mining

1

Association Rule Mining

1. What is Association Rule Mining?

Association rules (연관성 규칙), Frequent patterns (빈발 패턴), Market basket analysis (장바구니

분석)

관련된 R 패키지: arules (M. Hahsler, B. Grun), arulesViz (M. Hahsler, S. Chelluboina)

[Wal Mart Case]

P(beer) = , P(diaper) = , P(beer ∩ diaper) =

P(beer | diaper) = , P(diaper | beer) =

P(diaper | beer)

P(diaper)= ,

P(beer | diaper)P(beer)

=

Page 2: Association Rule Mining - cju.ac.krdelab.cju.ac.kr/lecture/datamining/arm.pdf · 2016-10-04 · Data Mining: 2016-2 Association Rule Mining . 1 . Association Rule Mining . 1. What

Data Mining: 2016-2

Association Rule Mining

2

> library(arules)

> library(arulesViz)

> tr = read.transactions("c:/data/walmart.txt", format =

"basket", sep = ",")

> tr

transactions in sparse format with

5 transactions (rows) and

6 items (columns) > rules = apriori(tr, parameter = list(support = 0.1, confidence = 0.8)) > rules set of 46 rules > inspect(rules)

Page 3: Association Rule Mining - cju.ac.krdelab.cju.ac.kr/lecture/datamining/arm.pdf · 2016-10-04 · Data Mining: 2016-2 Association Rule Mining . 1 . Association Rule Mining . 1. What

Data Mining: 2016-2

Association Rule Mining

3

Page 4: Association Rule Mining - cju.ac.krdelab.cju.ac.kr/lecture/datamining/arm.pdf · 2016-10-04 · Data Mining: 2016-2 Association Rule Mining . 1 . Association Rule Mining . 1. What

Data Mining: 2016-2

Association Rule Mining

4

> inspect(head(sort(rules, by = "support"), 10))

> inspect(head(sort(rules, by = "confidence"),10))

> inspect(head(sort(rules, by = "lift"), 10))

Page 5: Association Rule Mining - cju.ac.krdelab.cju.ac.kr/lecture/datamining/arm.pdf · 2016-10-04 · Data Mining: 2016-2 Association Rule Mining . 1 . Association Rule Mining . 1. What

Data Mining: 2016-2

Association Rule Mining

5

> plot(rules, method = "grouped")

> subrules = head(sort(rules, by = "confidence"), 10)

> subrules

set of 10 rules

> plot(subrules, method = "graph") #circle graph type

Page 6: Association Rule Mining - cju.ac.krdelab.cju.ac.kr/lecture/datamining/arm.pdf · 2016-10-04 · Data Mining: 2016-2 Association Rule Mining . 1 . Association Rule Mining . 1. What

Data Mining: 2016-2

Association Rule Mining

6

> plot(subrules, method = "graph", control = list(type =

"itemsets")) #text type

> plot(subrules, method = "paracoord", control = list(reorder

= TRUE))

Page 7: Association Rule Mining - cju.ac.krdelab.cju.ac.kr/lecture/datamining/arm.pdf · 2016-10-04 · Data Mining: 2016-2 Association Rule Mining . 1 . Association Rule Mining . 1. What

Data Mining: 2016-2

Association Rule Mining

7

[연관규칙 마이닝]

(1) 아이템(item)과 거래(transaction) 데이터를 분석하는 연관성 분석기법이다.

(2) 연관규칙 마이닝은 아이템들 간의 의미 있는 관계를 찾아내기 위하여 다음과 같은 아이템과

트랜잭션 데이터집합을 구축한다.

I={i1, i2, …, in} : n 개의 아이템 집합

T={t1, t2, …, tm} : m 개의 트랜잭션 집합

(3) 개별 트랜잭션은 번호(unique identical number)와 이에 해당하는 아이템들로 구성된다. 그리고

하나의 연관규칙은 다음과 같이 나타난다.

X → Y

X 와 Y 는 아이템집합에 포함된 아이템으로 각각 선행사건(antecedent)과 후행사건(consequent)을

나타낸다. 즉, X 사건이 발생하고 나서 Y 사건이 발생하는 것을 나타낸다.

(4) 이와 같은 규칙들은 연관규칙 마이닝의 결과로부터 얻게 된다. 특히 아이템집합에 포함된

아이템의 수가 많으면 이에 비례하여 많은 연관규칙이 발생하기 때문에 이 결과에서 의미 있는

연관규칙을 찾아내는 평가기준(evaluated criteria)이 필요하다.

Page 8: Association Rule Mining - cju.ac.krdelab.cju.ac.kr/lecture/datamining/arm.pdf · 2016-10-04 · Data Mining: 2016-2 Association Rule Mining . 1 . Association Rule Mining . 1. What

Data Mining: 2016-2

Association Rule Mining

8

2. Three measures for ARM

지지도(support), 신뢰도(confidence), 그리고 향상도(lift)는 ARM 을 위한 평가측도들(evaluation

measures)이다.

(1) 두 사건(event) A 와 B 에 대하여 P(A⋂B)는 A 와 B 가 동시에 발생할 확률을 나타내며

ARM에서 지지도 측도로 사용된다.

(2) P(B|A)는 A 가 발생했다는 조건 하에서 B 가 발생할 확률은 나타내는 조건부확률(conditional

probability)이다. 이것은 ARM에서 신뢰도로 사용된다.

(3) ARM 에서는 이와 같은 두 개의 확률측도에 대하여 최소 확률값을 정하여 이 값보다 큰

규칙들에 대하여 의미를 부여한다. 이 값을 ARM 에서는 최소임계값(minimum threshold)이라고

한다.

[Support (지지도)]

support(X → Y) = P(X ∩ Y) =X 와 Y 를 함께 포함하고 있는 트랜잭션 수

전체 트랜잭션 수

0 ≤ support(X → Y) ≤ 1

(1) 규칙 (X→Y)의 지지도는 X 와 Y 를 동시한 포함한 트랜잭션 수를 전체 트랜잭션 수로 나눈

값이다.

(2) 1 에 가까울수록 같은 트랜잭션에 속한 X 와 Y 는 전체 트랜잭션에서 차지하는 중요도가

커지게 된다.

(3) 일반적으로 지지도는 자주 발생하지 않은 규칙을 우선적으로 제거하는데 사용한다.

(4) 지지도가 0 에 가깝다는 것은 전체 트랜잭션에서 차지하는 비중이 크지 않다는 것을 의미하기

때문이다.

(5) 다음 식과 같이 지지도는 (𝑋𝑋 → 𝑌𝑌) 와 (𝑌𝑌 → 𝑋𝑋)의 차이를 알 수 없기 때문에 두 규칙 간의

차이를 알 수 없는 단점이 있다.

support(X → Y) = P(X ∩ Y) = 𝑃𝑃(𝑌𝑌 ∩ 𝑋𝑋) = support(Y → X)

(6) 이와 같은 문제점을 보완하기 위하여 신뢰도 측도를 이용한다.

Page 9: Association Rule Mining - cju.ac.krdelab.cju.ac.kr/lecture/datamining/arm.pdf · 2016-10-04 · Data Mining: 2016-2 Association Rule Mining . 1 . Association Rule Mining . 1. What

Data Mining: 2016-2

Association Rule Mining

9

[Confidence (신뢰도)]

confidence(X → Y) = P(Y|X) =P(X ∩ Y)

P(X)=

X 와 Y 를 함께 포함하고 있는 트랜잭션 수

X 를 포함한 트랜잭션 수

0 ≤ confidence(X → Y) ≤ 1

(1) X 가 발생하였다는 조건 하에서 Y 가 발생할 확률로 정의되는 신뢰도는 다음과 같이 X 와 Y 의

지지도(P(X⋂Y))를 X 의 지지도(P(X))로 나눈 값이다.

confidence(X → Y) = P(Y|X) =P(X ∩ Y)

P(X)=

support(X → Y)support(X)

P(X)는 X 의 발생 확률이다. X 와 Y 의 신뢰도는 0 과 1 사이의 확률 값을 가지며 이 값이 1 에

가까울수록 X 는 Y에 많은 영향을 주게 된다.

(2) 보통 최소 지지도 값 이상의 연관규칙들 중에서 큰 신뢰도 값을 갖는 규칙들이 의미 있는

것으로 최종 판정된다.

(3) 규칙 (X → Y)와 (Y → X)의 지지도 값은 같지만 신뢰도 값은 같지 않다. 따라서 신뢰도는 두

아이템 X와 Y사이의 인과관계를 확인할 수 있다.

Page 10: Association Rule Mining - cju.ac.krdelab.cju.ac.kr/lecture/datamining/arm.pdf · 2016-10-04 · Data Mining: 2016-2 Association Rule Mining . 1 . Association Rule Mining . 1. What

Data Mining: 2016-2

Association Rule Mining

10

[Lift (향상도)]

)(support)(support)(support

)()()(

)()|(

)(support)(confidence)(lift

YXYX

YPXPYXP

YPXYP

YYXYX →

===→

=→

∞≤→≤ )( 0 YXlift

(1) X 와 Y 의 향상도는 X 와 Y 의 신뢰도를 Y 의 지지도로 나눈 값이다. 최종적으로 X 와 Y 의

지지도를 X와 Y, 각각의 지지도로 나눈 값이다.

(2) 이 값은 확률이 아니고 이론적으로 0 에서 무한대(∞) 사이의 값을 갖는다. 향상도 값에 따른

X와 Y의 관계는 다음과 같다.

lift(X → Y) =

⎩⎪⎨

⎪⎧> 1 𝑋𝑋 𝑎𝑎𝑎𝑎𝑎𝑎 𝑌𝑌 𝑎𝑎𝑎𝑎𝑎𝑎 𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑎𝑎𝑐𝑐𝑎𝑎𝑎𝑎𝑐𝑐𝑎𝑎𝑎𝑎𝑐𝑐 (상호보완)

1 𝑋𝑋 𝑎𝑎𝑎𝑎𝑎𝑎 𝑌𝑌 𝑎𝑎𝑎𝑎𝑎𝑎 𝑖𝑖𝑎𝑎𝑎𝑎𝑎𝑎𝑐𝑐𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑐𝑐 (독립)

< 1 𝑋𝑋 𝑎𝑎𝑎𝑎𝑎𝑎 𝑌𝑌 𝑎𝑎𝑎𝑎𝑎𝑎 𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑐𝑐𝑖𝑖𝑐𝑐𝑠𝑠𝑐𝑐𝑖𝑖𝑠𝑠𝑎𝑎 (상호 대체)

(3) 위 식에서 만약 향상도 값이 1이 되면 X와 Y는 서로 독립(independent)이 된다.

lift(X → Y) =𝑃𝑃(𝑋𝑋⋂𝑌𝑌)𝑃𝑃(𝑋𝑋)𝑃𝑃(𝑌𝑌)

= 1 , 𝑃𝑃(𝑋𝑋 ∩ 𝑌𝑌) = 𝑃𝑃(𝑋𝑋)𝑃𝑃(𝑌𝑌)

즉, X와 Y는 서로 전혀 영향을 미치지 않는다는 것을 알 수 있다.

(4) 만약 향상도 값이 1 보다 크면 X 와 Y 는 서로 보완(complementary) 관계에 있게 된다. 즉,

X 가 증가(감소)함에 따라 Y 도 함께 증가(감소)한다. 반면에 X 와 Y 의 향상도가 1 보다 작게 되면

상호 대체(substitutive) 관계가 있게 된다. 즉 X 가 증가(감소)함에 따라 Y는 감소(증가)하게 된다.

Page 11: Association Rule Mining - cju.ac.krdelab.cju.ac.kr/lecture/datamining/arm.pdf · 2016-10-04 · Data Mining: 2016-2 Association Rule Mining . 1 . Association Rule Mining . 1. What

Data Mining: 2016-2

Association Rule Mining

11

[Example]

검색된 특허데이터에 포함된 IPC 코드분석

기술분석을 위한 ARM 적용을 위한 4개의 IPC 코드로 이루어진 아이템 집합

I={G10D, F06B, H04C, B07D}

이와 함께 트랜잭션 데이터 집합은 다음과 같다고 할 때 지지도, 신뢰도, 그리고 향상도를

이용하여 여러 가지 연관규칙을 얻을 수 있다.

특허번호 포함된 IPC코드

US09998219 G10D, F06B

US12472680 F06B, H04C

US08918106

US12719217

US12157562

B07D

G10D, F06B, H04C

F06B, H04C

(1) 규칙 (F06B→H04C)에 대한 지지도

support(F06B→H04C)=P(F06B∩H04C)=3/5=0.6

규칙 (F06B→H04C)은 전체 트랜잭션의 60%에 해당한다. 즉, 전체 기술개발에서 F06B 와 H04C

기술이 동시에 개발되는 비율이 60%임을 알 수 있다.

(2) 규칙 (F06B→H04C)에 대한 신뢰도

75.0)5/4/()5/3()06(

)0406()0406(

==

=→BFP

CHBFPCHBFC

(10)

규칙에 대한 신뢰도가 0.75 이기 때문에 F06B 기술은 H04C 기술개발을 위한 하나의

선행기술로서 중요한 역할을 하고 있음을 알 수 있다. 왜냐하면 규칙 (F06B→H04C)의 신뢰도는

F06B 기술이 개발된 후에 H04C 기술이 개발될 확률을 나타내기 때문이다.

(3) 규칙 (F06B→H04C)에 대한 지지도는 0.6이고 신뢰도는 0.75

(4) 사전에 정한 지지도와 신뢰도에 대한 최소 임계값을 각각 0.1 과 0.5 로 정하였다면 이 규칙은

의미 있는 규칙으로 선정된다.

물론 사전에 정한 최소 지지도와 신뢰도 값이 0.6 과 0.75 보다 큰 값이었다면 이 규칙은 의미

있는 규칙으로 선정되지 못한다.

Page 12: Association Rule Mining - cju.ac.krdelab.cju.ac.kr/lecture/datamining/arm.pdf · 2016-10-04 · Data Mining: 2016-2 Association Rule Mining . 1 . Association Rule Mining . 1. What

Data Mining: 2016-2

Association Rule Mining

12

(5) 지지도와 신뢰도에 대한 최소 임계값을 어떻게 결정하느냐에 따라 최종적으로 선정되는

규칙들은 달라질 것이다. 그러므로, 최소 지지도와 신뢰도에 대한 결정은 사전에 해당 기술분야의

전문가와 충분한 사전조사를 통해 결정해야 한다.

(6) 규칙 (F06B→H04C)에 대한 향상도

25.1)5/3(*)5/4(

5/3)04()06()0406()0406(

==

=→CHPBFPCHBFPCHBFL

(6)

- 두 기술 F06B 와 H04C 의 향상도가 1.25 이기 때문에 F06B 와 H04C 기술은 서로 의존하면서

개발되는 기술임을 알 수 있다.

- 만약 이 값이 1이었다면 두 기술은 서로 아무런 의존성이 없음을 나타낸다.

- 이 값이 1 보다 작을 경우에는 F06B 와 H04C 기술 중에서 하나만 개발해야 한다. 왜냐하면 두

기술 간에는 서로 대체관계가 있기 때문이다.

(7) 이와 같이 지지도와 신뢰도 그리고 향상도를 이용하여 기술들 간의 연관성을 찾아낼 수 있고

이를 이용하여 R&D 관리를 위한 특허(기술)분석이 이루어 질 수 있다.

Page 13: Association Rule Mining - cju.ac.krdelab.cju.ac.kr/lecture/datamining/arm.pdf · 2016-10-04 · Data Mining: 2016-2 Association Rule Mining . 1 . Association Rule Mining . 1. What

Data Mining: 2016-2

Association Rule Mining

13

3. Case Study

(1) 데이터 수집 (from KIPRIS, USPTO, or WIPSON)

Database Theory and Application (DTA) 기술

검색식

Title = databases * (multimedia + spatial + active + biomedical + classification + ranking +

clustering + mining + visualization + integration + management + ubiquitous + mobile +

extraction + modeling + provenance + quality + security + privacy + streaming + heterogeneous

+ warehousing + OLAP + parallel + distributed + query + processing + reliability + semantic +

metadata + analysis + temporal + services)

~ July 11, 2011 (3983 건)

(2) Top ten items (IPC codes)

Page 14: Association Rule Mining - cju.ac.krdelab.cju.ac.kr/lecture/datamining/arm.pdf · 2016-10-04 · Data Mining: 2016-2 Association Rule Mining . 1 . Association Rule Mining . 1. What

Data Mining: 2016-2

Association Rule Mining

14

(3) Top ten IPC codes and their technological explanations

Top ten IPC codes Code technologies

1. G06F Electric digital data processing

2. H04L Transmission of digital information, telegraphic communication

3. H04M

4. H04Q

5. G06Q

6. G01C

7. G06K

8. G01N

9. H04N

10. G06N

Telephonic communication

Selecting

Data processing systems or methods

Measuring distances, levels or bearings, surveying, navigation

Recognition and presentation of data, record carriers

Investigating or analyzing materials

Pictorial communication, e.g. television

Computer systems based on specific computational models

(4) The distribution of IPC codes by support, confidence, and lift

(5) Top three rules generated by support measure

X→Y Rank Support Confidenc

e Lift

H04L→G06F G06F→H04L 1 0.2184

0.8182

0.2830 1.0600

G01C→G06F

G06F→G01C 2 0.0777

0.8421

0.1006 1.0910

G06Q→G06F

G06F→G06Q 3 0.0777

0.6957

0.1006 0.9013

Page 15: Association Rule Mining - cju.ac.krdelab.cju.ac.kr/lecture/datamining/arm.pdf · 2016-10-04 · Data Mining: 2016-2 Association Rule Mining . 1 . Association Rule Mining . 1. What

Data Mining: 2016-2

Association Rule Mining

15

(6) Top three rules generated by confidence

X→Y Rank Confidence Support Lift

A61N→A61B 1 1 0.0049 34.3333

G08G→G06F 2 1 0.0049 1.2956

G02C→A61B 3 1 0.0049 34.3333

(7) Top ranked rules by lift

Measure values Generated rules

Lift=206

Support=0.0049

Confidence=1

G11C→G11B {G01C, G01S}→B60K {G01C, H04Q}→B60K {G01R, H01L}→H03K

{G01C, G01S, H04Q}→B60K {G01R, G06F, H01L}→H03K

(8) The association map for vacant technology forecasting of DTA

Page 16: Association Rule Mining - cju.ac.krdelab.cju.ac.kr/lecture/datamining/arm.pdf · 2016-10-04 · Data Mining: 2016-2 Association Rule Mining . 1 . Association Rule Mining . 1. What

Data Mining: 2016-2

Association Rule Mining

16

(9) Final selected rules for vacant technology forecasting of DTA

Generated rules IPC technologies

G11C→G11B {G01C, G01S}→B60K {G01C, H04Q}→B60K {G01R, H01L}→H03K

{G01R, G06F, H01L}→H03K

G11C – Static stores

G11B – Information storage based on relative movement

between record carrier and transducer

G01C – Measuring distances, levels or bearings, surveying,

navigation

G01S – Radio direction-finding; Radio navigation …

B60K – Arrangement or mounting of propulsion units or of

transmissions in vehicles

H04Q – Selecting

G01R – Measuring electric variables; measuring magnetic

variables

H01L – Semiconductor devices; Electric solid state device

not otherwise provided for

H03K – Pulse techniques

G06F – Electric digital data processing

> library(arules) # 연관성분석을 위한 라이브러리

(note) IPC code 가 최소한 2개 이상 있는 특허들로 구성된 데이터 넷을 만들려면 Len( ) 함수를

이용하여 1개의 code만 가지고 있는 특허문서는 제거해야 한다.

[다음과 같은 item 파일을 불러오기]

G06F,G06T,G06Q

H04Q,H04L,G06F

G06F,G06T

G06F,G06T

G06K,G06F

G06F,G06K,H04K,H04L

G06F,G06T

G06F,H05K

G07C,F16T

> tr=read.transactions("c:/data/dta/ipc_input_notdup1.txt", format = "basket", sep=",")

> tr

transactions in sparse format with

206 transactions (rows) and

46 items (columns)

> itemFrequencyPlot(tr, support=0.1, cex.names=0.8) # support가 0.1 이상인 것 출력

Page 17: Association Rule Mining - cju.ac.krdelab.cju.ac.kr/lecture/datamining/arm.pdf · 2016-10-04 · Data Mining: 2016-2 Association Rule Mining . 1 . Association Rule Mining . 1. What

Data Mining: 2016-2

Association Rule Mining

17

> itemFrequencyPlot(tr, topN=10, cex.names=0.8) # support에 의해 상위 10개의 item 출력

item

freq

uenc

y (re

lativ

e)

0.0

0.2

0.4

0.6

G06F

G06Q

H04LH04M

H04Q

item

freq

uenc

y (re

lativ

e)

0.0

0.2

0.4

0.6

G06F

H04L

H04M

H04Q

G06Q

G01C

G06K

G01N

H04N

G06N

Page 18: Association Rule Mining - cju.ac.krdelab.cju.ac.kr/lecture/datamining/arm.pdf · 2016-10-04 · Data Mining: 2016-2 Association Rule Mining . 1 . Association Rule Mining . 1. What

Data Mining: 2016-2

Association Rule Mining

18

> rules=apriori(tr, parameter = list(support = 0.001, confidence = 0.1))

parameter specification:

confidence minval smax arem aval originalSupport support minlen maxlen target ext

0.1 0.1 1 none FALSE TRUE 0.001 1 10 rules FALSE

algorithmic control:

filter tree heap memopt load sort verbose

0.1 TRUE TRUE FALSE TRUE 2 TRUE

Warning in apriori(tr, parameter = list(support = 0.001, confidence = 0.1)) :

You chose a very low absolute support count of 0. You might run out of memory! Increase

minimum support.

apriori - find association rules with the apriori algorithm

version 4.21 (2004.05.09) (c) 1996-2004 Christian Borgelt

set item appearances ...[0 item(s)] done [0.00s].

set transactions ...[46 item(s), 206 transaction(s)] done [0.00s].

sorting and recoding items ... [46 item(s)] done [0.00s].

creating transaction tree ... done [0.00s].

checking subsets of size 1 2 3 4 5 done [0.00s].

writing ... [253 rule(s)] done [0.00s].

creating S4 object ... done [0.00s].

> rules

set of 253 rules

> inspect(head(sort(rules, by = "support"), 15)) # support 기준 상위 3개

lhs rhs support confidence lift

1 {} => {G06F} 0.77184466 0.7718447 1.0000000

2 {} => {H04L} 0.26699029 0.2669903 1.0000000

3 {H04L} => {G06F} 0.21844660 0.8181818 1.0600343

4 {G06F} => {H04L} 0.21844660 0.2830189 1.0600343

5 {} => {H04M} 0.13592233 0.1359223 1.0000000

6 {} => {H04Q} 0.12135922 0.1213592 1.0000000

7 {} => {G06Q} 0.11165049 0.1116505 1.0000000

8 {G01C} => {G06F} 0.07766990 0.8421053 1.0910295

9 {G06F} => {G01C} 0.07766990 0.1006289 1.0910295

10 {G06Q} => {G06F} 0.07766990 0.6956522 0.9012852

Page 19: Association Rule Mining - cju.ac.krdelab.cju.ac.kr/lecture/datamining/arm.pdf · 2016-10-04 · Data Mining: 2016-2 Association Rule Mining . 1 . Association Rule Mining . 1. What

Data Mining: 2016-2

Association Rule Mining

19

11 {G06F} => {G06Q} 0.07766990 0.1006289 0.9012852

12 {G06K} => {G06F} 0.07281553 0.8333333 1.0796646

13 {G01N} => {G06F} 0.06310680 1.0000000 1.2955975

14 {H04Q} => {H04M} 0.06310680 0.5200000 3.8257143

15 {H04M} => {H04Q} 0.06310680 0.4642857 3.8257143

> inspect(head(sort(rules, by = "confidence"), 15)) # confidence 기준 상위 3개

lhs rhs support confidence lift

1 {A61N} => {A61B} 0.004854369 1 34.333333

2 {G08G} => {G06F} 0.004854369 1 1.295597

3 {G02C} => {A61B} 0.004854369 1 34.333333

4 {G11C} => {G11B} 0.004854369 1 206.000000

5 {G11B} => {G11C} 0.004854369 1 206.000000

6 {G10H} => {G06F} 0.004854369 1 1.295597

7 {B41J} => {G06F} 0.004854369 1 1.295597

8 {G08B} => {G06F} 0.004854369 1 1.295597

9 {A45T} => {G06F} 0.004854369 1 1.295597

10 {G08C} => {H04L} 0.004854369 1 3.745455

11 {H04H} => {H04N} 0.004854369 1 17.166667

12 {H04H} => {G06F} 0.004854369 1 1.295597

13 {B01D} => {G01N} 0.004854369 1 15.846154

14 {B01D} => {G06F} 0.004854369 1 1.295597

15 {E05B} => {G06K} 0.004854369 1 11.444444

> inspect(head(sort(rules, by = "lift"), 10)) # lift=206 인 모든 규칙들

lhs rhs support confidence lift

1 {G11C} => {G11B} 0.004854369 1.0 206

2 {G11B} => {G11C} 0.004854369 1.0 206

3 {G01C,

G01S} => {B60K} 0.004854369 1.0 206

4 {G01C,

H04Q} => {B60K} 0.004854369 1.0 206

5 {G01R,

H01L} => {H03K} 0.004854369 1.0 206

6 {G01C,

G01S,

H04Q} => {B60K} 0.004854369 1.0 206

7 {G01R,

G06F,

Page 20: Association Rule Mining - cju.ac.krdelab.cju.ac.kr/lecture/datamining/arm.pdf · 2016-10-04 · Data Mining: 2016-2 Association Rule Mining . 1 . Association Rule Mining . 1. What

Data Mining: 2016-2

Association Rule Mining

20

H01L} => {H03K} 0.004854369 1.0 206

8 {H03K} => {G01R} 0.004854369 1.0 103

9 {G01R} => {H03K} 0.004854369 0.5 103

10 {H01L,

H03K} => {G01R} 0.004854369 1.0 103

> subrules2 <- head(sort(rules, by = "lift"), 50)

> plot(subrules2, method = "graph", control=list(type="items")

Page 21: Association Rule Mining - cju.ac.krdelab.cju.ac.kr/lecture/datamining/arm.pdf · 2016-10-04 · Data Mining: 2016-2 Association Rule Mining . 1 . Association Rule Mining . 1. What

Data Mining: 2016-2

Association Rule Mining

21

References

전성해, 박상성, 장동식, (2014) 특허분석과 기술예측, 교우사

Han, J., Kamber, M., and Pei, J. (2012), Data Mining: Concepts and Techniques, Third Edition,

Morgan Kaufmann.

S. Jun (2011) “IPC code Analysis of Patent Documents Using Association Rules and Maps - Patent

Analysis of Database Technology,” Communications in Computer and Information Science, Vol. 258,

pp. 21-30.