2022/06 34

pandas - forward fill

df.ffill() reference: pandas.DataFrame.ffill(pandas.pydata.org) Python pandas - 결측값 채우기 ... Python | Pandas dataframe.ffill() Pandas DataFrame ffill() Method 머신러닝 모델은 결측치가 존재하는 데이터프레임을 받아들이지 못한다. 따라서 데이터 전처리 과정에서는 반드시 NaN 값을 체크하고 해당 결측치를 특정 값으로 대체하거나 해당 결측치가 포함된 열 혹은 행을 제거해야 한다. 그러나 열 혹은 행을 제거한다면 중요한 데이터 소스를 잃어버리게 된다. 이를 감수할 만큼 해당 데이터 열 혹은 행이 유의미하지 않다면 무관하나 유의미하다면 제거하기보다 새로운 값으로 대체하는 것이 좋겠다. 결측치..

파이썬을 활용한 코스피, 달러 환율정보 수집부터 차트 시각화까지

Step 0. XHR 이란 XHR은 XMLHttpRequest의 약자로, Ajax처럼 페이지 리로드 없이 서버의 데이터를 불러올 수 있는 통신 방식이다. 브라우저 상에서 제공하는 객체 형태의 API라고 이해하면 좀 더 와닿겠다. 그래서 이 XHR은 기본적으로 브라우저가 웹서버와 통신하기 위한 수단이지만, 우리가 직접 사용해 웹 서버에서 직접 원하는 데이터를 호출할 수도 있다. 방식은 크게 2가지로, POST와 GET 방식이 있다. 여기서 두 케이스를 모두 경험해보기 위해 코스피 정보는 krx정보데이터시스템에서, 달러 정보는 yahoofinance에서 긁어보도록 하겠다. 참고로 이렇게 사이트마다 데이터를 호출하는 방식이 다르기 때문에 데이터를 수집하고자 한다면 어떤 형태로 서버와 통신하는지 사전에 확인해야..

GCP - firestore

firestore를 사용하기 위해 먼저 구글 클라우드 플랫폼의 IAM 관리자에서 서비스 계정을 하나 만들어준다(이미 있으면 pass) 서비스계정을 만들면 자동으로 인증키 json 파일이 다운로드 된다. 해당 파일을 가지고 나의 firebase_admin을 초기화해주면 설정 완료. 설정(키 인식)이 끝났다면, 데이터를 넣어본다. 만약 doc_ref 변수로 지정한 collection과 document가 없다면 알아서 생성된다. *데이터 구조: 컬렉션 > 문서 > 필드 > 데이터 기존에 가지고 있던 collection, document가 있다면, 해당 경로에 데이터가 추가된다 문서 아래에는 하위 컬랙션을 추가할 수도 있다. 해당 컬랙션에는 message 정보를 담아보자 만약, 데이터프레임 형태의 데이터를 가지..

sklearn - confusion_matrix()

sklearn.metrics.confusion_matrix reference : sklearn.metrics.confusion_matrix, scikit-learn.org 분류 성능평가, 데이터사이언스스쿨 Document sklearn.metrics.confusion_matrix(y_true, y_pred, *, labels=None, sample_weight=None, normalize=None) 사용 예시 from sklearn.metrics import confusion_matrix y_true = [2, 0, 2, 2, 0, 1] y_pred = [0, 0, 2, 2, 0, 2] confusion_matrix(y_true, y_pred) array([[2, 0, 0], [0, 0, 1], [1, ..

Elastic Stack 활용 서울시 상권 매출 대시보드 구축 - (1) elastic search, kibana

데이터 파이프라인 구축 (1)에서 csv 파일의 텍스트 전처리가 필요했다. 해당 부분부터 이어서 kibana 대시보드 작업까지 진행한다. 지난 글에서 작성했지만, 작업환경과 파이프라인 flow도 다시 보자. """ 작업 환경: Macbook Pro 2019 - i9, 16GB GCP 가상 머신 4대 할당(e2-small 3대 + e2-medium 1대) 가상 머신 1대에 클러스터 1개 배치(클러스터당 노드도 1개씩) filebeat 설치(Local) logstash 설치(Local) elastic search 설치(e2-small 3개 각각 설치) kibana 설치(e2-medium 1대에 설치) 데이터: 서울시 상권 추정 매출(서울시 열린 데이터 광장 제공) 구축할 데이터 파이프라인 Flow: Beat..

pandas - reset_index()

reset_index(drop=True) 자꾸 까먹어서 적어놓는다. 데이터전처리가 끝난 후, 혹은 중간에 데이터 정리가 필요한 경우 reset_index()는 유용하게 사용된다. reset_index() 는 마치 엑셀, 구글스프레드시트의 고정된 index 번호처럼 0부터 순서대로 index를 정리해주는 함수다. 아래와 같은 과일의 특징을 정리한 데이터프레임이 있다고 해보자. print(df) x1 x2 x3 x4 Apple 1 1 0 0 Banana 1 0 1 1 Kiwi 0 1 1 0 reset_index() 함수를 사용해보면, 인덱스가 다시 정리되고 기존의 index는 새로운 '열'로 추가된다. print(df.reset_index()) index x1 x2 x3 x4 0 Apple 1 1 0 0 1..

sklearn - numeric encoding

Encoder LabelEncoder OneHotEncoder LabelBinarizer *reference : kaggle, Heart Attack Prediction_95.4% accuracy, Avinash Bagul* 머신러닝 프로젝트 실행-3, cyan91 1. LabelEncoder object 타입의 label을 숫자형으로 변환 머신러닝 모델은 모든 컬럼의 값을 숫자형으로 통일시켜줘야 하는데(혹은 categorical column은 제거해야 하는데) 이는 확률 모델이기 때문에 그렇다(+수식 계산이 가능해야 미분을 통한 학습이 이루어질 수 있다) 예시 코드 from sklearn.preprocessing import LabelEncoder le = LabelEncoder() X_encoded ..

1 2 3 4