협력적 추천과 내용기반 추천을 결합하는 방식으로

많이 인용되는 FAB 추천 시스템에 대한 논문입니다.



by 에이아이 2009. 9. 24. 14:56

데이터명 : Weather
레코드수 : 14개
필드개수 : 5개

데이터설명 : 날씨에 따른 운동경기 여부를 기록한 데이터이다. 이 데이터를 분석하면 어떤 날씨에 운동을 하는가에 대한 결정 기준을 분석할 수 있다. 데이터마이닝의 분류 기법, 특히 ID3, C4.5, C5.0, CART, CHAID 등의 의사결정트리에 대한 기초 개념, 동작원리를 설명할 때 많이 사용되는 데이터이다. 레코드 개수도 많지 않고 데이터를 이해하는데 어렵지 않다. 처음 데이터마이닝 실습을 해볼 때 사용하면 좋은 데이터이다.

필드의 이해 :
데이터의 이해를 돕기 위해 포함된 5개의 변수에 대하여 간략하게 설명한다.  
위 4개의 필드는 입력 변수로 사용되고, 맨 아래의 Play 속성이 목표(종속) 변수로 사용된다.

 Outlook 조망(전반적 날씨) 정보이다. Sunny(맑은), Overcast(구름낀), Rainy(비오는) 의 3개의 값을 갖는다.
 Temperature 기온(온도) 정보이다. 데이터에서는 섭씨 온도로 표시되어 있다. 수치형 변수이며, 범주형으로 변환된 경우 hot, mild, cool 의 3개의 값으로 입력된다.
 Humidity 습도 정보이다.  수치형 변수이며, 범주형으로 변환된 경우 high, normal 2개의 값으로 입력된다.
 Windy 풍량 정보이다. TRUE(바람 붐), FALSE(바람 안붐)의 2개의 값 중 입력된다.  
 Play 운동경기 여부이다. TRUE(경기함), FALSE(경기안함)의 2개의 값 중 입력된다.


데이터 테이블

[1] 원본 데이터 형태 

 Outlook  temperature  humidity  windy  play
 sunny  85  85  FALSE   no 
 sunny  80  90   TRUE   no 
 overcast  83  86   FALSE   yes
 rainy  70  96  FALSE  yes 
 rainy  68  80  FALSE  yes
 rainy  65  70  TRUE  no
 overcast  64  65  TRUE  yes
 sunny  72  95   FALSE  no
 sunny  69  70  FALSE  yes
 rainy  75  80  FALSE  yes
 sunny  75  70  TRUE  yes
 overcast  72  90  TRUE  yes
 overcast  81  75  FALSE  yes
 rainy  71  91  TRUE  no


[2] 모든 필드가 범주형으로 변환된 형태

 Outlook  temperature  humidity  windy  play
 sunny  hot  high  FALSE   no 
 sunny  hot  high   TRUE   no 
 overcast  hot  high   FALSE   yes
 rainy  mild  high  FALSE  yes 
 rainy  cool  normal  FALSE  yes
 rainy  cool  normal  TRUE  no
 overcast  cool  normal  TRUE  yes
 sunny  mild  high   FALSE  no
 sunny  cool  normal  FALSE  yes
 rainy  mild  normal  FALSE  yes
 sunny  mild  normal  TRUE  yes
 overcast  mild  high  TRUE  yes
 overcast  hot  normal  FALSE  yes
 rainy  mild  high  TRUE  no


데이터파일

(1) CSV - 콤마로 구분된 텍스트 파일 형식 (클레멘타인 등 데이터마이닝 프로그램에서 입력 가능함) 

 CSV 형식의 데이터

 CSV 형식의 데이터 (모든 필드가 범주형 데이터)



(2) ARFF - WEAK 프로그램에서 입력받는 파일 형식

 원본 데이터의 Weka 입력 형식(arff 파일)

 모든 필드를 범주형으로 변환한 Weka 입력 형식 (arff 파일)


