이 포스팅은 머신러닝 및 데이터마이닝, 인공지능을 위한 파이썬 강좌입니다. 추후 간단한 머신러닝과 추천에 관련된 데이터마이닝을 할 예정입니다. Java로 가능한 부분은 Java와의 코드를 비교하여 파이썬의 속도 및 수준등을 비교 할 예정입니다. 현재 이 글을 쓰고 있는 사람은 데이터마이닝(추천 관련)을 전문적으로 하고 있으나, 파이썬에 대해서는 아직은 기초지식만 가지고 있는 상태이고, 여러가지의 책들과 포스팅등을 통해서 저 역시 공부를 하면서 포스팅을 하고 있으니 비슷한 수준이구나 생각하시면서 보시면 됩니다. 이 포스팅을 읽는 대상은 프로그래밍을 배우지 않는 분들도 쉽게 따라할 수 있게 할 예정입니다. 추후 이 포스팅은 제가 다니고 있는 회사분들에게 강의를 하는 목적도 가지고 있기 때문에 최대한 쉽게 작..
K-평균(K-Means) 알고리즘은 기계학습(머신러닝, machine learning), 데이터마이닝에서 활용하고 있는 기법으로서, 대표적인 비지도학습이다. 비지도학습이란 어떤 결과를 예측하지 못해야 되는 것으로, 컴퓨터 스스로 어떠한 해답을 찾아내는 것을 말한다. 예를 들어, 남자와 여자를 분류하고 싶다라는 것은 이미 목적이 존재하고 값이 존재하기 때문에 비지도학습이 될수 없지만 컴퓨터 스스로 데이터를 분류하다가 남자와 여자의 특성 차이를 깨닫고 분류했다면, 비지도학습이 되는 것이다. K-Means는 중심값을 선정하고, 중심값과 다른 데이터간의 거리를 이용하여 분류를 수행한다. 다음 수행에서는 좀 더 중심에 위치한 중심값을 선정하고, 분류하고 이러한 과정을 반복하여 더이상 분류가 되지 않을 경우에 해당..
웹 마이닝 혹은 웹 데이터 마이닝은 일반적으로 웹으로 통한 모든 것들을 분석해서 얻는 마이닝을 뜻한다.예를 들어, 서버에서 쌓이는 웹로그 라든지, 사용자의 행동이라든지, 사용자들이 작성한 웹 콘텐츠 등 웹으로 얻어진 모든 것들을 포함한다. source, http://www.kdnuggets.com 이러한 Data 들을 분석하여 유용한 정보를 찾아내고, insight를 얻어내는 것이 핵심이라고 할 수 있다. 1. 웹으로부터 얻어지는 모든 데이터를 분석하는, 웹마이닝의 개요가. 웹마이닝(Web Mining)의 개념- 웹에서 발생하거나 웹 사이트에 저장한 데이터를 대상으로 유용한 패턴을 찾아내는 기법- 웹 환경에서 얻어지는 고객의 정보, 데이터로 부터 특정 행위, 패턴 등의 유용한 정보를 이용하여 마케팅 및 ..
데이터를 분석하는 사람이나, 혹은 데이터를 다루는 현업이라면, R을 현재 다루고 있거나 다루는 것에 고민을 할것이다. 현재, R이라는 언어겸 플랫폼은 데이터 분석의 상징적인 언어가 되어버렸다. 그만큼 빠르고, 쉽게 분석이 가능하기 때문이다. 사실, 그동안 자바로 프로그램을 짜면서 데이터를 분석했었는데 (이게 사실 더 많은 데이터를 핸들링할 수 있는 장점이 있다) 데이터의 일부를 핸들링 하거나 검증등을 할 때는 R툴은 필수 아닌 필수로 보인다. R을 사용할려면 당연히 설치를 해야 한다. R은 오픈소스 이기 때문에 누구나 설치할 수 있고, 사용할 수 있다. http://cran.r-project.org 사이트로 접속한 후 아래와 같은 Step대로 설치한다. 참고로, 설치는 내 컴퓨터는 현재 윈도우 7 64b..
기록성인 데이터를 쭈욱~~ 나열을 할 때, 너무 많을 경우 눈에 잘 들어오지 않을 경우가 있다. 대표적인 것으로, 직장인의 연봉은 너무 많은 케이스가 존재하기 때문에 단순히 기록 형태로 보여주면, 평균이 얼마인지 어느구간이 많은지 눈에 잘 들어오지 않는다. 너무 많은 데이터를 열거하면, 블로그를 보기도 전에 지치게 된다. 해서... 아주 약간의 샘플성의 데이터만 보여준 후 설명하도록 하겠다. 가상으로 어느 회사의 직장인의 연봉이라고 만들어 보았다. 숫자는 4*5 = 20개밖에 존재하지 않지만, 눈에 확 띄는가?? 숫자가 20개니깐 그래도 약간의 시간을 투자하면 암산으로 어느정도 머리속에 분석을 할 수 있을 것이다. 그러나 위 숫자보다 10배가 많다면??? 머리속 암산의 영역에서 벗어나서, 종이와 펜을 들..
통계란, 현재 발생된 현상들을 의미있는 값으로 수치화 시키는 것이라고 볼 수 있다. 통계와 미래 예측을 동일시 하는 경향이 종종 보이는데... 한 예로, 과거에 이러이러한 일이 벌어졌으니, 앞으로도 이러이러한 일들이 벌어질 것이다. 라는 통계 데이터를 통한 추리를 하는 행위이다. 통계와 예측은 각각 "기술통계"와 "추리통계"라는 분야로 불리게 된다. 우리가 흔히 알고 있는 통계는 기술통계로서, 전문적으로 배운 사람은 가설과 예측을 더 잘할 수는 있지만, 통계의 핵심적인 목적은 사실 현상을 파악하기 위함일 것이다. 예를 들어, 세계각국 평균키 사례를 보면 알겠지만, 각국의 평균키로 미래를 예측할 수 있지만(ex: 연도별 증감수치등으로 인해서, 어느나라의 키는 더 커질 것이다) 이 수치의 목적은 현재 우리나..
이탈리아의 통계학자이자 경제학자인 코라도 지니(Corrado Gini)의 이름을 따서 지니라고 불리우며, 불평등의 지수를 표현한다. 인구의 다양성을 조사할 때 자주 사용되며, 같은 모집단에서 무작위로 선택된 두 항목들이 같은 클래스에 있을 확률을 나타낸다. 위 JTBC에 나온 화면처럼, 지니계수가 0으로 갈수록, 평등하며 1로 갈수록 불평등하다고 볼 수 있다. 소득분배의 불평등 외에도, 부의 편중이나 에너지 소비의 불평등에도 활용한다. 위 그래프는 2차 세계대전 이후, 나라별 지니계수이다.지니계수를 토대로 부의편중을 측정하였을 때, 브라질이 압도적으로 현재 1위이다.그래프를 보면 알다시피, BRICS와 미국이 높은 값을 유지하고 있는데..."인구수가 높을 경우 부의 편중이 심할 가능성이 높다"라는 가설을..
의사결정나무의 생성 방법 모든 의사결정나무 알고리즘은 공통점을 가지고 있는데, 바로 부모노드보다 더 순수도가 높은 자식노드를 만든다는 것이다. 순수도가 높은 자식노드를 만들면, 또 그 자식노드의 자식노드는 상위 노드보다 순수도가 높고, 이를 반복하여 의사결정나무를 만들게 된다. 1. 분기의 발견 의사결정나무 생성의 과정을 위해서, 사전에 분류된 레코드들로 이루어진 Training Set(훈련용 집합)이 필요하다. 훈련용 데이터 집합은 입력변수뿐 아니라 목표변수 값도 알고 있어야 한다. 어떤 사례에 대해서 학습을 하려면, 입력값 뿐만 아니라 목표변수 값도 알고 있어야 학습이 되는데..예를 들자면, 어떤 장바구니의 내용에 아래와 같은 물건들이 있다.담배, 남성용 팬츠, 와이셔츠 등의 물건(입력값)을 구입했다..
1. 데이터 마이닝 데이터 분석, 즉 데이터 마이닝은 Mining 이라는 단어에서 알 수 있듯이, DATA에서 의미를 추출, 캐는 작업을 뜻한다. 좀 더 쉽게 풀이하자면 데이터 안에서 통계적 규칙이나 패턴등을 찾는 행위 및 도구, 기법등을 뜻한다. 빅데이터가 단순히 테라 이상급의 DATA만을 의미하는 것이 아닌 데이터 마이닝도 행위만을 뜻하는 것은 아니다. 위 그림을 보면, 알겠지만 0,1의 Digit들을 정제하여 의미를 찾아내는 것이라고 이해하면 된다. 2. 데이터 마이닝의 절차 데이터마이닝의 일반적인 절차는 우선 데이터를 선택하고, 정제한다.정제된 데이터를 특정 형태로 변형을 한 후, 데이터 마이닝을 거치고 해석을 하는 단계까지 이어지는 비교적 단순한 과정이다. 이를 실생활로 이해를 해보도록 하자. ..