Python_7강_Data Analysis Process & Data Pre-processing & Data Collection

학습목표

데이터 분석 프로젝트를 앞두고, 데이터 분석은 어떻게 진행해야 하고 좋은 분석 모델은 무엇이고 어떻게 평가 해야하는지를 학습한다.

학습내용 및 방법


데이터 분석 방법론 및 프로세스 - 데이터 분석 절차, Confusion Matrix, 모형평가, F1-Measure 평가, K-Fold 검증 방식

K-fold Test Code

  • sklearn이라는 Package를 사용하여 쉽게 구할 수 있음. (f1_score_sklearn.ipynb 참조)
  • K로 나누어 떨어지지 않는 경우, 각 Fold의 사이즈가 달라질 수 있음에 주의
  • random_seed가 1일 때의 경우
# scikit-learn k-fold cross-validation
from numpy import array
from sklearn.model_selection import KFold
# data sample
data = array([0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8])
# prepare cross validation
k = 4
shuffles = True
random_seed = 1
kfold = KFold(k, shuffles, random_seed)
# enumerate splits
for train, test in kfold.split(data):
    print('train: %s, test: %s' % (data[train], data[test]))

1542093256314

  • random_seed가 10일 때의 경우
# scikit-learn k-fold cross-validation
from numpy import array
from sklearn.model_selection import KFold
# data sample
data = array([0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8])
# prepare cross validation
k = 4
shuffles = True
random_seed = 1
kfold = KFold(k, shuffles, random_seed)
# enumerate splits
for train, test in kfold.split(data):
    print('train: %s, test: %s' % (data[train], data[test]))

1542093399373

  • 데이터가 있으면 쪼개는 것도 일이고, 공정하게 쪼갰냐는 것에 대한 질문을 받을 수 있음.
  • Sklearn에 있는 모델셀렉션을 사용해서 나눴다고 하면 인정하고 넘어가는 경우가 많음.
  • random_seed 값을 지정해줘야 함.
  • Seed값을 안 바꾸고 돌리면 경향성이 있기 때문에 당첨된 사람만 당첨되기도 함.

Regular Experssion

  • https://programmers.co.kr/learn/courses/11/lessons/132
  • 어떤 유니코드를 따르고 있냐에 따라 값이 달라질 수 있음.
  • 유니코드 처리를 다루지 않으면 외부에 있는 데이터를 파이썬으로 가져오는 것을 할 수 없음.
  • 정규표현식(Regular Expression) : 특정한 문자가 반복되는 것을 엑셀 파일로 바꾸면 좋을 것 같다는 생각이 들 때가 있음. 특정 텍스트 패턴을 잡아내기 위해 만든 식임. 완벽하게 일치하지 않더라도 특정 패턴이 있으면 바로 잡아낼 수 있음. (예 : 전에 우리가 만들었던 욕을 잡는 코딩은 동일해야 했음. 하지만 이 정규표현식은 조금 달라도 괜찮음)
  • 2017 공동주택.csv
