분류 전체보기 44

깃허브 시작하기(프로젝스 생성)_github project create

깃허브 프로젝트 생성 관련 명령어 github repository 생성 후 로컬 연결할 때 (1) git config --global user.email '아이디@이메일.com' (2) git config --globar user.name '유저 이름' (3) git init (4) git remote add origin "repository 주소" (5) 코드 업로드 준비 : git add . (6) 코드를 repository에 올릴 때 쓸 메시지 : git commit -m '메시지' (7) master branch에 코드 업로드 : git push origin master (8) repository에서 로컬로 코드 복제할 때 : git clone "repository 주소" (9) add된 파일 다..

원하는 수만큼 0을 채워넣자! zfill() 함수

쓸 일이 있을까...싶은 함수지만 알아두면 좋은 함수다. 특히, 굉장히 많은 데이터 파일을 불러올 때, 그리고 해당 파일들 이름에 201901, 201902, 201903... 식으로 일련의 숫자들이 들어간다면 아마 이 함수가 필요할 것이다. 그렇다면, zfill()함수는 언제, 어떻게 쓸까? 예를 들어, 다음과 같은 파일들이 있다고 가정해보자 공공데이터의 일부인데 2018년 1월부터 2019년 8월까지 데이터가 있음을 확인할 수 있으며, 이걸 딱 봤을 때 직관적으로 "for문 들어간 함수를 만들어서 불러오면 되겠구나!"라는 생각이 든다. 문제는 다음 상황에서 발생한다. for i in range(2018, 2020): for j in range(1, 13): ij = '{}{}'.format(i, j)..

[토이프로젝트1] 코로나19 데이터 각 컬럼 시각화 및 ARIMA/Prophet 분석

확진자가 5000명을 넘어선 가운데, 현 시각 기준으로 총 88명의 환자가 완치 판정을 받았다. 정부 당국과 전문가들 사이에선 앞으로 완치 사례가 더 많이 나올 것이란 기대감이 커지고 있다. 대부분의 확진 환자들이 신천지 신도들에게서 발생했다는 점, 그리고 대구와 경북이 아닌 지역에선 그나마 전염 속도가 빠르지 않다는 것이 앞으로를 조금이나마 낙관적으로 바라볼 수 있게 한다. 아래의 데이터는 지난 번에 분석한 코로나19 캐글 데이터의 업데이트 버전이다. 3월 4일까지의 데이터가 기록돼있지만 결측치가 없는 확진 날짜(confirmed_date) 피처와는 달리, 회복일(released_date)과 사망일(deceased_date) 피처에는 결측치가 굉장히 많다. 따라서, 컬럼 간의 관계를 살펴보는 건 조금 ..

[토이프로젝트1] 코로나19 캐글 데이터 간단 탐색 및 전처리 (1차)

데이터 출처 : https://www.kaggle.com/kimjihoo/coronavirusdataset#patient.csv Coronavirus-Dataset Official information of Coronavirus disease 2019 (COVID-19) in South Korea www.kaggle.com 코로나19의 확진자가 급증하고 있다. 사람들은 현관문을 걸어잠그고 두문불출하고 있으며(나 역시 마찬가지다) 마스크를 구입하기 위한 외출만이 잦은 상태다. 한국은 높은 진단률로 많은 확진자들을 발견했고 그만큼 많은 데이터들을 생산해내고 있다. 현 시국이 매우 개탄스러운 상황임은 맞지만 데이터 분석을 공부하는 사람들의 입장에선 리얼 데이터를 다뤄볼 수 있는 기회인 셈이기도 하다. 코로나 ..

타이타닉으로 그리드서치(GridSearch)

In [0]: import pandas as pd import numpy as np import matplotlib.pyplot as plt import seaborn as sns 타이타닉 데이터셋은 너무너무 유명한 데이터셋입니다. 머신러닝을 공부하는 사람이라면 아마 누구나 타이타닉 데이터로 시작했을 것 같아요. 저도 마찬가지이구요. 타이타닉 데이터에 대한 내용은 이미 알고 있으므로 이번 코드에선 다양한 시각화 과정, 모델 성능 향샹은 제외했으며, 그리드 서치를 구현하는 데에 집중했습니다. In [0]: df = pd.read_csv('./train.csv') print(df.shape) display(df.head()) (891, 12) PassengerId Survived Pclass Name Sex..

케라스로 mnist 인식하는 모델 만들기

케라스를 활용한 CNN으로 MNIST 인식하기¶ In [1]: from IPython.core.display import display, HTML display(HTML("")) In [3]: import numpy as np import matplotlib.pyplot as plt import tensorflow as tf from keras.datasets import mnist from keras.utils import np_utils from keras import layers from keras import models from keras.callbacks import ModelCheckpoint, EarlyStopping import warnings warnings.filterwarnings(..

깃허브 사용법(github 입문)

개발을 하다보면 깃허브는 결국 필수적으로 다룰 줄 알아야만 하는 필수 관문이 되어버립니다. 물론 저는 개발을 하지는 않지만, 데이터 분석이든 딥러닝이든 코드를 다루는 영역이라면 결국 '깃허브'라는 관문에 다다르게 되는 것 같습니다. 작년에 "나도 깃허브 좀 해볼까?"라는 가벼운 마음을 먹고 구글링을 하며 git bash도 깔고 따라하다가 연이러 뜨는 에러문구로 인해 "안해, 때려쳐"하고 내던진 적이 있습니다. 근데, 이젠 어쩔 수 없이 해야하네요. 팀프로젝트를 하게 되었는데 코드 공유를 깃허브로 하게 되어서 울며 겨자먹기로 다시 깃허브를 열었습니다. 오늘은 저같은 깃허브 입문자들을 위한 깃허브 사용법에 대해 설명해드리도록 하겠습니다. 순서대로만 따라하시면 됩니다. 1) 먼저 깃허브 계정을 만들고 로그인합..

Expected 2D array, got 1D array instead 에러 : flatten(), reshape(), ravel() 알아보기

에러 : Expected 2D array, got 1D array instead:array=[0.23 0.21 0.23 ... 0.7 0.86 0.75].Reshape your data either using array.reshape(-1, 1) if your data has a single feature or array.reshape(1, -1) if it contains a single sample. 오늘 아무 생각없이 모델 피팅하다가 이런 에러문구가 떴다.머신러닝 모델에서 fit 메소드는 2차원 배열을 입력으로 기대한다. 그런데, 1D 배열을 인풋으로 피팅하였기 때문에 에러가 발생한 것이다.이럴 경우, 1차원을 2차원으로 변환해야한다. reshape메소드를 통해 배열의 형태를 바꿀 수 있다. 예를 ..

교차검증 (cross-validation)

scikit-learn의 train_test_split()함수를 사용하여 데이터를 훈련 세트와 테스트 세트로 한 번 나누는 것보다 더 성능이 좋은 평가방법은 교차검증."Cross Validation" 이다. K-겹 교차검증에서 K에는 5 or 10과 같은 특정 숫자가 들어가며 데이터를 비슷한 크기의 집합 'K개'로 나눈다. 이를 폴드(fold)라고 한다. (1) 단순 교차검증 cross_val_score k=5일 때, 즉 데이터를 5개의 부분 집합으로 분할한 후, 각 분할마다 하나의 폴드를 테스트용으로 사용하고 나머지 4개의 폴드는 훈련용으로 쓴다. 이 과정을 반복하여 각 분할마다 정확도를 측정한다. 사이킷런에서는 교차검증을 위해 cross_val-score 함수를 제공한다. 사이킷런의 iris 데이터로..