목록전체 글 (10)
Kwon's 데이터분석기
저번 글인 SQL코드 및 정리의 마지막 설명이었던 '함수 활용하기'에 이어서 작성하도록 하겠다. ● 데이터의 그룹화, 필터링 1. 데이터의 그룹화 데이터를 그룹화 하는 GROUP BY를 사용하면 집단 간 차이를 좀 더 자세히 확인할 수 있다. 그룹화 하는 방법은 열 이름으로 그룹화 하는 방법과 열 위치로 그룹화 하는 방법 2개가 있다. 아래는 GROUP BY 구문 그룹화에 대한 코드 예시이다. # 열 이름으로 그룹화 SELECT cust_id, seg, AVG(annl_rev) AS annl_rev FROM PPC_201312 GROUP BY seg; # 열 위치로 그룹화 SELECT cust_id, seg, AVG(annl_rev) AS annl_rev FROM PPC_201312 GROUP BY 2;..
데이터 분석가라면 직접 DB에서 원하는 데이터를 뽑아내서 사용을 할 줄 알아야 할 때가 있다. 이러한 DB중 SQL을 많이 사용을 한다. SQL을 통해 데이터 적재나 구조를 직접 짤 필요는 없지만 언제든지 내가 원하는 데이터를 가져다 쓸 수 있게 하기 위해서는 SQL에 대한 기초 코드는 파악해두는 것이 좋을 것이다. ● SQL이란? Structured Query Language(구조화된 질의 언어)의 약자로, 관계형 데이터베이스 관리 시스템(RDBMS)에서 데이터를 관리하고 처리하기 위해 사용되는 표준화된 언어이다. SQL은 데이터베이스에서 데이터를 조회, 삽입, 수정, 삭제 등 다양한 작업을 수행하는데 사용된다. ●DBMS의 특성 1. 실시간 접근성(Real-timepricessing): 컴퓨터가 접근..
데이터 분석이나 데이터를 파악하기 위해서는 통계분석도 중요하지만 직관적으로 확인할 수 있는 시각화 패키지 또한 매우 중요하다. 이러한 시각화 패키지 중 Python Seaborn 시각화 코드에 대해서 살펴보겠다. import pandas as pd import numpy as np import warnings warnings.filterwarnings('ignore') import seaborn as sns import matplotlib.pyplot as plt %matplotlib inline %config InlineBackend.figure_format = 'retina' tip = sns.load_dataset('tips') tip.head() 필요 파이썬 패키지를 들고와준 후, 사용할 데이터는..
이번에는 DSAC 자격증 취득을 위한 공부를 하던 중 텍스트로만 이루어진 .txt 파일인 RadishSurvey.txt를 가지고 텍스트 데이터를 다루는 것을 할 것이다. 먼저 필요한 모듈과 텍스트 파일을 열고 내용을 확인을 해주도록 한다. import pandas as pd import numpy as np # with open으로 .txt 파일을 radish라는 이름으로 들고와준다. with open('./data/radishsurvey.txt') as radish: for line in radish: print(line, end = '') 텍스트 파일 내용으로는 사람이름과 무 이름으로 이루어진 "사람이름 - 무 이름" 형태로 이루어져 있다는 것을 알 수 있다. 이러한 데이터를 조금 더 쉽게 파악해보도..
이전까지 머신러닝 모델에 대한 학습 및 검정을 수행하고, 과대 과소적합이 모델에 존재하는지를 확인하는 방법 중 하나인 학습곡선을 이용해 모델 점수가 가장 높은 RandomForestClassifier에 대해 학습곡선을 그려본 결과 과대적합이 있다는 것을 확인할 수 있었다. 다른 머신러닝 모델의 학습곡선은 어떤지에 대해서 확인을 해보도록 한다.plt.figure(figsize=(15, 10))plt.suptitle("Learning Curves", fontsize=16)#첫번째 DTCplt.subplot(2, 2, 1)plt.title("Decision Tree Classifier")plt.xlabel("Training examples")plt.ylabel("Score")plt.grid()plt.fill_..
Daicon 경진대회 - 학습플랫폼 이용자 구독 갱신 예측에 대한 모델링을 수행해보았다. EDA 및 분석을 실시한 결과는 1. train_data와 test_data에서의 분포는 preferred_difficulty_level을 제외하고 차이가 없다. 2. average_time_per_learning_session은 오른쪽으로 꼬리가 긴 양수 왜도 형태를 띈다. 3. train_data의 boxplot결과에서는 이상치가 존재하는 것 처럼 보였지만 train_data에서 test_data의 최대 최소값에 벗어나는 값이 존재하는지 확인해보니 없기 때문에 이상치가 따로 존재하지 않는 것 같다. 4. 커뮤니티 참여도가 낮을수록 총 학습 코스 수가 적다. 5. 커뮤니티 참여도가 낮을수록 각 학습 세션에 소요된 ..
Daicon 학습 플랫폼 이용자 구독 갱신 예측 해커톤이 열려서 참여를 하였다. (데이터 출처: https://dacon.io/competitions/official/236179/overview/description) 코딩 환경은 Jupyter Notebook을 통해서 수행하였다. 먼저 기본적으로 필요한 모듈을 들고와준다. import pandas as pd import numpy as np import matplotlib.pyplot as plt import seaborn as sns import warnings warnings.filterwarnings('ignore') from matplotlib import rc rc('font', family = 'Malgun Gothic') plt.rcPara..
대학교 캡스톤 디자인의 프로젝트를 수행을 하였다. 프로젝트 수행을 하기 위한 주제를 선정을 몇가지를 팀원끼리 선정을 하였으며, 하루동안의 토론을 통해 제가 정한 주제인 실시간 화재 탐지 카메라를 만들어 보기로 하였다. 이러한 주제를 선정한 이유는 우리나라는 산간지형이 많으며, 사계절이 뚜렷하여 특정 계절에는 화재가 자주 발생을 하여 화재에 대한 피해액이 매우 크다는 것을 들어본 적이 있기 때문이다. 이러한 화재가 얼마나 자주 발생하고, 피해액이 얼마인지 소방통계청(https://www.nfds.go.kr/stat/general.do)에서 통계를 확인해보았다. 이렇게 2020년부터 2023년까지 화재 발생이 많고 피해액도 크다는 것을 확인할 수 있었다. 이러한 화재를 조금 더 빠른 대처가 가능한 방법에 대..