목록분류 전체보기 (70)
Rucrazia's Blog
자동차 판매량은 한국에서 거시적(산업)으로나 미시적(회사)인 내용을 분석하는데 있어서 중요한 데이터입니다. 자동차 판매량은 뉴스에서 자주 언급되며 브랜드의 흥망성쇠를 볼 수 있는 중요한 데이터이며, bmw 판매량의 감소 및 Benz의 판매량 상승과 같이 각 브랜드의 인기도를 비교하는데도 효과적입니다. 판매량 분석을 하려면 각 사의 차종별 판매량 데이터를 얻어야 합니다. Raw데이터는 한국자동차산업협회(KAMA)에서 얻을 수 있으나 회원만 가능하므로 다른 방법으로 얻어야 합니다. 컴퓨터 조립할 때 많이 이용했던 다나와에서 각 사의 판매량 데이터를 얻을 수 있습니다. 기간은 2012년 1월 1일 부터, 30~40개의 브랜드 별로 한국에서 판매하고 있는 차들의 판매량을 얻을 수 있습니다. http://auto..

*본 글에서 사용하는 언어는 Python이고 Pandas, sklearn, seaborn, matplotlib 라이브러리를 기본으로 사용합니다. 우리가 얻는 데이터는 완벽할 수 없습니다. 대중에게 서비스하고 있는 기업들에서 얻는 대부분의 데이터 또한 완벽하다고 할 수 없습니다. 물론 완벽하다는 기준이 다를 수 있습니다. 일반적으로 데이터를 얻었을 때 갖고 있는 문제를 해결하는 방법을 이번에 보려고 합니다. 이번에도 데이터는 캐글에 있는 타이타닉 데이터 Titanic: Machine Learning from Disaster 를 이용하려고 합니다. 1. 데이터 구조 확인 일단 첫 번째로 중요한 건 데이터의 구조를 확인하는 것입니다. 먼저 데이터의 내부를 보려고 합니다. df = pd.read_csv("../..
물건을 사러 오는 A, B 두 집단이 있다고 가정해봅시다. A, B 두 집단은 물건을 사러 오는데 우리는 두 집단을 한번에 같이 응대 할 수도 있고 두 집단을 따로 응대 할 수도 있습니다. 그런데 만약 두 집단이 서로 구매력이 달라서 한 집단은 명품만 사길 원하고 다른 집단은 저렴한 할인 상품만 사려고 할 수도 있습니다. 두 집단을 한번에 같이 응대하는 것은 효율적인 측면에서 좋습니다. 서로 차이가 있으면 효과가 낮아질 것입니다. 그렇다면 우리는 여기서 집단이 서로 같은 집단인가 다른 집단인가를 알아보려면 어떻게 해야 할까요? 우리는 이런 상황에서 이용 할 수 있는 과학/수학적인 방법이 있습니다. 바로 통계학을 이용하는 것입니다. 통계학에서 우리는 두 집단을 서로 비교하는 방법이 있습니다. 서로 비교해서..
데이터 분석에서 Skewness(왜도)와 Kurtosis(첨도)는 중요한 요소이다. 데이터의 분포가 한쪽으로 쏠린 것을 의미하는 Skewness는 positive Skewness와 Negative Skewness로 나뉜다. Positive Skewness는 오른쪽에 꼬리를 가진(왼쪽에 데이터가 많은) 형태이고, Negative Skewness는 왼쪽에 꼬리를 가진(오른쪽에 데이터가 많은) 형태이다. 일반적으로 고려 가능한 Un-Skew 수치는 +2~-2 사이이다. (George & Mallery, 2010). George, D., & Mallery, M. (2010). 즉, Skewness를 측정한 값 기준으로 -2~+2는 치우침이 없는 데이터라고 볼 수 있다. -2 미만은 Negative Skew, +..
정규성 검정(Testing Normality) : 특정 변수가 정규분포를 따르는지 확인하는 테스트 방법통계학에서 사용하는 많은 통계분석 방법에는 정규분포의 조건이 있기 때문에 분석하고자 하는 data 가 정규분포이면 t-test, ANOVA 를 분석할 수 있지만, 정규성 가정을 만족하지 못하면 분석을 못하고 비모수 검정을 해야 합니다. 정규분포 위의 그래프와 같이 정규분포를 따르는 변수인지 확인하기 위해 정규성 검정을 시행하나, n=30이 넘어가면 중심극한정리에 의해서 정규성 검정이 필요 없다. 중심극한정리는 동일한 확률분포를 가진 독립 확률 변수 n개의 평균의 분포는 n이 적당히 크다면 정규분포에 가까워진다는 정리이다.[ 출처 : http://blog.naver.com/PostView.nhn?blogI..
Random Forest는 종속변수가 존재하는 지도학습 알고리즘이다.랜덤 포레스트 알고리즘은 추천, 변수 선택, 이미지 분류 등에 자주 쓰이며 분류 문제와 회귀 문제 둘 다 적용할 수 있는 알고리즘이다. 랜덤포레스트는 decision tree(의사결정나무) 들로 구성되어 있다. 각 의사결정나무에 들어가는 sample들은 무작위로 들어가 있다. 여러 개의 의사결정나무 들을 이용해서 결과치를 뽑아내어 여기서 가장 좋은 결과를 내보내는 tree를 투표한다.의사결정나무와 랜덤포레스트의 차이점은 과접합 문제가 있느냐 없느냐 이다. 의사결정나무는 이미 학습된 데이터에 대해서는 분류를 잘하지만 새로운 데이터가 들어오면 분류를 잘 하질 못한다. 즉, 새로운 데이터에 대해서는 의사결정나무가 효용성이 적다. 랜덤포레스트는..
#!/usr/bin/env python # coding: utf-8 # Refrences ## https://mulder21c.github.io/2018/06/20/creating-web-crawler-in-python/ ## http://hellogohn.com/post_one98 ## https://medium.com/@nsh235482/python-selenium으로-웹사이트-크롤링하기-2-웹-사이트-제어해보기-1ffc5e05179d ## https://selenium-python.readthedocs.io/locating-elements.html ## T아카데미 - Python을 활용한 웹 크롤러 만들기 # HTML 실행용 (해당 코드는 없어도 된다.) from IPythttp://localhos..
테이블의 컬럼들로 다른 테이블의 컬럼을 수정 및 확인하는 방법 A와 B라는 테이블이 있다. Table A ID AGE PHONE asd12 20 01012341234 sdf13 21 01012341234 Table B SELL_ID BUY_ID COUNT DATE sdf13 asd12 20000 2018.01.01 dfsd22 asd12 10000 2018.01.01 Table A의 ID 중에서 Table B의 SELL_ID에 있는 것만 CHECK(새로 생성, default=false)라는 컬럼 안에 TRUE라는 값을 넣으려고 한다. Result Table와 같이 만드는 코드를 짜려고 한다. Result Table SELL_ID BUY_ID COUNT DATE CHECK sdf13 asd12 20000 ..
## # 주말 리스트 ## #1년 일자를 생성하고 요일 표시하기 #시작일 지정 start_date
1. Python 설치 (3.5버전 - 같이 쓰는 프로그램 등의 호환성 문제로 3.5버전 설치.) https://www.python.org/downloads/release/python-354/ 본인의 컴퓨터에 해당하는 파일 설치. windows이면 windows x86-64 executable installer 또는 windows x86 executable installer 설치 권장(실행파일로 되어 있어서 설치가 쉽다.). 전자는 64bit 파일이며, 후자는 32bit 용 파일이다. 2. Pycharm 설치 https://www.jetbrains.com/pycharm/download/#section=windows 커뮤니티(무료 버전) 설치. 기본적인 개발을 하는데는 커뮤니티만으로 해도 충분하다. 3. ..