데이터마이닝 15강 — 연관성 분석 R 코드 정리
안녕하세요! 이번 포스팅에서는 연관성 분석 R 함수와 시각화 함수를 정리해보겠습니다.
데이터마이닝에서 장바구니 분석(Market Basket Analysis)을 수행할 때 많이 사용하는 R 함수들과 그 활용법, 예제를 쉽게 정리해드릴게요.
1. 연관성 분석 관련 R 함수
str() 함수
R 객체의 내부 구조를 출력
1
|
str(x)
|
cs |
-
x
: 구조를 확인할 데이터
read.transactions() 함수
거래 데이터를 transactions 형식으로 읽어들이는 함수
함수 구조
1
|
read.transactions(file, format = c(“basket”, “single”), sep = NULL, cols = NULL)
|
cs |
-
file
: 데이터 파일명 -
format
: “basket”(한 줄에 거래) / “single”(각 줄이 거래-품목) -
sep
: 구분자 -
cols
: 거래와 항목 열 번호
거래 데이터 형식
형식 | 설명 | 예시 |
---|---|---|
"basket" |
한 줄에 하나의 거래, 거래 안에 품목들이 쉼표(또는 구분자)로 나열 | 우유,빵,계란 |
"single" |
한 줄에 하나의 거래-품목 쌍 (거래ID와 품목명) | 1 우유 1 빵 1 계란 |
apriori() 함수
Apriori 알고리즘으로 연관규칙 생성
함수 구조
1
|
apriori(data, parameter = NULL, appearance = NULL, control = NULL)
|
cs |
-
data
: 거래 데이터 (transactions 객체)
inspect() 함수
연관규칙이나 거래 데이터를 화면에 출력
함수 구조
1
|
inspect(x)
|
cs |
-
x
: 거래 데이터 또는 연관규칙
규칙의 lhs(왼쪽), rhs(오른쪽), support, confidence, lift 값을 함께 보여줌
lhs (왼쪽) : 조건, 원인, 선행 품목
rhs (오른쪽) : 결과, 함께 팔리는 품목, 결과 품목
2. 연관성 분석 시각화 함수
arulesViz 패키지를 활용해 시각화
plot() 함수
함수 구조
1
|
plot(x, method = c(“grouped”, “graph”, “paracoord”))
|
cs |
-
x
: 연관규칙 -
method
:-
“grouped” : 원의 크기로 지지도, 색으로 향상도
-
“graph” : 품목 간 연결 그래프
-
“paracoord” : 병렬 좌표 그래프
-
- 원 크기 : 지지도
- 색상 : 향상도
- 노드와 엣지로 규칙과 품목의 관계 시각화
- 규칙의 품목 순서를 선으로 연결
- 규칙의 연결 패턴 확인 가능
중요 내용 정리
-
str() : 데이터 구조 확인
-
read.transactions() : 거래 데이터 읽기
-
apriori() : 연관규칙 도출
-
inspect() : 결과 출력
-
plot() : 연관규칙 시각화
-
arules, arulesViz 패키지 활용
객관식 문제
1. 거래 데이터를 transactions 형식으로 불러오는 함수는?
① str()
② read.transactions()
③ apriori()
④ inspect()
정답: ②
해설: read.transactions() 함수는 거래 데이터를 읽어 transactions 객체로 변환합니다.
2. Apriori 알고리즘으로 연관규칙을 도출하는 함수는?
① inspect()
② plot()
③ apriori()
④ str()
정답: ③
해설: apriori() 함수는 apriori 알고리즘을 이용해 연관규칙을 생성합니다.
3. arulesViz 패키지의 plot() 함수에서 grouped 방식의 시각화에서 원의 크기가 의미하는 것은?
① 신뢰도
② 향상도
③ 지지율
④ 거래 수
정답: ③
해설: grouped 방식에서는 원의 크기가 지지율, 색의 진하기가 향상도를 의미합니다.