Data Science
-
[정규화,sklearn] MinMaxScaler, StandardScaler, RobustScalerData Science/Pandas & Numpy&Scikit-learn 2021. 9. 14. 15:47
예측 모델을 위한 입력 피처를 구성하기 위해서는 수치형 값을 정규화 해야한다. 컬럼별로 수치형 값의 범위가 다를 경우 모델이 정확하게 학습되지 않을 수 있다. 본 포스팅에서는 각 컬럼들이 비슷한 범위를 가지게 하는 세가지 방법을 소개한다. 데이터 준비 import pandas as pd df=pd.DataFrame({ 'ID':[1,2,3,4,5], 'name':['아메리카노','바닐라라떼','아메리카노','민트초코','아메리카노'], 'tumbler':['N','Y','Y','N','N'], 'Age':[25,31,18,22,35], 'weight':[88.5,65.3,61.6,77.4,89.9] }) print(df) 데이터 타입 확인 print(df.dtypes) 수치형 컬럼 지정 해당 데이터에서 ..
-
[인코딩,sklearn] Ordinal EncodingData Science/Pandas & Numpy&Scikit-learn 2021. 9. 14. 10:19
인코딩 방법에는 여러가지가 존재한다. 본 포스팅에서는 Ordinal 인코딩을 사용한다. One-Hot 인코딩은 단어 집합의 크기를 벡터 차원으로 하여 0과 1로 표현하는 반면, Ordinal 인코딩은 단어를 0~n의 값으로 치환한다. 따라서 데이터프레임의 컬럼 개수는 그대로이다. 샘플 데이터 생성 import pandas as pd df=pd.DataFrame({ 'ID':[1,2,3,4,5], 'name':['아메리카노','바닐라라떼','아메리카노','민트초코','아메리카노'], 'tumbler':['N','Y','Y','N','N'] }) print(df) 컬럼별 데이터 타입 살펴보기 print(df.dtypes) 범주형 데이터 타입만 살펴보기 (categorical, object) categoric..
-
[인코딩,sklearn] One-Hot EncodingData Science/Pandas & Numpy&Scikit-learn 2021. 9. 14. 10:07
인코딩 방법에는 여러가지가 존재한다. 본 포스팅에서는 가장 널리 쓰이는 One-Hot 인코딩을 사용한다. 샘플 데이터 생성 import pandas as pd df=pd.DataFrame({ 'ID':[1,2,3,4,5], 'name':['아메리카노','바닐라라떼','아메리카노','민트초코','아메리카노'], 'tumbler':['N','Y','Y','N','N'] }) print(df) 컬럼별 데이터 타입 살펴보기 print(df.dtypes) 범주형 데이터 타입만 살펴보기 (categorical, object) categorical_list = df.dtypes[df.dtypes == "object"].index.tolist() print("Categorical features: ", categori..
-
[파이썬] 주가(finance) 데이터 불러오기 - FinanceDataReaderData Science/데이터셋 2021. 9. 2. 16:28
주가 데이터 불러오기 필요 라이브러리 설치 pip install finance-datareader pip install BeautifulSoup4 라이브러리 선언 import pandas as pd import FinanceDataReader as fdr 데이터 불러오기 key_lst = ['USD/KRW','KS11','KQ11','KS200'] name_lst = ['환율','코스피','코스닥','코스피200'] df_lst = [] for x,name in zip(key_lst,name_lst): df_lst.append(fdr.DataReader(x, s_time, e_time)[['Close']]) korea_df = pd.concat(df_lst, axis=1) korea_df.columns ..
-
[문자열/Regex] 문자열 특정 문자 바꾸기Data Science/데이터마이닝 2021. 5. 17. 20:13
문자열에서 특정 문자 바꾸기를 알아봅니다. 오늘의 포스팅에서는 아래와 같은 문자열을 통해 진행해보겠습니다. sample = "My phone number is 010-0000-0000" 1. Replace #기본 문법 => replace(원본값,변경값,변경횟수) result1 = sample.replace('0','9') # 변경횟수는 기본값 all result2 = sample.replace('0','9',1) result3 = sample.replace('0','9',3) My phone number is 919-9999-9999 My phone number is 910-0000-0000 My phone number is 919-9000-0000 2. re.sub #기본 문법 => re.sub(원본값..
-
[Bokeh] 꺽은선 그래프 그리기 (Line chart)Data Science/시각화 2021. 2. 26. 20:31
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 import numpy as np from bokeh.io import curdoc from bokeh.layouts import row from bokeh.models import ColumnDataSource from bokeh.plotting import figure # Set up data N = 200 x = np.linspace(0, 4*np.pi, N) y = np.sin(x) source = ColumnDataSource(data=dict(x=x, y=y)) # Set up plot plot = figure(plot_height=400, plot_width=400, title="my sine w..