데이터 핸들링 4

Selenium을 활용한 크롤링

공부를 한 후에도 계속해서 사용하기 편하도록 동적 크롤링에 해당하는 Selenium의 함수들을 코드와 함께 기록해 놓으려 합니다! • Selenium 라이브러리 로드 및 드라이버 생성 # 기본 selenium 라이브러리 로드 from selenium import webdriver from selenium.webdriver.common.keys import Keys import time # driver 생성 chromedriver = 'chromedriver' #chromedriver의 위치 driver = webdriver.Chrome(chromedriver) ※ 크롤링 동작이 화면에 보이지 않고 크롤링이 되는 Headless Chrome 위의 driver 생성 부분 대신 사용하게 되면 크롤링이 돌아가는..

High cardinality categorical feature에 효과적인 Mean target encoding

안녕하세요! 오늘은 데이터 인코딩 방법 중 Mean target 인코딩에 대해 알아보겠습니다. 카테고리형 피처가 매우 많은 종류의 카테고리를 가지고 있을 때 One-Hot 인코딩을 할 경우 새로운 컬럼이 너무 많이 생기게 되고 High Cardinality 피처를 모델에 너무 불균형하게 중요하게 만들어 Column Sampling 과정에 안 좋은 영향을 끼치게 됩니다. 그리고 보통 Feature Engineering 과정에서 피처들을 서로 결합해 새로운 피처를 생성하는데 이때, 새로운 High Cardinality 피처가 생성되게 됩니다. 그렇기 때문에 High Cardinality 카테고리형 피처를 숫자형으로 인코딩하기 위해 적합한 인코딩 방법이 필요하고 그것이 바로 Mean target 인코딩입니다...

결측치 (Missing Value) 처리하기

오늘은 데이터 세트의 결측치를 처리하는 방법에 대해 알아보겠습니다. 결측치가 있으면 머신러닝 알고리즘이 제대로 역할을 하지 못하기 때문에 결측치를 처리해주는 것이 중요합니다. 파이썬에서 결측치는 NaN으로 표기됩니다. 판다스로 결측치를 처리하는 방법에 대해 알아보겠습니다. 1. 결측치 확인 2. 결측치 제거 3. 결측치 대체 1. 결측치 확인 - isnull() #결측치 여부 확인 df['col'].isnull() # 결측치 개수 확인 df['col'].isnull().value_counts() 2. 결측치 제거 - dropna() # 디폴트 값 axis=0, 'any' 이므로 결측치가 있는 행 모두 삭제 df.dropna() # axis 가 1이면 열, axis가 0이면 행 # 행에 하나라도 결측치가 ..

불균형 데이터 (imbalanced data) 처리를 위한 샘플링 기법

*해당 포스팅은 고려대학교 산업경영공학부 김성범 교수님의 Youtube 채널의 "[핵심 머신러닝] 불균형 데이터 분석을 위한 샘플링 기법" 자료를 보고 공부하며 작성한 글입니다. 그림들의 출처도 아래의 출처와 동일합니다. 출처: https://www.youtube.com/watch?v=Vhwz228VrIk&list=PLpIPLT0Pf7IoTxTCi2MEQ94MZnHaxrP0j&index=7 안녕하세요! 이전에 신용카드 사기 검출 실습에서 불균형 데이터를 다뤘었는데 불균형 데이터를 처리하는 다른 방법들은 무엇이 있을까 궁금하여 찾아보다 제가 강의를 자주 듣던 김성범 교수님 채널에서 불균형 데이터 분석을 위한 샘플링 기법 강의를 보고 공부하여 포스팅하게 되었습니다. 그럼 불균형 데이터를 처리하는 여러 샘플링..