오늘 할 일: 끝내주게 숨쉬기
article thumbnail
[독서] 실무로 통하는 인과추론 with 파이썬 후기
일상다반사 2024. 3. 24. 14:11

한빛미디어 '나는리뷰어다2024' 서평단으로서 선정한 두 번째 도서는 '실무로 통하는 인과추론 with 파이썬' 입니다. https://www.hanbit.co.kr/store/books/look.php?p_code=B6208936856 실무로 통하는 인과추론 with 파이썬 데이터 기반의 통찰력 있는 의사결정을 위한 인과추론, 효율적인 영향력 분석을 통한 성공적인 비즈니스 정책 결정 www.hanbit.co.kr 도서 선정 이유 머신러닝 모델을 학습하기 위해 많은 변수를 수집할 때마다 생각합니다. 이거 진짜 결과에 영향 주는 변수 맞아..? 일단 활용 가능한 것들 다 넣어보는 거 아녀..? 사실 하나하나의 변수가 결과와 직접적인 관련이 없어 보이더라도 다른 변수들과의 상호 작용으로 인해 결과와 연관이 ..

article thumbnail
[Tips] 범주형 변수의 카테고리 개수를 줄이는 방법들

들어가며 데이터 탐색을 하다보면 다양하게 골치아픈 상황들을 마주하게 됩니다. 컬럼의 대부분이 비어있다거나, 분명 동일한 값인데 대문자 버전과 소문자 버전이 있다거나, 값의 정의가 시점에 따라 다르거나.. 등등 전처리가 필요한 경우는 신기할 정도로 많이 존재합니다. 그 중 하나가 바로 범주형 변수가 가진 카테고리가 너무 많은 경우입니다. 카테고리가 너무 많은 경우, 타겟과의 연관성을 파악하기도 번거롭고 시각화를 하더라도 한 눈에 들어오질 않습니다. 그 상태로 원핫인코딩을 진행한다면 카테고리마다 변수가 생겨 데이터가 sparse해지고, 트리 계열 모델을 학습한다면 학습 시간이 길어지면서 과적합되는 상황도 발생할 수 있을 것입니다. 위와 같은 단점을 해결하기 위해서는 해당 변수 내 카테고리 개수를 줄여야하는데..

article thumbnail
[Python] 코딩도장: 데코레이터로 매개변수의 자료형 검사하기

문제 출처: https://dojang.io/mod/page/view.php?id=2433 파이썬 코딩 도장: 42.7 연습문제: 데코레이터로 매개변수의 자료형 검사하기 다음 소스 코드에서 데코레이터 type_check를 작성하세요. type_check는 함수의 매개변수가 지정된 자료형(클래스)이면 함수를 정상적으로 호출하고, 지정된 자료형과 다르면 RuntimeError 예외를 발생시 dojang.io 다음 소스 코드에서 데코레이터 type_check를 작성하세요. type_check는 함수의 매개변수가 지정된 자료형(클래스)이면 함수를 정상적으로 호출하고, 지정된 자료형과 다르면 RuntimeError 예외를 발생시키면서 '자료형이 다릅니다.' 에러 메시지를 출력해야 합니다. 여기서 type_chec..

article thumbnail
[pandas] 칼럼 이름 변경하기: rename, set_index, columns

데이터 분석을 하다보면 파이썬에서 판다스 데이터프레임의 칼럼을 변경해야 하는 경우가 가끔 있습니다. 본 포스트에서는 칼럼 이름을 변경하는 방법에 대해 알아보겠습니다. 먼저 사용할 임의의 데이터프레임을 생성하겠습니다. import pandas as pd df = pd.DataFrame({'id': ['a', 'b', 'c'], 'date': ['20211030', '20211031', '20211031'], 'price': [1000, 2000, 2500]}) display(df) 칼럼명을 변경하는 방법은 크게 세 가지입니다. rename 메서드를 이용하는 방법, set_axis 메서드를 이용하는 방법, columns 어트리뷰트에 직접 할당하는 방법이 있는데요 하나씩 알아보겠습니다! 1. rename 메서..

[numpy] random 모듈을 이용하여 랜덤추출하기

제가 매일 까먹어서 작성합니다... 본 포스팅에서는 numpy의 서브모듈인 random을 이용하여 난수를 생성하는 방법을 알아보겠습니다. random은 난수를 발생시키는 모듈로 randint, hoice, randint, uniform 등의 메서드를 내장하고 있습니다. 아래 코드를 통해 로드한 후 사용하는데, 기본 모듈인 random과 혼동되지 않도록 주의하세요. from numpy import random 난수(亂數, Random Number)란 정의된 범위 내에서 무작위로 추출된 수를 일컫는다. 난수는 누구라도 그 다음에 나올 값을 확신할 수 없어야 한다. (출처: 위키백과) 1. seed 시드 설정을 할 때마다 동일한 숫자 세트가 나타나 코드 디버깅과 같은 작업을 할 때 유용하게 사용할 수 있습니다..