결정트리 분석 동영상

[1] WEKA 를 사용한 Weather 데이터의 결정트리 분석 수행




[2] Clementine 을 사용한 Weather 데이터의 결정트리 분석 수행




결정트리 분석 결과

[1] WEKA를 이용한 결정트리 분석

[2] Clementine 12.0 을 이용한 결정트리 분석




by 에이아이 2009. 9. 17. 11:53
  • 2009.12.24 21:01 ADDR EDIT/DEL REPLY

    비밀댓글입니다

  • kevin 2010.03.06 15:06 ADDR EDIT/DEL REPLY

    강좌가 정말 많은 도움이 되었습니다 ^0^;

    죄송하지만 질문 하나 드리려고 하는데.. 괜찮을까요??

    만약에

    이런 테이블이 있다고 치면..

    # temp humidity play
    -------------------------------------
    1 mile high yes
    2 mile high yes
    3 mile normal no
    4 mile high yes
    5 cool normal yes
    -------------------------------------

    만약에 1R 알고리즘과 leave-one-out cross-validation을 사용한다고 하면
    여기서 error rate 추정은 어떻게 하는건가요?
    그리고 혹시 각각 cross validation을 할때 5개의 모델에 대해서 각각 트리를 그릴수 있나요???

    • 에이아이 2010.03.07 23:12 신고 EDIT/DEL

      아~ 저도 Weka를 별로 사용하지 않는 편이라서, 질문에 대해서는 바로 답변을 드릴 수 없어 죄송하네요. 해보면 알것은 같은데 지금 여러 일들로 바쁜상황이라... 여유될 때 질문하신 내용에 대해서 글을 준비해 올려야겠습니다.^^ 도움을 못드려 죄송합니다~

출처: http://cafe.naver.com/mystat.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=6433

[출처] 매개효과 분석전 위계적 회귀분석을 해야하나요? (Edufam 통계,사회조사분석사,SPSS,AMOS,SAS 온라인강의/통계상담) |작성자 붉은바람

데이터에 매개효과가 존재하는지 어떻게 발견할 수 있을까? 출처의 글을 참고해보면 Sobel test 라는 분석 방법을 통해서 가능한 것 같다. 좀 더 자료를 찾아보고 공부해야하겠다.

Baron과 Kenny(1986)의 절차에 의하면, 매개효과가 있다는 것을 증명하기 위해서는 세 단계의 회귀분석을 실시해야 한다. 먼저 독립변인(예언변인)이 매개변인을 유의하게 예언해야 하고(절차 1), 독립변인이 종속변인(준거변인)을 유의하게 예언해야 한다(절차 2). 그리고 독립변인과 매개변인이 동시에 종속변인을 예언하도록 하는 회귀분석에서는 매개 변인이 종속 변인을 유의하게 예언하면서 단계 1의 독립변인의 효과가 유의하게 줄어들어야 한다(절차 3). 매개변인의 효과를 통제하고 남은 독립변인의 효과가 ‘0’에 가까울수록 매개효과는 큰 것이며, ‘0’이 되면 완전한 매개효과를 지닌다고 결론지을 수 있다(Kenny, 2001).

Sobel(1982)의 제안에 따르면 매개효과가 ‘0’보다 큰지에 대한 여부는 Z검증으로 가능하다.

 여기에서 a와 sea는 독립변인으로 매개변인을 예언하는 회귀분석에서의 회귀계수 및 표준편차이고, b와 seb는 매개변인으로 종속변인을 예언하는 회귀분석에서의 회귀계수 및 표준오차를 의미한다.

* 참고 http://www.danielsoper.com/statcalc/calc31.aspx

먼저 위계적 회귀분석을 통해서 매개효과가 존재하는지를 확인한 뒤 Sobel test를 통해서 매개효과를 검증합니다.

