앎을 경계하기

데이터분석 11

탐색적 데이터 분석 (EDA) - 변이 추정

변이 : 데이터 값이 얼마나 퍼져있는지 알 수 있는 척도 변이 추정 하는 방법 편차 : 데이터가 중앙값을 주변으로 얼마나 퍼져 있는지에 대한 값 평균절대편차 : 편차의 대푯값을 추정하는 법 단순히 편차를 평균을 내면 편차의 합이 항상 0이 되기 때문에 사용할 수 없게 된다. 분산 : 제곱편차의 평균 표준편차 : 분산의 제곱근 표준편차는 원래 데이터와 스케일이 같아서 해석이 쉽다. 수식이 복잡해도 수학적으로 제곱한 값이 절댓값보다 통계 모델 다루기 편리하다는 이론을 근거로 평균절대편차보다 표준편차를 더 선호한다. 중위절대편차 : 분산, 표준편차, 평균절대편차는 특잇값, 극단값이 민감하다. 로버스트한 값을 얻기위해서 중위절대편차를 사용한다. 백분위수를 사용한 추정 사분위범위(IQR) : 25번째 백분위수와 ..

탐색적 데이터 분석 (EDA) - 데이터 종류와 대푯값

보통 처음 데이터가 주어지면 데이터의 유형, 분포 등 데이터에 대해 탐색하는 작업을 수행한다. 이것을 Exploratory Data Analysis, 탐색적 데이터 분석 (EDA)라고 한다. 데이터를 얻게되면 쓸모있는 데이터 외에도 무의미한 정보들이나 이상치 등 다양한 데이터들이 함께 존재한다. 그래서 데이터를 활용하기 위해 어떻게 전처리할 것인지 기준을 세우고, 변환하는 과정을 하는 것이 중요한 작업이다. 먼저, 원시 데이터를 가공하여 정형 데이터로 변환하는 작업을 한다. 정형 데이터의 종류 1. 수치형 데이터 연속형 : 일정 구간 내 어떤 값이든 가질 수 있는 변수 이산형 : 정수 값을 갖는 변수 2. 범주형 데이터 이진형 : True/False, 0 또는 1 등 둘 중 하나의 값을 갖는 변수 순서형..

Visualization - matplotlib histogram

히스토그램은 데이터를 파악하기 위해 매우 유용한 시각화 방법이다. 예시를 들어 정리하는 것이 편하다. 10명의 키를 조사한 결과가 아래와 같다. 사람 키 1 180 2 175 3 155 4 160 5 161 6 178 7 188 8 182 9 163 10 172 151~160, 161~170, 171~180, 181~190 범위로 데이터를 표현하고 싶을 때 히스토그램이 적절하다. 히스토그램의 "bin"은 데이터를 담을 바구니 수라고 생각하면 편하다. 그렇다면, y축은 각 바구니에 담긴 데이터의 수라고 할 수 있다. 위 예시에서는 bins = 4가 될것이다. heights = [180,175,155,160,161,178,188,182,163,172] plt.hist(heights, bins=4, edgec..

Data Science 2021.08.28

Visualization - matplotlib line chart, scatter chart

자주 사용하지만 블로그에 따로 정리해놓지 않아서 이번 데이터캠프 컨텐츠를 이용하기는 김에 정리해야겠다. 시각화를 하는 이유? - 데이터 분석을 위해 시각화가 필요하다. - 데이터 탐색을 위해 사용한다. - 새로운 Insight를 찾아 다른 사람들과 공유한다. matplotlib 사용해보기 import matplotlib.pyplot as plt year = [1998, 1999, 2000, 2001] pop = [8.19, 10.08, 12.54, 16.88] plt.plot(year, pop) plt.show() plot(x축, y축)을 하게 되면 다음과 같이 꺾은 선 그래프가 나온다. import matplotlib.pyplot as plt year = [1998, 1999, 2000, 2001] p..

Data Science 2021.08.28

파이썬 데이터 분석 실무 테크닉 100 - 3장

pd.to_datetime('20180401')] len(customer_start) Out[77]: 1361 최신 고객 집계¶ 가장 최근(2019년 3월) 고객 데이터 파악하기 In [78]: customer_join['end_date'] = pd.to_datetime(customer_join['end_date']) customer_newer = customer_join.loc[(customer_join["end_date"]>=pd.to_datetime('20190331'))|(customer_join['end_date'].isna())] len(customer_newer) Out[78]: 2953 In [79]: customer_newer['end_date'].unique() #검산 Out[79]: ..

