목록r (16)
Dev log
회귀는 하나의 변수가 나머지 다른 변수들과의 선형적 관계를 갖는가의 여부를 분석하는 하나의 방법이디. 즉 하나의 종속변수와 독립변수 사이의 관계를 명시하는 것을 우리는 회귀라고 한다. 오늘은 회귀가 무엇인지와 구하는 방법에 대해 알아보겠다. 회귀 독립변수와 종속변수는 아래와 같다. - 독립 변수: 종속 변수의 영향을 주는 변수(평수, 학군) - 종속 변수: 서로 관계를 가지고 있는 변수들 중에서 다른 변수의 영향을 받는 변수 (집값) 회귀식은 y = ax + b 이며, 정말 간단하다. 회귀식을 이용하여 간단하게 예제 문제를 풀어보겠다. 1986년 1월 28일 미국의 스페이서 셔틀 챌린저호의 승무원 7명이 사망했다. 우주 왕복선이 발사 도중에 폭파해서 사망을 했기 때문이다. 폭파에 대한 원인 분석을 했는데..
저번 포스팅때는 한국 사회의 흐름을 알아보았는데요. 지난 19년을 되돌아보니 사건, 사고가 많았으며, 다시는 일어나면 안되는 사고들과 잊으면 안되는 일들이 많았습니다. 그럼 이번엔 경제를 되돌아보며 한국 경제에는 어떤 일들이 있었는지 알아보겠습니다. 그리고 크롤링은 저번에 했기 때문에 따로 다루지는 않겠습니다. Keyword 사회와 마찬가지로 경제도 표를 만들면 아래와 같습니다. 우선 경제하면 가장 많이 떠오르는 것이 부동산이 아닐까 싶습니다. 역시나 부동산이나 재건축이 가장 많이 눈에 띄는 것이 보입니다. 2005년 국세청 키워드가 보이는데, 아마 종부제 시행으로 인해 많은 헤드라인을 장식했던 키워드 인것 같습니다. 경제하면 기업들이 빼놓을 수 없는데, 아래와 같이 예전에 비해서는 갈수록 기업의 이름이..
미디어는 한국 사회의 흐름을 압축적으로 담고 있는 Snapshot입니다. 지난 19년, 가장 대표적이고 강력한 미디어, 헤드라인 뉴스로 한국 사회를 되돌아 볼까합니다. 이번 포스팅은 사회 부분을 다뤄보겠습니다. SBS뉴스 사회 부분의 헤드라인 부분을 다 크롤링하여 문장을 단어별로 나눈 후 count 하였습니다. Web Crawling R을 이용하여 크롤링을 하려고 할때 아래와 같은 라이브러리가 필요합니다. # 필요 패키지 설치 library(gsubfn) library(stringr) library(XML) 크롤링 함수는 아래와 같이 URL을 입력받아 긁어오도록 하였습니다. SBSnews
의사 결정 트리로 독일 은행의 대출 채무 이행 여부를 분석해볼까 합니다. 데이터는 여기에서 다운 받을 수 있습니다. 그리고 코드는 여기 GitHub에서 확인할 수 있습니다. DataSet 데이터 라벨은 default 변수이며, yes는 대출금 미상환, no는 대출금을 상환했다는 뜻입니다. 대부분의 컬럼은 이름에서부터 알 수 있기 때문에 다루진 않고, 알기 어려운 칼럼에 대해 설명을 조금 설명을 하자면 아래와 같습니다. - checking_balance 예금 계좌 - savings_balance 적금 계좌 - amount 대출 금액 데이터에서 저 컬럼이 왜 있는지에 대해 분석을 조금 하게 되면, 데이터 분석 시에 조금 수월할 수 있습니다. 예금계좌와 적금 계좌가 있는 이유는 대출 신청자의 예금계좌와 적금 ..
Naive Bayes 자동화 스크립트 우선 파일명을 입력 받고, 컬러명이 있는지에 관한 유무와 라벨이 위치한 번호 마지막으로 제거할 컬럼의 위치를 입력 받아보겠습니다. 추가로 if문을 돌려서 패키지 설치가 되어 있으면 패스하고 아니면 설치하도록 하겠습니다. if (length(setdiff(packages, rownames(installed.packages()))) > 0) { install.packages(setdiff(packages, rownames(installed.packages()))) } library(tm) library(gmodels) input_table
나이브 베이즈를 활용한 영화 장르 분류를 이번에 해보겠습니다. 예전에 포스팅했던 knn과 마찬가지로 그리 어렵지도, 코드가 길지도 않아서 한두번 해보면 금방 익숙해 질꺼 같습니다. DataSet 데이터는 선호하는 영화장르 데이터를 사용했으며, 데이터는 여기에서 다운받아 보실 수 있습니다. 물론 포스팅에서 사용된 코드는 제 Github에서 전부 보실 수 있습니다. # 패키지 설치 install.packages("e1071") library(e1071) movie
나이브 베이즈는 확률을 기반으로 한 머신러닝의 한 알고리즘입니다. 현재까지도 유용하고 많이 사용되고 있습니다. 확률로 인한 데이터 분류 기상학자가 날씨예보를 할 때, 일반적으로 "비올 확률 70%" 라는 용어를 사용해 예측을 합니다. 여기서 나온 70%는 과거의 사건 데이터를 사용한 것이며, 과거에 이런 경우가 10번 중 7번은 비가 왔음을 의미하는 것입니다. 베이즈기법 기반인 분류기는 분류되지 않은 데이터를 분류기가 분류할때, 새로운 속성에 대한 가장 유사한 범주를 예측하기 위해 관찰된 확률을 사용합니다. 관찰된 확률은 훈련 데이터에서 의해서 미리 계산이 되어집니다. 확률 이론 확률에는 결합 확률, 조건부 확률, 베이즈 정리가 있습니다. 1. 결합 확률 결합 확률은 서로 배반되는 두 사상 E와 F가 있..
앞으로 다양한 데이터를 만나더라도 손쉽게 스크립트 하나로 knn을 돌리기 위해 간단하게 만들어보겠습니다. knn 자동화 스크립트 파일명을 입력 받고, 컬러명이 있는지에 관한 유무와 라벨이 위치한 번호 마지막으로 제거할 컬럼의 위치를 입력 받아보겠습니다. library(data.table) library(class) input_table
오늘은 적절한 k값을 알아내는 방법에 대해 이야기 해보겠습니다. 여태껏 이 블로그에서 다양한 데이터를 사용하여 knn 분류를 해보았는데, 그때마다 k값을 다르게 하면 매번 값이 달라진다는 것을 어렴풋 다들 알고 계실꺼라 생각합니다. 그렇다면 적절한 k값을 찾기 위해서는 어떻게 해야댈까요 ? 오늘은 그 방법에 대해 알아보겠습니다. 마찬가지로 데이터는 데이터는 여기에서 볼 수 있으며 전체 코드 역시 GitHub에서 보실 수 있습니다. DataSet 이번 데이터는 부도 데이터이며, load 후에 결측값과 공백값을 제거하겠습니다. HMEQ
오늘은 knn을 사용하여 유방암 분류를 해볼까합니다. 데이터는 데이터는 여기에서 볼 수 있으며 전체 코드 역시 GitHub에서 보실 수 있습니다. 월래 오늘 적절한 k값을 알아내는 것에 관려하여 포스팅을 할 예정이였으나, R에서 knn 관련 데이터 예제로 가장 많이 사용하는 것중에서 하나만 집고 넘어가는 것도 나쁘지 않고 해서 오늘은 유방암 데이터를 가지고 분류를 해보도록 하겠습니다. DataSet 우선 데이터를 load 해보겠습니다. wisc
여태까지 작은 데이터로 분류했으니 이번엔 약간 조금 더 큰 데이터를 이용해보도록 하겠습니다. 데이터는 여기에서 zoo.csv를 다운 받아주세요. 제가 사용한 데이터의 원문은 여기를 클릭하면 보실 수 있습니다. DataSet 데이터는 동물 종류에 따른 특징들이 있고, 라벨은 포유류, 조류, 파충류, 어류, 양서류, 곤충류, 갑각류 총 7가지가 있습니다. 우선 데이터를 불러와서 동물의 비율이 어떻게 되는지 확인해보겠습니다. zoo
오늘은 조금 재미있는 데이터를 가져와봤습니다. 토마토가 야채인지, 과일인지, 단백질인지를 knn을 통하여 분류해서 알아내는 작업을 해보겠습니다. 이번 포스팅에서 사용 되는 데이터는 아래에서 데이터를 직접 만들어서 작성 할 거라서, 따로 다운 받으실 필요는 없습니다. DataSet 데이터는 아래와 같습니다. 과일은 사과, 바나나, 당근, 치즈 등 작지만 다양한 데이터 입니다. food
knn 분류 예제를 보면서 공부해보도록 하겠습니다. 포스팅에서 사용된 데이터는 여기에서 데이터를 다운 받아주세요. Dataset 데이터 설명을 하자면, 소개팅을 수천번하지 않기 때문에 그동안 14번정도 소개팅을 했다고 가정하고 만난 남학생들에 대한 라벨을 호감라벨로 만들었습니다. 14개의 데이터를 knn으로 학습시켜서 예측 모델을 생성하고, 새로 만나게 될 남학생에 대한 데이터로 이 학생의 호감 라벨을 예측해보려고 합니다. 머신러닝을 할 때는 필수적으로 데이터 전처리라고 하는 Input 데이터를 알고리즘에 맞게 잘 정재하는 작업이 필요합니다. 이것을 표준화 또는 정규화 작업이라고도 합니다. 데이터 양이 작을 경우에는 scale() 이란 함수를 사용합니다. 음수 ~ 양수 반대로 데이터의 양이 많을 경우에는..
오늘은 K-Nearest Neighbors(KNN)라는 알고리즘에 대해 알아보려고 합니다. Knn 머신러닝을 공부하면 가장 쉽게 먼저 접하는 알고리즘 중 하나입니다. 이번 포스팅에서는 Knn이 무엇인지, 필요한 이유에 대해 알아보겠습니다. knn 사회적인 관계를 관찰해본적인 있나요? 대략적으로 비슷한 사람끼리 모이는 성질이 있다고 합니다. 그래서 비슷한 취향의 사람들끼리 모여서 동회회를 만들거나 비슷한 부류의 계층의 사람들끼리 친분을 맺기도 합니다. 그렇다면 공간적은 관계를 관찰해볼까요? 길을 지나다가 보면 가구점이 모여있는 상가지역이 따로 형성된 곳이 있지 않나요? 한약방이 밀집되어 있는 지역이나, 가구점, 음식점 등 밀집되어 있는 지역이 따로 모여 있는 경우가 많은 것을 우리는 길을 지나다가 느낄 수..
knn을 사용하여 조금 의미 있는 결과를 가지고 재밌는 결과를 뽑아내보도록 하겠습니다. 데이터는 여기에서 데이터를 다운 받아주세요. DataSet 이번 데이터를 열어보면 나이, 월수입, 상품 구매여부, 나이가 있습니다. 이 데이터를 이용해, 백화점 또는 소셜커머스 회사에서 데이터 분석을 통해 구매자가 제품을 구매할 고객인지 아닌지를 알아내려고 한다고 가정해보고 knn을 이용하여 문제를 풀어보도록 하겠습니다. Nomalize (정규화) 우선 데이터를 불러옵시다. buy