기준연도,기준월,법정동코드,시도,시군구,읍면,동리,특수지코드,본번,부번,특수지명,단지명,동명,전용면적,,공시가격
"2007","1","1111010100","서울특별시","종로구",,"청운동","9","1","0",,"청운벽산빌리지","1","187.49","1","544000000"
"2007","1","1111010100","서울특별시","종로구",,"청운동","9","1","0",,"청운벽산빌리지","1","187.49","1","544000000"
"2007","1","1111010100","서울특별시","종로구",,"청운동","9","1","0",,"청운벽산빌리지","1","157.25","2","512000000"
"2007","1","1111010100","서울특별시","종로구",,"청운동","9","1","0",,"청운벽산빌리지","1","157.25","2","512000000"
"2007","1","1111010100","서울특별시","종로구",,"청운동","9","1","0",,"청운벽산빌리지","1","152.33","3","496000000"
"2007","1","1111010100","서울특별시","종로구",,"청운동","9","1","0",,"청운벽산빌리지","1","152.33","3","496000000"
"2007","1","1111010100","서울특별시","종로구",,"청운동","9","1","0",,"청운벽산빌리지","2","187.49","1","544000000"
"2007","1","1111010100","서울특별시","종로구",,"청운동","9","1","0",,"청운벽산빌리지","2","187.49","1","544000000"
"2007","1","1111010100","서울특별시","종로구",,"청운동","9","1","0",,"청운벽산빌리지","2","187.49","1","544000000"
"2007","1","1111010100","서울특별시","종로구",,"청운동","9","1","0",,"청운벽산빌리지","2","187.49","1","544000000"
"2007","1","1111010100","서울특별시","종로구",,"청운동","9","1","0",,"청운벽산빌리지","2","157.25","2","512000000"
"2007","1","1111010100","서울특별시","종로구",,"청운동","9","1","0",,"청운벽산빌리지","2","157.25","2","512000000"
"2007","1","1111010100","서울특별시","종로구",,"청운동","9","1","0",,"청운벽산빌리지","2","157.25","2","512000000"
"2007","1","1111010100","서울특별시","종로구",,"청운동","9","1","0",,"청운벽산빌리지","2","157.25","2","512000000"
"2007","1","1111010100","서울특별시","종로구",,"청운동","9","1","0",,"청운벽산빌리지","2","152.33","3","496000000"
"2007","1","1111010100","서울특별시","종로구",,"청운동","9","1","0",,"청운벽산빌리지","2","152.33","3","496000000"
"2007","1","1111010100","서울특별시","종로구",,"청운동","9","1","0",,"청운벽산빌리지","2","152.33","3","496000000"
"2007","1","1111010100","서울특별시","종로구",,"청운동","9","1","0",,"청운벽산빌리지","2","152.33","3","496000000"
"2007","1","1111010100","서울특별시","종로구",,"청운동","9","1","0",,"청운벽산빌리지","3","167.6","1","520000000"
"2007","1","1111010100","서울특별시","종로구",,"청운동","9","1","0",,"청운벽산빌리지","3","167.6","1","520000000"
"2007","1","1111010100","서울특별시","종로구",,"청운동","9","1","0",,"청운벽산빌리지","3","167.6","1","520000000"
"2007","1","1111010100","서울특별시","종로구",,"청운동","9","1","0",,"청운벽산빌리지","3","167.6","1","520000000"
"2007","1","1111010100","서울특별시","종로구",,"청운동","9","1","0",,"청운벽산빌리지","3","131.42","1","424000000"
"2007","1","1111010100","서울특별시","종로구",,"청운동","9","1","0",,"청운벽산빌리지","3","131.42","1","424000000"
"2007","1","1111010100","서울특별시","종로구",,"청운동","9","1","0",,"청운벽산빌리지","3","140.51","2","456000000"
"2007","1","1111010100","서울특별시","종로구",,"청운동","9","1","0",,"청운벽산빌리지","3","140.51","2","456000000"
"2007","1","1111010100","서울특별시","종로구",,"청운동","9","1","0",,"청운벽산빌리지","3","140.51","2","456000000"
"2007","1","1111010100","서울특별시","종로구",,"청운동","9","1","0",,"청운벽산빌리지","3","140.51","2","456000000"
"2007","1","1111010100","서울특별시","종로구",,"청운동","9","1","0",,"청운벽산빌리지","3","131.42","2","440000000"
"2007","1","1111010100","서울특별시","종로구",,"청운동","9","1","0",,"청운벽산빌리지","3","131.42","2","440000000"
"2007","1","1111010100","서울특별시","종로구",,"청운동","9","1","0",,"청운벽산빌리지","3","137.03","3","432000000"
"2007","1","1111010100","서울특별시","종로구",,"청운동","9","1","0",,"청운벽산빌리지","3","137.03","3","432000000"
"2007","1","1111010100","서울특별시","종로구",,"청운동","9","1","0",,"청운벽산빌리지","3","137.03","3","432000000"
"2007","1","1111010100","서울특별시","종로구",,"청운동","9","1","0",,"청운벽산빌리지","3","137.03","3","432000000"
"2007","1","1111010100","서울특별시","종로구",,"청운동","9","1","0",,"청운벽산빌리지","3","131.42","3","429000000"
"2007","1","1111010100","서울특별시","종로구",,"청운동","9","1","0",,"청운벽산빌리지","3","131.42","3","429000000"
"2007","1","1111010100","서울특별시","종로구",,"청운동","9","1","0",,"청운벽산빌리지","5","176.4","1","536000000"
"2007","1","1111010100","서울특별시","종로구",,"청운동","9","1","0",,"청운벽산빌리지","5","176.4","1","536000000"
"2007","1","1111010100","서울특별시","종로구",,"청운동","9","1","0",,"청운벽산빌리지","5","176.4","1","536000000"
"2007","1","1111010100","서울특별시","종로구",,"청운동","9","1","0",,"청운벽산빌리지","5","176.4","1","536000000"
"2007","1","1111010100","서울특별시","종로구",,"청운동","9","1","0",,"청운벽산빌리지","5","141.39","2","456000000"
"2007","1","1111010100","서울특별시","종로구",,"청운동","9","1","0",,"청운벽산빌리지","5","141.39","2","456000000"
"2007","1","1111010100","서울특별시","종로구",,"청운동","9","1","0",,"청운벽산빌리지","5","141.39","2","456000000"
"2007","1","1111010100","서울특별시","종로구",,"청운동","9","1","0",,"청운벽산빌리지","5","141.39","2","456000000"
"2007","1","1111010100","서울특별시","종로구",,"청운동","9","1","0",,"청운벽산빌리지","5","141.39","3","444000000"
"2007","1","1111010100","서울특별시","종로구",,"청운동","9","1","0",,"청운벽산빌리지","5","141.39","3","444000000"
"2007","1","1111010100","서울특별시","종로구",,"청운동","9","1","0",,"청운벽산빌리지","5","141.39","3","444000000"
"2007","1","1111010100","서울특별시","종로구",,"청운동","9","1","0",,"청운벽산빌리지","5","141.39","3","444000000"
"2007","1","1111010100","서울특별시","종로구",,"청운동","9","1","0",,"청운벽산빌리지","6","176.4","1","536000000"
"2007","1","1111010100","서울특별시","종로구",,"청운동","9","1","0",,"청운벽산빌리지","6","176.4","1","536000000"
"2007","1","1111010100","서울특별시","종로구",,"청운동","9","1","0",,"청운벽산빌리지","6","176.4","1","536000000"
"2007","1","1111010100","서울특별시","종로구",,"청운동","9","1","0",,"청운벽산빌리지","6","176.4","1","536000000"
"2007","1","1111010100","서울특별시","종로구",,"청운동","9","1","0",,"청운벽산빌리지","6","176.4","1","536000000"
"2007","1","1111010100","서울특별시","종로구",,"청운동","9","1","0",,"청운벽산빌리지","6","176.4","1","536000000"
"2007","1","1111010100","서울특별시","종로구",,"청운동","9","1","0",,"청운벽산빌리지","6","141.39","2","456000000"
"2007","1","1111010100","서울특별시","종로구",,"청운동","9","1","0",,"청운벽산빌리지","6","141.39","2","456000000"
"2007","1","1111010100","서울특별시","종로구",,"청운동","9","1","0",,"청운벽산빌리지","6","141.39","2","456000000"
"2007","1","1111010100","서울특별시","종로구",,"청운동","9","1","0",,"청운벽산빌리지","6","141.39","2","456000000"
"2007","1","1111010100","서울특별시","종로구",,"청운동","9","1","0",,"청운벽산빌리지","6","141.39","2","456000000"
"2007","1","1111010100","서울특별시","종로구",,"청운동","9","1","0",,"청운벽산빌리지","6","141.39","2","456000000"
"2007","1","1111010100","서울특별시","종로구",,"청운동","9","1","0",,"청운벽산빌리지","6","141.39","3","444000000"
"2007","1","1111010100","서울특별시","종로구",,"청운동","9","1","0",,"청운벽산빌리지","6","141.39","3","444000000"
"2007","1","1111010100","서울특별시","종로구",,"청운동","9","1","0",,"청운벽산빌리지","6","141.39","3","444000000"
"2007","1","1111010100","서울특별시","종로구",,"청운동","9","1","0",,"청운벽산빌리지","6","141.39","3","444000000"
"2007","1","1111010100","서울특별시","종로구",,"청운동","9","1","0",,"청운벽산빌리지","6","141.39","3","444000000"
"2007","1","1111010100","서울특별시","종로구",,"청운동","9","1","0",,"청운벽산빌리지","6","141.39","3","444000000"
"2007","1","1111010100","서울특별시","종로구",,"청운동","9","1","0",,"청운벽산빌리지","7","196.29","1","552000000"
"2007","1","1111010100","서울특별시","종로구",,"청운동","9","1","0",,"청운벽산빌리지","7","196.29","1","552000000"
"2007","1","1111010100","서울특별시","종로구",,"청운동","9","1","0",,"청운벽산빌리지","7","156.91","2","512000000"
"2007","1","1111010100","서울특별시","종로구",,"청운동","9","1","0",,"청운벽산빌리지","7","156.91","2","512000000"
"2007","1","1111010100","서울특별시","종로구",,"청운동","9","1","0",,"청운벽산빌리지","7","156.91","3","504000000"
"2007","1","1111010100","서울특별시","종로구",,"청운동","9","1","0",,"청운벽산빌리지","7","156.91","3","504000000"
"2007","1","1111010100","서울특별시","종로구",,"청운동","9","1","0",,"청운벽산빌리지","8","82.89","1","264000000"