<DAFIT> 05 Regular Expression 02 - 날짜

문제를 보니 날짜가 될 수 없는 데이터는 변하지 않고 올바른 날짜인 경우에만 REPLACEDATE로 치환하는 문제다. 날짜가 될 수 없는 조건은 다음과 같다. 1. month = 0이하 13이상 2. day = 0이하 32이상 * 2월의 경우 day = 0이하 30이상 정규표현식을 사용할 수 있는 파이썬 라이브러리 re를 추가한다. import re 테스트케이스는 다음과 같이 구성하였다. testcase = ["2019.02.30","2019.06.41","2019.13.30","2000.00.01","2019-06-06", "2019/06/06", "2019.06.06", "19.06.06", "6/6", "06/13", "06월 3일", "6월 23일"] 테스트케이스 중 날짜가 되지 않는 데이터만 골..

<DAFIT> 05 Regular Expression 01 - 전화번호

먼저 regular expression을 사용하기 위해서 python 라이브러리인 re를 사용한다. import re 시내 전화, 서울, 기타 지역 전화를 필터링 하기 위해 메타 문자(특별한 용도로 사용하기 위한 문자)를 사용하여 정규표현식을 만들어보자. 시내전화의 경우, 3~9로 시작하는 8자리 전화번호 이거나 XXX-XXXX으로 된 7자리 전화번호이다. 먼저 3~9로 시작해도되고 아니어도 되기때문에 첫문자가 3~9여도되고 아니어도 되고를 표현하는 것은 ^[3-9]?이다. ^는 []밖에 있을 때 처음이라는 의미이다. []안에 -로 묶인 값은 범주를 나타낸다. ex) [a-z] = a~z, [0-9] = 0~9 ?는 있어도 되고 없어도 된다를 나타내는 메타문자이다. 그 뒤 XXX-XXXX은 반드시 앞 번..

<DAFIT> 04 한국어 데이터 Tokenizer 01 - 형태소 분석기 라이브러리

가장 먼저 해야할 일 "형태소 분석기 라이브러리"를 설치하자. 그냥 구글에 형태소 분석기 라이브러리 검색하니까 나온 라이브러리 https://konlpy-ko.readthedocs.io/ KoNLPy: 파이썬 한국어 NLP — KoNLPy 0.4.3 documentation KoNLPy: 파이썬 한국어 NLP KoNLPy(“코엔엘파이”라고 읽습니다)는 한국어 정보처리를 위한 파이썬 패키지입니다. 설치법은 이 곳을 참고해주세요. NLP를 처음 시작하시는 분들은 시작하기 에서 가볍게 기본 지식을 습득할 수 있으며, KoNLPy의 사용법 가이드는 사용하기, 각 모듈의 상세사항은 API 문서에서 보실 수 있습니다. >>> from konlpy.tag import Kkma >>> from konlpy.utils ..

<DAFIT> 03 음성 단어 분류기 알고리즘 구현 04 - 오디오 데이터의 이해과정 문제

이번에는 03에서 그렸던 파형을 normalization한 데이터로 다시 한번 그려서 비교하고 차이점을 서술하는 문제이다. import wave import numpy as np import matplotlib.pyplot as plt filepath = './train/bed/004ae714_nohash_1.wav' sound = wave.open(filepath) 파일은 004ae714_nohash_1.wave를 사용했다. signal = sound.readframes(-1) signal = np.fromstring(signal, 'Int16') fs = sound.getframerate() Time=np.linspace(0, len(signal)/fs, num=len(signal)) print(si..