매개효과 확인을 위한 위계적 회귀분석에 들어가기 앞서 기본 가정을 확인하는 절차를 분석하면서 단계적 회귀분석으로 유의미한 변인을 먼저 확인합니다. 그리고 유의미한 변인들 위계적 회귀분석에 투입하여 매개효과를 확인합니다. 위와 같은 방법을 사용한 논문을 본 기억이 나네요.

Sobel test의 해석은 참고 링크를 읽어 보시기 바랍니다. 


by 에이아이 2009. 9. 13. 23:30
출처: http://news.nate.com/view/20030402n02404

참고: 본문의 내용 중 아래 단락에서 데이터 분석 시 고려해야 할 특성(문제)들을 언급하고 있다.

이론에 맞는 모형을 설정하고 분석에 필요한 데이터를 수집하여 계량분석적으로 주식시장에 접근할 때 전제되어야 할 것은 그 방법이 체계적, 실증적, 객관적, 계량적이어야 함은 물론 연구의 결과로 얻은 법칙이나 이론이 일반성, 추상성, 보편성을 지녀야 한다는 것이다. 또한 원시자료(raw data)가 내포하고 있는 자유도(degrees of freedom), 다중공선성(multicollinearity), 이질적 편의(heterogeneity bias), 계열상관(serial correlation), 구조변화(structural change)등과 같은 문제들을 적절하게 조정하는 것 역시 이에 못지않게 근본적으로 중요하다.


by 에이아이 2009. 8. 26. 13:57
참조: http://blog.naver.com/ibuyworld/110048919032

정리 : 데이터의 다중공선성 및 상호작용(매개효과?)에 대해서 설명하고 있다.

내용 :

기업의 시가총액에 재무전략이 미치는 영향을 알아보기 위해 Data set을 모은다라고 가정하자,
Response Variable = Market Capitalization
Predictor Variabl = Debt, Debt-Equity Ratio, ROE, ROA, Aseet

위의 6가지의 독립변수로 시가총액과의 관계를 infer할 때 각 Time series가 아닌 이상 each X는 상호 독립성을 유지해야 하는게 regression의 assumption이기 때문에 서로 영향을 주고 있음이 정확히 나타난다.

Debt-Equity는 Debt이 증가하면서 같이 증가하고, DE ratio의 E가 하락하면서 ROE를 높인다.  또한 ROA와 Asset은 밀접한 관계를 가지고 있다.  Regression Analysis는 주어진 모델에서 다른 X-변수가 (all other variables are hold constant) 변화없이 정지된 상태에서 Debt만의 효과를 coefficient(Value)와 Standard Error(95% CI or whatever)로 확인하는데 의미가 있는데 X간에 독립적이지 못 하면 서로 영향을 미쳐 주어진 Outcome은 misled하게 된다.  필요없이 많은 자료, 특히 필요없는 새로운 항목은 잘못된 의사결정을 유도하고 자료를 모으는 비용을 발생시킨다.

다른 하나의 X가 움직이는 동안 또 다른 하나가 고정되지 못하기 때문에 해당 X의 coefficient를 해석해 내지 못할 위험이 있고 하나를 제거하면 하나 이상을 제거하는 효과가 있어 Y의 평균값의 분산이 매우 커지게 된다.

이를 다중공선성 (or Multicollinearity, 오히려 영어가 다 쉬운듯 하다.)  이라고 한다.  서로간의 이런한 영향력을 가지고 있다면 하나를 제거해 줘야 하는데 통계페키지에서 VIF 값을 가지고 사용한다.