article thumbnail
[pandas] rank와 sort_values를 이용하여 순위 매기기(부제: 여러 변수를 이용하여 순위 매기기)

학생들의 시험점수를 이용해 등수를 매길 때, 고객이 가장 필요로 할 것 같은 상품의 우선순위를 따질 때 등 순위를 생성해야하는 상황은 다양합니다.. 본 포스트에서는 데이터프레임에 저장된 변수를 이용해 순위를 생성하는 방법을 알아보겠습니다. 사용할 데이터는 다음과 같습니다. import pandas as np import numpy as np sample = pd.DataFrame({'id': ['A', 'B', 'C', 'D', 'E'] , 'time_spend_company': [4, 3, 4, 4, 3] , 'satisfaction_level': [0.89, 0.89, 0.74, 0.67, 0.72]}) display(sample) 1. rank 함수 이용하기 rank 함수는 주어진 값들을 이용하여 ..

article thumbnail
[pandas] 데이터 재구성: wide_to_long 함수와 melt 함수

데이터 분석을 하다보면 필요에 따라 기존에 구성되어 있는 데이터를 재구조화하기도 합니다. 본 포스팅에서는 파이썬에서 데이터프레임을 재구성하는 방법, 특히 wide하게 구성되어 있는 데이터를 long하게 변경하는 방법에 대해 알아보겠습니다. wide 데이터는 가로로 놓여진 데이터를, long 데이터는 세로로 늘어놓인 데이터라는 것을 이해하고 읽으시면 좋겠습니다. 사용할 데이터는 다음과 같습니다. import pandas as pd df = pd.DataFrame({"id" : ['a', 'b', 'c'], "pred1" : [0.5, 0.6, 0.8], "pred2" : [0.8, 0.6, 0.4], "pred3" : [0.2, 0.7, 0.5]}) display(df) unique한 아이디마다 세 종류의..

article thumbnail
유사도의 종류와 파이썬 구현: 자카드 유사도, 피어슨 유사도, 코사인 유사도

어떤 상품 X와 Y, Z가 있다고 합시다. 세 상품은 속성으로 제조년도, 제조국가, 유통기한, 소비기한, 원가, 판매가 등등을 가질 수 있겠죠. 이런 속성들을 숫자로 잘 뽑으면 상품들을 속성 값들의 나열, 즉 벡터로 표현할 수 있게 됩니다. 예를 들면, X = [1,0,2,3,2] Y = [1,0,3,2,1] Z = [0,1,3,1,1] 이런 식인거죠. 이렇게 아이템마다 벡터화를 해주고 나면, 아이템간 유사도를 구할 수 있습니다. 어떤 아이템이 과연 어떤 아이템과 가장 비슷한가? 혹은 비슷하지 않은가?를 계산할 수 있는 것이죠. 이 포스팅에서는 벡터를 이용하여 계산할 수 있는 유사도들을 알아보겠습니다. 1. 자카드 유사도(Jaccard Similarity) 자카드 유사도는 집합의 개념을 이용하는데요, 한..

article thumbnail
[시각화] subplots와 반복문을 이용하여 그래프 여러개 그리기

데이터를 파악하기 위해서는 시각화가 필수입니다. 데이터가 어떻게 생겼는지 확인하기 위해 여러 그림을 그리다보면 한번에 그리고 싶을 때가 있죠. 본 포스팅에서는 matplotlib의 subplots 함수와 seaborn 라이브러리를 이용하여 그래프를 한번에 여러개 그려보도록 하겠습니다. 먼저 필요한 라이브러리들과 데이터를 불러옵니다. 데이터는 캐글에서 가져온 HR 자료를 사용했습니다. import pandas as pd import numpy as np import seaborn as sns import matplotlib.pyplot as plt df = pd.read_csv('./data/HR_comma_sep.csv') display(df.shape, df.head()) 위 데이터로부터 부서(Depa..

[datetime] 파이썬에서 datetime을 이용하여 날짜, 시간 다루기

데이터 분석을 할 때 빠지면 섭섭한 자료형이 바로 날짜, 시간입니다. 고객이 행동을 하면 기록되는 웹페이지 로그라던가 초단위로 집계되는 기계의 자동화 시스템이 시간과 함께 저장되는 대표적인 데이터라고 할 수 있겠습니다. 시간, 시점과 관련한 분석을 실행하기 위해서는 파이썬에서 어떻게 날짜와 시간을 처리하는지 알아야겠죠. 본 포스팅에서는 파이썬에서 날짜와 시간을 다루는데 사용되는 datetime 라이브러리 사용방법에 대해 알아보겠습니다. datetime 라이브러리 소개 datetime은 파이썬에서 날짜와 시간을 다루는 클래스, 함수들을 모아놓은 라이브러리입니다. datetime 라이브러리는 날짜와 시간을 함께 저장하는 datetime 클래스, 날짜 정보를 저장하는 date 클래스, 시간 정보를 저장하는 t..

반응형