데이터 크롤링 Crawling

  • 깃허브나 블로그를 볼 때 달라지듯이 웹페이지를 python에서 접속해서 보는 페이지는 다름.
  • 우리가 원하는 데이터를 추출해내는 방법임.

프로젝트 진행시 도움이 되는 자료들

정부 3.0 공공데이터 포털

  • 공공데이터포털의 데이터를 가지고 tableau 사용 가능(예: 공시데이터와 실거래부동산데이터와의 연관관계 분석)
  • 우리나라 재정 정보, 코스피의 향상여부

Kaggle

  • Kaggle에서 S, M, L로 사이즈 선정 가능
  • 도메인 영역이 얼마나 활성화되어 있는 시장인가(예: 의료사업을 분석하는 것과 비영리기관을 분석하는 것이 다름)

카카오 아레나

  • 카테고리 분류를 하고 공모전에 참여해도 좋음(예: 쇼핑몰 상품)
  • 청크 하나가 8기가라 프로젝트로 진행하기 어려움. 천만 개 가까이 되는 빅데이터임.

네이버 데이터 랩

  • 키워드 생명주기
  • 지역별 관심도

국가공간정보포털

  • 자표 정보를 가져와 Tableau와 연결할 수 있음.
  • 구글맵과도 연동할 수 있음.

Google Public Data Explorer

  • 세계개발지표, 유럽 월별 실업자 수 등
  • 측정 항목 : 단기 채무, 국방비
  • 예 : 미국 주식이 떨어질까 오를까? 중국 GDP가 40% 기준으로 거시경제지표를 사용하기도 함.
  • 그래프를 다 그려줘서 프로젝트 진행 시 복사+붙여넣기 하기 좋음.

댓글남기기