참고로 다중공선성과 Interaction effect는 완전히 다른 개념이다.  다중공선성은 Numerical Variables간의 독립성여부를 확인하는 것이지만 interaction effect는 연구에서 중요하게 관심을 가지는 X간의 상호관계를 확인하는 것이다.  즉, numerical variable에 categorical variable이 적용되면 Y의 평균이 어떻게 달라지냐의 연구에 중요한 부분이다.  X를 90 넣고 제초제를 applied하지 않을 때의 꽃의 생산율이 90인데 X를 90넣고 제초제를 뿌리니깐 꽃의 생산율이 120 이다.  제초제 자체가 꽃 생산에 영향을 미치기도 하지만 X와 제초제의 혼합효과 또한 꽃의 생산율에 영향을 미치기도 한다.  이를 interaction effect라고 하는데 이게 통계적으로 유의한지에 대해서는 Extra-sum of square F test로 확인하기 바란다.

참고로 아래에 interaction effect 관련 그래프를 하나 붙여본다.  P가 있고 없음의 차이가 N이 없을 때의 Y값의 차이와 N이 있을 때의 Y값의 차이가 다른 것을 확인할 수 있다. 이는 N과P의 interaction effect가 있다는 것이다.  이 그래프에서 N과 P의 combination이 없었다면 Y값은 작아져서 점선과 직선이 수평을 이루었을 것이다.  대표적으로 두선이 교차하면 interaction이 있다고 본다.

사용자 삽입 이미지

이 상호효과는 기업전략의 핵심역량이론과 상당히 닮아있다.  2000년대 초반은 미국시장에서 토요타, 혼다가 GM, Ford를 압도하기 시작한 시점이었다.  그래서 토요타에 대한 연구가 미국에서 많았는데 토요타의 생산방식을 미국에 적용해도 그 효과가 나타나지 않는다는 이유가 바로 핵심역량의 이유였다.  기술이 이전되고 모방을 해도 원적용자의 효과를 따라갈 수가 없는데 이는 생산시설, 기업문화, 조직, 공급망등 모든 요소가 상호작용해서 이미 main effect(주효과: X만의 효과)만을 가지고 기업의 시장점유율을 높일 수도 없었고 interaction effect가 통계적으로도 큰 의미있는 것으로 보여주고 있다.  Interaction effect는 원적용자또한 정확한 투입비율을 알 수가 없다는 것이다.  200년된 양조장에서 나오는 술맛을 그대로 재현하기 위해 그 주인이 새로운 양조장을 만들어 동일한 제조비율로 만든다고 해도 동일한 맛은 나오지 않는다.  200년된 양조장의 manual에 없는 무언가의 상호작용으로 고객을 이끈다.  새롭게 확장되는 사업망은 기존 핵심역량을 가지고 있는 양조장의 brand에 악영향을 미칠 가능성이 높다.

기업전략에서또한 기업가치를 높이는데 투입하는 요소가 서로 다중공선성(중복된 투자효과)이 없는지 확인하고 interaction effect를 최대한 높여가는 노하우에 대한 지식경영이 중요한 시점이다.

by 에이아이 2009. 8. 26. 11:39


방송통신대학에서 진행된 데이터마이닝 강좌 동영상입니다.
한국외국어 대학교 최대우 교수님께서 강의하신 내용입니다.
데이터마이닝에 대해 이해하는 데 도움이 많이 되는 자료입니다.

[1] 데이터마이닝 강좌
한국외국어대학교 최대우 교수님
데이터마이닝 관련 연구분야 / 여러가지 분석 기법들 
동영상 보기 : http://blog.daum.net/nhm13/8750639

[2] 데이터마이닝 강좌
국내 데이터마이닝의 역사 / 활용사례 / 구현 단계
동영상보기 : http://blog.daum.net/nhm13/8750655

[3] 데이터마이닝 강좌
CRM / 고객이탈방지에의 활용 사례 / CSS / 생명정보학에서의 활용
동영상 보기 : http://blog.daum.net/nhm13/8750663

[4] 데이터마이닝의 개요 및 활용 정리(5강)
데이터마이닝 개요 정리 / 활용 정리 / S-Plus 사용법
동영상 보기 : http://blog.daum.net/nhm13/8750669

by 에이아이 2009. 8. 26. 00:03

Goole TechTalk 에서 제공하는 데이터마이닝 동영상 강좌입니다.

