R:연관성분석: 두 판 사이의 차이
(새 문서: {{R}} == 개요 == 데이터 간의 연관규칙을 찾는 기법. market basket analysis라고도 한다.(땅콩을 샀을 때 맥주를 살 확률 등 연관성을 분석한다.)...) |
잔글 (→개요) |
||
1번째 줄: | 1번째 줄: | ||
{{R}} | {{R}} | ||
== 개요 == | ==개요== | ||
데이터 간의 연관규칙을 찾는 기법. market basket analysis라고도 한다.(땅콩을 샀을 때 맥주를 살 확률 등 연관성을 분석한다.) | 데이터 간의 연관규칙을 찾는 기법. market basket analysis라고도 한다.(땅콩을 샀을 때 맥주를 살 확률 등 연관성을 분석한다.) | ||
8번째 줄: | 8번째 줄: | ||
연관성규칙은 조건과 결과로 구성한다. {조건} => {결과} 형태로. | 연관성규칙은 조건과 결과로 구성한다. {조건} => {결과} 형태로. | ||
=== 지표 === | ===지표=== | ||
3가지 지표로 연관성 규칙을 평가한다. | 3가지 지표로 연관성 규칙을 평가한다. | ||
{| class="wikitable" | {| class="wikitable" | ||
35번째 줄: | 35번째 줄: | ||
( 사과와 배 거래수 / (사과거래+배거래)) *전체거래 | ( 사과와 배 거래수 / (사과거래+배거래)) *전체거래 | ||
|} | |} | ||
== Apriori알고리즘 == | |||
요소가 조금만 많아져도 조합의 수가 엄청나게 많아진다. 때문에 필요없는 계산들을 걸러내야 한다. | |||
지지도가 낮은 관계들은 무시하고 결과를 얻어낸다. | |||
install.packages("arules") | |||
library(arules) | |||
하나의 거래내역을 트렌젝션이라고 하는데, 거래내역이 문자열이어야 한다. | |||
데이터셋2 = strsplit(데이터셋, ",") #쉼표를 기준으로 잘나낸다.(리스트화) | |||
데이터셋2 = as(데이터셋2, "transactions") #자료형 변환. | |||
데이터셋3 = apriori(데이터셋2, parameter = list(support=0.1, confidence=0.8)) #지지도는 0.1, 신뢰도는 0.8 이상인 연관식만 도출한다. | |||
<br /> | <br /> |
2020년 8월 24일 (월) 19:30 기준 최신판
R언어 공부를 위한 틀 틀:R
개요[편집 | 원본 편집]
데이터 간의 연관규칙을 찾는 기법. market basket analysis라고도 한다.(땅콩을 샀을 때 맥주를 살 확률 등 연관성을 분석한다.)
이를 통해 상품진열, 보험사기 적발, 홍보물 제작 등에 사용한다.
연관성규칙은 조건과 결과로 구성한다. {조건} => {결과} 형태로.
지표[편집 | 원본 편집]
3가지 지표로 연관성 규칙을 평가한다.
지표 | 설명 | 수식 |
---|---|---|
지지도. support. | 연관성규칙을 구성하는 항목들이 모두 포함되는 비율을 의미.
어떤 숫자가 좋다 하는 규칙은 없다. |
조건,결과항목포함거래 / 전체거래
(사과와 배를 포함한 거래수 / 전체과일 거래수) |
신뢰도. confidence. | 조건이 발생할 때 결과가 일어날 확률.
1이 될 수록 좋다. |
조건,결과항목포함거래 / 조건항목포함거래
(사과와 배를 포함한 거래수 / 사과 거래수) |
향상도. lift. | 우연적인 관계를 감안해 산출한다.(모든 항목에서 공통적으로 발생하는 항목이 있는 경우)
1이면 우연에 의한 관계라 본다. 1보다 클 수록 좋다. |
연관성규칙의지지도 / (조건의지지도*결과의지지도)
((사과+배 거래수/전체거래) / (사과/전체거래 * 배/전체거래)) ( 사과와 배 거래수 / (사과거래+배거래)) *전체거래 |
Apriori알고리즘[편집 | 원본 편집]
요소가 조금만 많아져도 조합의 수가 엄청나게 많아진다. 때문에 필요없는 계산들을 걸러내야 한다.
지지도가 낮은 관계들은 무시하고 결과를 얻어낸다.
install.packages("arules")
library(arules)
하나의 거래내역을 트렌젝션이라고 하는데, 거래내역이 문자열이어야 한다.
데이터셋2 = strsplit(데이터셋, ",") #쉼표를 기준으로 잘나낸다.(리스트화)
데이터셋2 = as(데이터셋2, "transactions") #자료형 변환.
데이터셋3 = apriori(데이터셋2, parameter = list(support=0.1, confidence=0.8)) #지지도는 0.1, 신뢰도는 0.8 이상인 연관식만 도출한다.