데이터 마이닝의 특별한 기법 데이터 마이닝 연구실 윤언근
목 차 시계열 분석 웹 마이닝 텍스트 마이닝 성능향상
시계열 분석 – 시간 차원의 요소를 가진 데이터를 분석. – 수치 결과 값들의 예측. 주식의 미래 가격 또는 마감가격 예측 – 시계열 분석에 적합한 예 고객이 신용카드 거래 중단 할 것인지 예측하기 위 해 고객의 구매 행위를 시간에 따라 추적. 자동차 엔진이 고장 날 것인지 예측 시계열 분석 (Time-Series Analysis)
Week Nasdaq-1 Av. Close Nasdaq-2 Av. Close Nasdaq Av. Close Dow-1 Av. Close Dow-2 Av. Close Dow Av. Close CRRRRRR UIIOUUU 표 1 ] 나스닥과 다우존스 산업 평균에 대한 주간 종가 ( 평균 마감 가격 ) 선형 회귀 분석 (Linear Regression)
시계열 분석 (Time-Series Analysis) 표 2 ] week 3– 49 까지의 선형 회귀 방정식 NasdaqAverage = 1.279(Nasdaq-1 Average)-0.330(Nasdaq-2 Average) Dow Average = 0.932(Dow-1 Average)-0.303(Dow-2Average) Nasdaq 회귀 분석 도표 Dow 회귀 분석 도표 #N/A Week Nasdaq-1 Av. Close Nasdaq-2 Av. Close Nasdaq Av. Close Dow-1 Av. Close Dow-2 Av. Close Dow Av. Close 실제 마감 값 예측 마감 값 ? ? 표 3 ] 선형 회귀 방정식을 이용한 실제 마감 값과 예측 마감 값 비교 1.279( ) – 0.33( ) = 실제 값 와 92 포인트 차이 0.932( )-0.33( ) = 실제 값 와 13 포인트 차이 #N/A Nasdaq-2 Average Nasdaq-1 Average Dow-2 Average Dow-1 Average
시계열 분석 (Time-Series Analysis) 미래 5 주간 (45 – 49 주 ) 나스닥과 다우의 평균 마감 가격 예측 #N/A #N/A Nasdaq Average Close Dow Average Close WeekActualPredictedErrorActualPredictedError Dow Average = (Dow-1 Average)-0.313(Dow-2 Average) Nasdaq Average = 1.214(Nasdaq-1 Average)-0.330(Nasdaq-2 Average) 표 5 ] week 45 – 49 까지의 나스닥과 다우의 실제 마감 가격과 예측된 종가 표 4 ] week 3– 44 까지의 선형 회귀 방정식 1.214( ) – 0.330( ) = Nasdaq-2 Average Dow-2 Average Dow-1 Average
시계열 분석 (Time-Series Analysis) 범주형 어트리뷰트 예측 표 6] 평균 주가 종가 / 범주형 출력 값 Week Nasdaq-1 Av. Close Nasdaq-2 Av. Close Nasdaq Av. Close Dow-1 Av. Close Dow-2 Av. Close Dow Av. Close Nasdaq Gain/ Loss Dow Gain/ Loss CRRRRRR UIIOUUU GainLoss Loss Gain GainLoss GainLoss GainLoss Gain GainLoss LossGain LossGain 1.5% 이하의 이익 2.5 – 10% 이익 3.10% 이상의 이익
시계열 분석 (Time-Series Analysis) 범주형 어트리뷰트 예측 –Supervised running rules Rules for Class Loss 3 instances ******************************* <= Nasdaq2 <= :rule accuracy % :rule coverage 66.67% **Total Percent Coverage = 66.67% Rules for Class Gain 7 instances ******************************* <= Nasdaq1 <= :rule accuracy 77.78% :rule coverage % <= Nasdaq2 <= :rule accuracy 87.50% :rule coverage % <= Nasdaq <= :rule accuracy 77.78% :rule coverage % <= Nasdaq2 <= and <= Nasdaq <= :rule accuracy % :rule coverage % <= Nasdaq2 <= and <= Nasdaq1 <= :rule accuracy 87.50% :rule coverage % <= Nasdaq <= and <= Nasdaq1 <= :rule accuracy 87.50% :rule coverage % <= Nasdaq2 <= and <= Nasdaq <= and <= Nasdaq1 <= :rule accuracy % :rule coverage % **Total Percent Coverage = % Week Nasdaq-1 Av. Close Nasdaq-2 Av. Close Nasdaq Av. Close Nasdaq Gain/ Loss CRRRC UIIIO Gain Loss Gain Gain Gain Gain Gain Gain Loss Loss
Web Mining 웹사이트에서의 데이터 마이닝 사용 – 웹사이트를 평가하여 웹 디자이너의 의도와 고객의 요구사항 일치 여부 판단. – 상품과 페이지들을 고객에 맞게 개별화 – 고객의 변화하는 요구를 더 효율적으로 조정
웹 모델 웹서버 로그 데이터 전처리 세션 파일 데이터 마이닝 알고리즘 학습자 모델 호스트 주소, 시간, 상태, 크기등의 정보가 저장 데이터 전처리 과정은 웹 서버 로그파일들로부터 데이터 마이닝에 필요한 클릭 스트림 시퀀스 정보의 파일 생성 세션파일 레코드 ( 한 사용자의 세션 인스턴스 ) 페이지뷰는 페이지파일들로 구성 사용자세션.... N 개의 레코드 레코드 ( 한 사용자의 세션 인스턴스 ) 사용자세션 페이지뷰는 페이지파일들로 구성 연관 규칙 생성기, 클러 스터링 방법이 사용
세션 파일 생성의 어려움 첫 번째 – 로그 파일에 기록된 여러 사용자들 목록에서 각각의 사용자 구분해 낼수 있어야 함 – 호스트 주소를 가지고 서로 다른 사용자라고 구분하는 것은 별로 도움이 안됨. – 쿠키를 이용하면 사용자들을 정확하게 구분할 수 있지만 쿠키 설치 권한 주는 것을 꺼려함 두 번재 – 사용자의 페이지 요청 하나가 여러 종류의 서버로부터의 다중 로그 파일 항목을 만들 때가 있다는 것. 세 번째 – 세션 레코드에 새로운 변수를 추가하는 것과 같은 데이터 변환이 필요할 수도 있음.
데이터 마이닝 결과 해석과 평가 연관 규칙 기법 –EX) 4 개의 인스턴스 – 규칙 생성 I1 : P5->P4->P10->P3->P15->P2->P1 I2 : P2->P4->P10->P8->P15->P4->P15->P1 I3 : P4->P3->P7->P11->P14->P8->P2->P10 I4 : P1->P3->P10->P11->P4->P15->P9 IF ->P4 & P10 THEN P15{3/4} P4, P10 을 방문한 사용자가 P15 도 방문할 확률이 75% 인 것을 확신. - 첫 번째 가능성 : 3 개의 페이지뷰 사이에 직접 링크가 없다면 링크 추가 - 두 번째 가능성 : 조건부 시스템의 사용자 행동과 일치한다면 이 사용자에게 P15 페이지뷰를 추천해 줄 수 있도록 목록작성
데이터 마이닝 결과 해석과 평가 병합 클러스터링 – 인스턴스 유사도 각 인스턴스의 짝이 공통으로 가지는 페이지뷰 수 / 인스턴스 내에 포함된 페 이지뷰의 수 P1, P2, P3, P4, P5, P8, P10, P15 의 8 개의 페이지뷰 중에 I1, I2 는 P1, P2, P4, P10, P15 다섯개를 공유함으로 I1, 12 의 유사도는 I1 : P5->P4->P10->P3->P15->P2->P1 I2 : P2->P4->P10->P8->P15->P4->P15->P1
웹사이트 평가를 위한 데이터 마이닝 웹사이트 평가는 설계자의 의도대로 실제 사용되고 있는지를 알아보 기 위한 것이다. 데이터 마이닝은 사용자 집단의 방문 경로와 자주 발생하는 패턴들을 알아내는 것과 같은 곳에 사용 될 수 있음. 참고 ) 순차 마이너 : 웹 사이트 평가를 위해 같은 순서로 발생하는 빈발 페이지 알아내기 위해 사용
개별화를 위한 데이터 마이닝 개별화의 목적은 웹 사용자들에게 직접 묻지 않고도 그들 의 관심 분야를 알아내는 것. 개별화 구현 방법 – 수동화 단점 : 사용자마다 성향과 배경이 다르기 때문에 정확한 조사 불가능. – 자동화 장점 : 실제 사용자의 행위를 가지고 사용자 반응 주관성에 이용가능.
개별화를 위한 데이터 마이닝 개별화를 자동화하기 위한 단계 –Mobasher 의 WebPersonalizer 에서 사용된 기법 연관규칙 ( 직접적으로 사용 프로파일 생성 ) 클러스터 – 최소 점수를 만족하는 페이지뷰들만이 사용 프로파일 구성에 사용 – 각 페이지 뷰의 가중치값을 이용하여 사용자에게 제공될 후보 페이지뷰로 채택 가능 –( 이가중치는 개별 사용자들에게 페이지뷰 추천 점수를 계산하는데 사용 ) 세션 데이터 데이터마이닝 알고리즘 사용 프로파일 클러스터 모든 세션 인스턴스들에 걸쳐서 한 클러스터에 나타나는 한 페이지뷰의 전체 횟수를 그 클러스터안에 있는 세션 인스턴스들의 전체 숫자로 나눈 비율
개별화를 위한 데이터 마이닝 Ex] 최소 점수 계산 1, 2, 1 클러스터 1 페이지뷰 1 의 최소 점수 = 3/2 = 1.5 페이지뷰 2 의 최소 점수 = 2/2 = 1 페이지뷰 3 의 최소 점수 = ½ = 0.5 1,3 세션 인스턴스 1, 2 1, 2, 1 페이지뷰 2, 1, 3,5 5, ….1,4… 1, 2, 1 2, 1, 3,5 모든 세션 인스턴스들에 걸쳐서 한 클러스터에 나타나는 한 페이지뷰의 전체 횟수 / 그 클러스터안에 있는 세션 인스턴스들의 전체 숫자
적응형 웹사이트 위한 데이터 마이닝 적응형 웹사이트 – 요구사항 변경시 필요한 작업을 수작업으로 처리해도 되겠지만 데이터 마이닝을 사용하여 그 과정을 처리하는 방법 – 웹사이트에 구성 단계 – 웹사이트 내부 구조 인덱스 페이지들의 집합 – 인덱스 페이지는 특정 주제에 대한 페이지 집합으로 링크를 가지는 웹 페이지 웹 사이트 설계요구사항 변경 새로운 패턴 생성 웹사이트 구조 변경
텍스트 데이터 마이닝 텍스트 마이닝 – 자유로운 형태의 텍스트로부터 유용한 패턴추출 – 텍스트 데이터는 구조화되지 않아 불가능할 것처럼 보이지만 텍스 트 마이닝은 데이터를 분류만 하고자하는 것. – 텍스트 데이터 마이닝을 사용하여 해결할 수 있는 문제로는 어느 문서가 특정 주제에 대한 것인지를 판단하는 것을 들 수 있다.
텍스트 데이터 마이닝 Ex) 주식 시장을 다루고 있는 여러 신문들의 일간 기 사를 살펴보기를 원할 수 있다. – 문제에 적용 될 수 있는 텍스트 마이닝 알고리즘 1. Train Attribute dictionary 생성 2. Filter 사용 3. Classify 사용 전망 – 정보 공유를 위한 우리들의 가장 일반적인 형식이므로 우리 사회에서 지속적으로 중요한 역할. –World Wide Web 의 확장으로 인하여 전망은 무궁무진할 것 임.
성능 향상 Bagging –Leo Breiman 에 의해 개발된 supervised 학습 방법 – 인스턴스를 분류할 때 여러 개의 모델을 투표하여 결정 –Bagging 알고리즘 1. training 데이터 집합 생성 2. 각 training 데이터 집합의 각 분류 모델 생성 3. 투표를 실시 A 인스턴스 B 인스턴스 C 인스턴스 D 인스턴스 E 인스턴스 A 인스턴스 B 인스턴스 A 인스턴스 D 인스턴스 B 인스턴스 C 인스턴스 D 인스턴스 C 인스턴스 B 인스턴스 C 인스턴스 D 인스턴스 샘플링하여 추출 1 training 집합 2 training 집합 3 training 집합 1 training 집합의 분류모델 2 training 집합의 분류모델 3 training 집합의 분류모델 A 인스턴스 1 class 2 class 3 class Training 인스턴스
성능 향상 Boosting –Boosting 도 Bagging 처럼 여러 개의 모델과 투표를 사 용하여 인스턴스 분류 –Boosting 과 Bagging 차이점 가중치 부여 – 모든 인스턴스는 같은 가중치로 시작하여 맨 마지막 모델에 의해서 정확 하게 분류된 인스턴스는 가중치 감소, 그렇지 않으면 증가 – 모델이 생성되면 training 데이터의 성능에 따라 모델의 가중치 정해짐
성능 향상 Boosting 분류 모델 문제점 – 가중치 있는 training 데이터 처리 못하는 문제 – 문제 해결 방법 1. 모든 training 데이터에 같은 가중치 부여 후 모델 생성 2. 잘못 분류된 인스턴스 가중치 증가, 정확하게 분류된 인스 턴스 가중치 감소. 3. 복원추출 방법으로 training 데이터 집합을 생성, 높은 가중 치를 가진 인스턴스를 자주 선택되게 한다. 4. 이 과정을 반복하면서 새로운 모델 생성
성능 향상 Typicality –Typicaltiy 는 그 클래스의 다른 멤버들에 대한 평균 유사도라고 정 의 프로토타입 이상치 – 데이터에서 비대표성 인스턴스를 제거함으로써 test 분류 정확도 가 크게 향상된다. – 일반적인 고려사항 전형성 점수를 계산하려면 하나의 인스턴스는 다른 모든 인스턴스와 비교하 여 보아야 한다. 전형성은 모델의 출력 값이 범주적 그리고 수치적인 경우에도 모두 적용 가능.
Bagging, Boosting, Typicality 실험 심장병 환자 데이터 전형적, 비전형적 훈련 데이터에 대한 테스트 집합 정확도 Decision TreeBaggingBoosting Most Typical76.57%76.89%76.56% Least Typical49.84%49.17%48.84% 분류 정확도 : Bagging, Boosting, Typicality Single ModelBaggingBoostingTypicality Decision Tree 82.83%86.47%88.45%85.81% Bayes Classifier 87.79%86.14%84.82%85.81%