스탠포드 대학의 David Mease 교수의 강의입니다.
데이터마이닝의 분석 기법들을 자세하게 설명하고 있습니다. 제목에서 보여주듯이 데이터마이닝의 통계적인 기초를 자세히 설명합니다.

The main topics are exploring and visualizing data, association analysis, classification, and clustering. The textbook is Introduction to Data Mining ...

전체 13강으로 되어있습니다.

강의명 : Statistical Aspects of Data Mining (Stats 202) Day
강좌 홈페이지 : http://sites.google.com/site/stats202/
강의 동영상들 : http://video.google.com/videosearch?q=mease+stats+202

[1강] Statistical Aspects of Data Mining (Stats 202) Day 1


[2강] Statistical Aspects of Data Mining (Stats 202) Day 2
[3강] Statistical Aspects of Data Mining (Stats 202) Day 3
[4강] Statistical Aspects of Data Mining (Stats 202) Day 4
[5강] Statistical Aspects of Data Mining (Stats 202) Day 5
[6강] Statistical Aspects of Data Mining (Stats 202) Day 6

위의 [2강] - [6강] 동영상을 보고 싶으면 아래의 더보기 를 클릭하세요.


[7강] Statistical Aspects of Data Mining (Stats 202) Day 7

[8강] Statistical Aspects of Data Mining (Stats 202) Day 8

[9강] Statistical Aspects of Data Mining (Stats 202) Day 9

[10강] Statistical Aspects of Data Mining (Stats 202) Day 10

[11강] Statistical Aspects of Data Mining (Stats 202) Day 11

[12강] Statistical Aspects of Data Mining (Stats 202) Day 12

[13강] Statistical Aspects of Data Mining (Stats 202) Day 13

by 에이아이 2009. 8. 25. 21:08

데이터 마이닝 (Data Mining)은 다양한 내용으로 정의되고 있다.
아래에 여러가지 서적 및 인터넷 자료의 데이터마이닝에 대한 정의를 정리하였다.

