본문 바로가기

데이터분석

의사결정나무/Decision Tree 총정리, 1편 회귀 문제에서 트리는 어떻게 돌아가는가? 본 책은 ISLR 및 기타 교재, 온라인 material들을 참고했습니다. 트리 모형에 대한 개괄 - 트리 모형은 하나의 feature space를 여러 공간으로 묶는 segmenting, stratifing의 성격을 갖고 있다. - 이렇게 각각 형성된 segment에 속한 observation들은 같은 value를 갖는 것으로 추측하고, 단일한 prediction 값을 가질 수 있다. - 트리 모형은 literacy의 측면에 있어서 상당히 유리하다. 직관적이고 해석하기 쉽다. - 그러나 prediction accuracy의 측면에서는 손해를 보는 부분들이 존재한다. - 생각해 보면 당연한 일이다. 각 segment에 속한 값들을 '하나로 뭉그러뜨려서' '하나의 예측값'을 갖게 한다고 하니, 그 segm.. 더보기
(PRA) 회귀분석 1. 데이터 분석의 전반적 컨셉 이 시리즈는 Practical Regression and Anova using R, JJ Faraway, 2002를 공부하면서 정리했습니다. 개인적 사용을 위한 copyright 제한을 따로 걸어두지 않았고 pdf도 무료배포 중입니다. 회귀분석 운을 떼기에 좋은 책이라고 생각합니다. 수학적으로 엄밀하게 증명하면서 따져가는 책은 아니고 multivariate case는 살펴보지 않게 됩니다. * 데이터 분석에 대한 전반적 소고 통계학은 '문제의식'으로부터 시작됩니다. 따라서 문제가 무엇인지 정확히 인지하는 것이 중요합니다. 이를 위해 다음과 같은 사항을 생각해봅시다. 흔히 도메인 지식이라고 부르는, 주어진 데이터의 underlying background를 항상 고려합시다. 분석의 목적이 무엇인지 명확히 인.. 더보기
R로 하는 서울특별시 문화공간 분석 - 1편 : 분포 시각화와 군집분석 interactive한 시각화 정보가 제대로 포함된 글을 보시고 싶으시면 첨부파일을 참고하세요. 목차 1) Intro. 2) 라이브러리 및 데이터 로딩, 전처리 3) 지도 시각화 및 데이터 확인 4) K-means 군집분석 1) Intro. 서울에서 사는 것의 가장 큰 장점은 무엇일까요? 아무래도 멀지 않은 거리에 다양하고 깊이있는 문화 체험의 공간들이 접근 가능하다는 것이 아닐까 하네요. 오늘은 서울 열린데이터광장에서 제공하는 데이터를 함께 살펴보면서, 서울시 및 근교에 문화 시설이 어떻게 분포해있는지 함께 알아보는 시간을 가지도록 하겠습니다:) 2) 라이브러리 및 데이터 로딩, 전처리 먼저 필요한 패키지를 로딩합니다. 대부분 geocoding과 관련된 패키지이며, font처리를 위한 extrafont.. 더보기
(토막글 및 잡설) 선형회귀에서 '선형'의 의미 선형회귀는 처음 구축되었을 때나 지금이나 강력하고 유의미한, 이 세상을 설명하는 방법론입니다. 머신러닝과 딥러닝의 시대를 살아가고 있다고 이야기하는 지금도 선형회귀모형의 기본 아이디어, 즉 (세상의 어떠한 현상 Y) = (적절한 변수들 X) + (X와 관계없는 잡음 u) 로 모델링할 수 있다는 일종의 신념(?)은 사실상 머신러닝과 딥러닝에서도 동일하게 스며들어 있습니다. 다만 머신러닝과 딥러닝은 이를 갈수록 발전하는 computational capacity를 이용하여 해결하고자 하는 것이지요. 그 단적인 예가 요새 캐글에서 유행하는 GB(Gradient Boosting) 계열의 알고리즘들이지 않을까 생각합니다(GB가 error term u에 대해서 접근하는 방식을 생각해보세요) 어쨌든, 선형회귀가 복잡한.. 더보기
파이썬 기초 요약 _ (1) 리스트 1. 리스트 Listname = [a, b, c, ... ] : 대괄호 사용, 요소는 쉼표로 구분 리스트의 요소는 어떠한 자료형도 가능 빈리스트 생성 방법 listname = list() 인덱싱하는 방법 1) lname[i-1] 리스트의 i번째 요소. 0부터 시작하기 때문에 i-1 2) lname[i]+lname[j] 리스트의 i번째 요소와 j번째 요소의 합 3) lname[-1] -1은 마지막 요소를 뜻함 리스트 안의 리스트 lname = [1, 2, ['a', 'b']] -> 이 경우 lname[2] = lname[-1] -> 'a'를 집어내려면? lname[2][0] 리스트 슬라이싱 lname = [1,2,3,4,5] lname[0:2] -> [1,2] : R과 다르게, a:b라면 a+1부터 가져옴.. 더보기