R:연관성분석

학교의 모든 지식. SMwiki
둘러보기로 이동 검색으로 이동

R언어 공부를 위한 틀 틀:R

  1. R:개요
    1. R:코딩팁
    2. R:연산자
  2. R:객체
    1. R:자료형
    2. R:자료구조
  3. R:함수
    1. R:자주사용하는 함수
      1. R:aplly계열(반복문, 중복작업)
  4. R:제어문
    1. R:조건문
    2. R:반복문
  5. R:자료조작
    1. R:데이터프레임
    2. R:행렬
  6. R:데이터 저장과 불러오기
    1. R:데이터베이스
    2. R:특정조건 추출하기
  7. R:패키지
    1. R:magrittr(파이프연산자)
    2. R:dplyr(데이터프레임 조작)
    3. R:ggplot2(그래프그리기)
    4. R:KoNLP(한글 텍스트마이닝), wordcloud2(워드클라우드)
    5. R:ddply(데이터 집계, 조작)
    6. R:tidyverse(데이터를 정제하는 패키지들의 집합)
    7. R:jsonlite(JSON 파일 다루기)
    8. R:pbapply(apply계열에 진행바를 보여준다.)
  8. R:활용
    1. R:데이터 접근
    2. R:연관성분석
    3. R:분류분석
  9. R:팁
    1. 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 이상인 연관식만 도출한다.