목록기술 - Data Science/Data Science (35)
Rucrazia's Blog
ANOVA(analysis of variance, ANOVA, 분산 분석)은 통계학에서 두 개 이상 다수의 집단을 비교하고자 할 때 집단 내의 분산, 총평균과 각 집단의 평균의 차이에 의해 생긴 집단 간 분산의 비교를 통해 만들어진 F분포를 이용하여 가설검정을 하는 방법이다. ANOVA를 사용할 때 필요로 하는 조건이 몇개가 있다. 이것을 우리는 가정이라고 한다. 대표적으로 "정규성", "등분산성", "독립성"이 있다. The experimental errors of your data are normally distributed (정규성 가정) - 종속변수의 잔차는 정규분포를 띄어야 한다. - 중심극한정리로 n>30이면 데이터는 정규분포를 띈다고 가정 할 수 있다. Equal variances betwe..
* 강의 내용 정리 + 개인적으로 알아본 내용이 추가되어 있습니다. Chapter 5. Random Walks Random walks 는 다양한 영역에서 중요하게 사용된다. 주식 시장, 물리학, 전파 모델링 등 다양한 영역에서 사용된다. Random walks의 정의는 - 시작 점이 있다. - 경로 상의 한 점에서 다음 점까지의 거리는 상수이다. - 경로 상의 한 점에서 다음 점으로의 방향은 특정 선호 조건 없이 임의로 선택된다. Random walks는 시뮬레이션을 어떻게 사용할지에 대한 좋은 예시가 된다. 본 강의에서는 시뮬레이션을 하나 이용해서 Random walks가 어떻게 작동하는지에 대해서 예시를 들었다. 시뮬레이션의 목적은 N번의 시행으로 원점과 X번 걸은 사람 간의 거리의 통계 값(평균, ..
데이터 사이언스를 공부하기 위해 필수로 공부해야 하는 분야 중 하나가 선형대수학입니다. 선형대수학을 공부하는 이유 중 하나는 선형 결합을 알기 위함입니다. 선형 결합은 '선형'회귀분석과 같은 통계학에서 나오는 '선형'을 이해하기 위함입니다. 선형 결합의 정의는 아래와 같습니다. 위의 식에서 (c1,v1), (c2, v2),... 를 아래와 같이 행렬로 만들어서 u = y라 하고, cn = a, vn = x라고 해보겠습니다. = a , = x y = a * x를 보면 1차 방장식이라는 것을 알 수 있습니다. 이렇게 간략화시키는 것을 선형 결합이라고 합니다. Ref. https://freshrimpsushi.tistory.com/512 https://ko.wikipedia.org/wiki/선형결합
*본 글에서 사용하는 언어는 Python이고 Pandas, sklearn, seaborn, matplotlib 라이브러리를 기본으로 사용합니다. 우리가 얻는 데이터는 완벽할 수 없습니다. 대중에게 서비스하고 있는 기업들에서 얻는 대부분의 데이터 또한 완벽하다고 할 수 없습니다. 물론 완벽하다는 기준이 다를 수 있습니다. 일반적으로 데이터를 얻었을 때 갖고 있는 문제를 해결하는 방법을 이번에 보려고 합니다. 이번에도 데이터는 캐글에 있는 타이타닉 데이터 Titanic: Machine Learning from Disaster 를 이용하려고 합니다. 1. 데이터 구조 확인 일단 첫 번째로 중요한 건 데이터의 구조를 확인하는 것입니다. 먼저 데이터의 내부를 보려고 합니다. df = pd.read_csv("../..
데이터 분석에서 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 ..