본문 바로가기

분류 전체보기

(29)
머신러닝 입문자 가이드 : 피처 엔지니어링 이란? 안녕하세요. 오늘은 간단하게 피처 엔지니어링에 대한 설명을 하겠습니다. 피처 엔지니어링은 머신러닝 모델을 만드는데 있어 필수라고 할 수 있습니다. 그렇다면 이 피처 엔지니어링이 무엇인지 간략하게 알아보도록 하죠 :) 머신러닝 모델이 좋은 성능을 내려면 반드시 피처 엔지니어링은 필요합니다. 시계열 데이터를 다루는 대회에서는 유의미한 파생 변수를 생성하기 위한 몇 가지 기술들이 있습니다. 날짜/시간의 정보가 포함된 데이터의 경우, 주중/주말 여부, 공유일 여부, 아침/낮/밤, 계절, 학기/시험기간.방학 등 다양한 파생변수를 생성할 수 있습니다. 그러나 모든 파생 변수가 모델에 유의미 한 것은 아닙니다. 식별력이 있는 변수는 모델마다, 주제마다 다르기 때문에 모든 가능성을 시도해보는 것이 좋습니다. Tabul..
머신러닝 입문자 가이드(1) : 케글 대회 구조 알아보기 안녕하세요 :) 앞으로 저의 지식도 차근차근 정리해 볼 겸 머신러닝 입문자 가이드라는 거창한 제목을 달아 봤습니다! 거창한 제목에 비해 별 체계없이 기본지식들을 정리해서 올릴 예정인데요. 많은 도움 얻어가셨으면 좋겠습니다. 오늘은 케글이 낯선 분들을 위해 준비한 글입니다. 케글은 홈페이지 대부분이 영어로 되어 있기 때문에 처음 들어가면 익숙하지 않은 환경에 당황하실 수 있는데요, 각 게시판의 특징(?)과 함께 구조에 대해 알아 봅시다. 먼저 케글 경진대회 홈페이지에 들어오게 되면 경진대회 첫 페이지인 [Overview]를 만날 수 있는데요, 말 그대로 경진대회에 출제되는 문제에 대해서 설명하는 페이지 입니다. 그 아래를 보면 [Evaluation]이라는 탭이 있는데요, 이 탭에서는 경진대회에서 사용되는 ..
머신러닝에 가장 적합한 언어는? 안녕하세요 :) 그동안 배웠던 지식들을 정리하고 리마인드 하기 위해 다시 블로그를 운영하려 합니다. 많은 관심 부탁드립니다. 오늘은 가장 기본으로 머신러닝에 입문하려는데 어떤 언어를 사용해야 하나요?라는 질문에 대한 답이 될 수 있는 글일 것 같습니다. 이전에 읽었던 서적에서는 이와 같이 밝히고 있습니다. "손에 익숙한 프로그래밍 언어가 이미 있다면, 그 언어로 시작하시고, 그것이 아니라면 무조건 파이썬을 강력 추천한다!!" 저 또한 이 의견에 굉장히 공감을 많이 하고 있습니다. 코딩을 아주 조금이라도 알고 계신 분이라면 파이썬에 대해 들어 보셨을 텐데요, 실제로 파이썬은 2018년 기준 머신러닝에 가장 많이 사용되고 있는 프로그래밍 언어입니다. 다들 한번쯤 '대세'가 아닌 제품을 구입하여 낭패를 봤던 ..
K-means clustering에 대해 알아봅시다 :) k-means 알고리즘은 예전 글에서 설명했던 지도학습(Supervised Learning)과 비지도학습(Unsupervised Learning) 중 비지도학습에 속합니다. 그리고 클러스터링, 군집분석의 대표격이라고 할 수 있습니다. 주어진 k개의 데이터를 k개의 군집으로 묶는 알고리즘으로 데이터들과 각 군집간의 거리 차리의 분산을 최소화합니다. 파이썬에서는 sklearn 패키지에서 함수를 제공합니다. ※비지도학습(Unsupervised Learning) 훈련 데이터로부터 하나의 함수를 추론하는 방법 중 하나로, 지도학습과 달리 데이터에서 추출하고자 하는 라벨(label)이 없는 데이터를 이용해 함수를 추론하는 것으로 일반적으로 클러스터링(군집)을 위해 사용된다. ※클러스터링(군집) 라벨(label) 데..
한국복지패널데이터를 분석하여 봅시다 :) part2 이번에는 직업데이터를 활용해서 다양한 분석을 해보겠습니다. 먼저 직업별 월급 차이를 알아 볼 건데요, 먼저 변수를 검토하고 전처리를 해보겠습니다. 먼저 직업을 나타낸 변수에 대해 알아보겠습니다. table(welfare$code_job) 결과를 보시면 직업코드들을 보실 수 있습니다. 직업분류코드를 이용해서 직업명칭 변수를 만들어야 합니다. 직업분류코드 목록을 불러와서 데이터프레임형태로 만들어 줍니다. list_job % select(code_job, job) %>% head(10) 결과를 확인하면 잘 합쳐진 것을 알 수 있습니다. 이제 이 변수를 이용해서 직업별 월급차이를 분석해보겠습니다. 변수간의 관계를 확인해보죠. 먼저 직업별 월급 평균을 구해보겠습니다. job_income % filter(!is.n..
선형회귀분석에 대해 알아보고 코드를 음미해봅시다:) 이번엔 선형회귀분석에 대해 알아보는 시간을 가져보겠습니다. 용어들과 코드 한 줄 한 줄 이해할 수 있도록 실습도 해봅시다. 먼저 회귀분석이란 두 변수(독립변수와 종속변수)사이의 함수적 관계를 기술하는 수학적 방정식을 구하는데 사용합니다. 무슨 말이냐면 변수들 사이에 어떠한 연관성을 발견하고 이를 통해 종속변수의 값을 추정하거나 예측하는데 사용하게 됩니다. 두 변수끼리 일종의 인과관계를 갖게 되는 것이죠. 여기서 선형회귀분석이란 말 그대로 모델이 Linear(선형)한 경우, 즉 y= ax + b 형태의 모델을 이용하여 예측 및 분석하는 방법입니다. 선형모델이기 때문에 복잡한 추세를 가지는 데이터일수록 오차가 크지만, 비교적 간단하게 계산할 수 있고, 대략적인 상관관계 및 그 정도를 유추할 수 있어 기본적인..
한국복지패널데이터를 분석하여 봅시다 :) part1 예전 글을 정리하던 중 실무에서도 기본적으로 사용할 수 있을 아주 좋은 예제를 발견하여 올려봅니다. 한국복지패널데이터에서 발간된 데이터를 이용한 예제입니다. 이 데이터는 한국보건사회연구원에서 가구의 경제활동을 연구해 정책 지원에 반영할 목적으로 발간한 자료입니다. 엄밀한 절차로 수집되었고, 아주 다양한 변수들이 있어서 데이터분석 연습하는데 아주 좋은 데이터입니다. 이 데이터를 이용해 우리나라 사람들이 어떻게 살아가는지 확인해봅시다 :) 먼저 데이터는 한국복지패널 사이트에 가시면 받아볼 수 있습니다. 저는 2016년 자료를 활용했습니다. sav 파일을 받으시면 되는데, 이것은 통계분석프로그램 SPSS 전용파일입니다. foreign 패키지를 이용해서 불러와줍니다. ##데이터 불러오기 install.packa..
[정보이론] 위너-킨친 정리에 대해 알아봅시다:) 위너 킨친 정리는 랜덤 프로세스가 stationary일 경우 자기상관함수가 시간차의 함수와 같게 되며, 에르고딕하다면 시간 평균에 대해서도 자기 상관함수와 같은 값을 가지게 됩니다. 그러므로 시간차로 나타낸 자기상관함수와 전력스펙트럼밀도(PSD)가 푸리에 관계에 있다는 것이 위너 킨친 정리입니다. Rx(τ) Sx(f) 자기상관함수 전력스펙트럼밀도 위너-킨친 정리의 증명과정을 정리해보겠습니다. 자기상관함수와 전력스펙트럼밀도가 푸리에 관계에 있다는 것을 증명할 것입니다. => t = u+v, s=u로 치환합니다. 자코비안을 사용하면 원래의 좌표축에서 새로운 좌표축으로 옮겨지게 됩니다. 그렇게 되면서 dtds가 |J|duds로 바뀌게 됩니다. 여기서 |J|는 으로 되어 |J|는 1이됩니다. 또한 변하는 좌표계..