[사전] 위키백과 (http://ko.wikipedia.org)

위키백과에서 [데이터 마이닝]에 대하여 아래와 같이 정의하고 있다. (새창으로 보기)  

데이터 마이닝(Data Mining)은  대규모로 저장된 데이터 안에서 체계적이고 자동적으로 통계적 규칙(rule)이나 패턴(Pattern)을 찾아 내는 것이다. 다른 말로는 KDD(데이터베이스 속의 지식 발견(Knowledge-discovery in databases)라고도 일컫는다. 이를 위해서, 데이터 마이닝은 통계석에서 패턴인식에 이르는 다양한 계량 기법을 사용한다.

[사전] NAVER 백과사전 (http://100.naver.com)

네이버 백과사전에서 [데이터 마이닝]에 대하여 아래와 같이 정의하고 있다. (새창으로 보기)  

많은 데이터 가운데 숨겨져 있는 유용한 상관관계를 발견하여, 미래에 실행 가능한 정보를 추출해 내고 의사결정에 이용하는 과정을 말한다.

[서적] 사례로 배우는 데이터마이닝 (최종후, 소선하 공저, 자유아카데미)

위 교재에서는 p.4 에서 [데이터 마이닝]을 아래와 같이 정의하고 있다.

 "대용량의 데이터로부터이들 데이터 내에 존재하는 관계, 패턴, 규칙 등을 탐색하고 찾아내어 모형화 함으로써 유용한 지식을 추출하는 일련의 과정들"

[서적] Data Mining (IAN H. WITTEN, EIBE FRANK, Margan Kaufmann)

위 교재에서는 p.4 에서 [데이터 마이닝]을 아래와 같이 설명 및 정의하고 있다.  

Data mining is about solving problems by analyzing data already present in database. (2문단) Data mining is defined as the process of discovering patterns in data. (3문단)
Now, finally, we can say what this book is about. It is about techniques for finding and describing structural patterns in data. (5문단)  







by 에이아이 2009. 8. 13. 17:16

분류와 예측의 차이점

  분류(Classification) 기법과 예측(Prediction) 기법에 대해서 혼동하는 경우가 있어서 잠깐 설명하고자 한다. 분류와 예측은 모두 레코드의 특정 속성의 값을 미리 알아맞히는 점에서는 같지만 약간의 차이가 있으므로 구분되어질 필요가 있다. 분류와 예측의 차이점은 알아맞히고자 하는 속성이 범주형인가 연속형(수치형)인가에 따라 구분된다.

  * 분류 :  레코드(튜플)의 범주형 속성의 값을 알아맞히는 것이고,
  * 예측 :  레코드(튜플)의 연속형 속성의 값을 알아맞히는 것이다.

    분류는 학생들의 국어, 영어, 수학 점수를 입력으로 하여 내신등급을 알아맞히는 것 이라든가, 카드회사에서 회원들의 가입 정보를 입력으로 하여 1년 후의 신용등급을 알아맞히는 것 등을 예로 들 수 있다.

   반면에, 예측의 예를 들어보면 아래와 같다. 학생들의 여러 가지 정보를 입력으로 하여 수능점수를 알아맞히는 것 이라든가, 카드회사에서 회원들의 가입정보를 입력으로 하여 연 매출액을 알아맞히는 것을 예로 들수 있다. 또는 여러 가지 사회 현상 정보를 입력으로 하여 다음 달의 주가를 알아맞히는 것도 하나의 예가 되겠다.

by 에이아이 2009. 8. 13. 16:48

[인공지능의 이해] 라는 서적에서 소개하고 있는 신경망 분석 기법에 대한 설명입니다.

출처 : 인공지능의 이해, 생능출판사, 양기철 저 (P.214- 222)

인공지능에 대한 간단한 소개, 간단한 예제를 통한 역전파 신경망 알고리즘의 동작 원리를 설명하고 있습니다.

   인공 신경망(Artificial Neural Network)은 인간의 두뇌와 신경 시스템을 닮은 정보처리소자이다. 인공 신경망 기법은 연결주의(Connectionism) 기법이라고도 하는데 이는 뉴런(Neuron)들을 연결하여 문제해결 모델을 만들기 때문이다. 인공신경망은 1970년대 연구가 줄어들다가 1980년대부터 활발한 연구가 재개 되었고 1990년대 들어 미국 정부의 지원 아래 뇌 관련 연구가 번창하게 되었다.

   인간의 두뇌는 뉴런이라는 특수한 세포로 구성되어 있다. 뉴런은 죽지 않는 세포이다. 따라서 저장된 정보를 계속 보관할 수 있는 것이다. 인간의 두뇌에는 뉴런이 100억 개 이상 있으며 그 종류도 100여 가지가 넘는다. 이런 뉴런들을 신경망(Neural Network)이라고 하는 여러 개의 그룹으로 모여 있다. 그리고 신경망의 집합이 두뇌를 구성한다. [그림9.10]은 뉴런의 구조이다.

사용자 삽입 이미지


[그림9.10]에서 보는 바와 같이 하나의 뉴런에서 신호를 축색돌기를 통해 다른 뉴런으로 보낸다. 축색돌기의 신호는 시넵스(Synapse)를 거쳐 다른 뉴런의 축색돌기에 연결되는데 시넵스는 전달되는 신호의 크기를 크게 하거나 작게 하는 조절 기능이 있다. 인공 신경망은 인간 두뇌의 신경망을 모방한 것으로 [그림9.13]은 하나의 인공 신경망 구조를 보인 것이다. 그리고 인공 신경망을 구성하는 인공뉴런(Processing Element라고도 함)의 구조는 [그림9.11]과 같다.

사용자 삽입 이미지

 


by 에이아이 2009. 8. 12. 00:43
| 1 2 3 4 5 6 |