본문 바로가기

Python

[ML] House Prices https://www.kaggle.com/c/house-prices-advanced-regression-techniques/ House Prices - Advanced Regression Techniques | Kaggle www.kaggle.com 1. House Prices 개요 아이오와주 에임스에 있는 주거용 주택의 모든 측면을 설명하는 79개의 피처가 있는 이 대회는 주택의 최종 가격을 예측하는데 도전한다. 79개의 특성들을 활용하여 주택 가격을 예측하는 이 대회는 많은 피처들을 전처리해야한다. 즉, EDA 실력 향상에 큰 도움이 되는 대회이다. 2. 데이터 종류 3. 데이터 확인하기 이번 대회에서는 concat을 활용하여 train 셋과 test 셋을 합쳐서 한번에 전처리 하는 방법으로 실습을 .. 더보기
[ML] 왜도와 첨도 🤔 왜도와 첨도를 알아야하는 이유 왜도와 첨도가 무엇인가를 알기 전에 왜도와 첨도를 왜 알아야하는가에서 부터 시작해보자. 우리가 데이터를 분석하여 모델링을 하였을 때 모델이 더 정확하게 분석하여 높은 성능을 나타내려면 데이터의 분포가 정규분포 형태일 때가 가장 베스트이다. 하지만 많은 데이터들은 정규분포가 아닌 데이터일 가능성이 매우 높다. 결국 우리가 왜도와 첨도를 알아야 할 이유는 정규분포를 만들기 전 어떤 형태로 데이터가 분포되어 있는지를 알기 위해서이다. 📝 왜도(Skewness) 왜도는 확률변수의 확률분포가 비대칭성을 나타내는 지표이다. 왜도가 음수일 경우에는 왼쪽으로 꼬리가 길며(왼쪽그래프) 오른쪽에 데이터가 많이 분포해 있다. 왜도가 음수일 경우에는 오른쪽으로 꼬리가 길며(오른쪽그래프) 왼쪽.. 더보기
[ML] 피처 엔지니어링(Feature Engineering) 📢 피처 엔지니어링이란? 피처 엔지니어링은 데이터에 대한 지식을 바탕으로 특성(feature)을 생성, 변경, 삭제 등 조작하여 사용하기에 더욱 유용한 형태로 만드는 과정이다. 피처 엔지니어링은 탐색적 데이터 분석(EDA)를 한 후에 모델의 성능을 올리기 위해 작업을 하는 경우가 많지만 피처 엔지니어링을 거쳐야 EDA를 할 수 있는 상황이나 EDA를 하는 도중 새로운 값을 알기 위해 피처엔지니어링을 하는 상황등이 발생하기도 한다. 그래서 딱 정해진 순서가 있는 것은 아니다. 피처 엔지니어링의 분류 특성 선택(Feature Selection) - 해당 분야의 전문가의 지식이나, 특성의 중요도에 따라 일부 특성을 버리거나 선택하는 것 특성 추출(Feature Extraction) - 특성들의 조합으로 아예 .. 더보기
[ML] Bike Sharing Demand https://www.kaggle.com/competitions/bike-sharing-demand Bike Sharing Demand | Kaggle www.kaggle.com 1. Bike Sharing Demand 개요 bike sharing demand는 캐글에서 진행했던 데이터 분석 경진 대회의 한 주제이다. 워싱턴 D.C에서 자전거를 대여한 데이터로 우리나라의 따릉이 자전거 데이터와 비슷하고 목표는 매시간 빌려진 자전거의 수를 예측하는 문제(종속변수)이다. tip) 경진대회 이름에 demand가 들어가면 대부분 수요예측 문제이다. 2. 데이터 종류 3. 데이터 확인하기 info()를 사용하여 결측값이 없다는 것을 확인하였고 datetime을 이용하여 시계열 데이터를 만들었다. 이를 histog.. 더보기
[ML] One-Hot-Encoding One-Hot-Encoding 머신러닝을 돌릴 때 object 타입이 있으면 오류가 난다. 그래서 object 타입의 값들을 수치형으로 변환시켜줘야 머신러닝이 잘 돌아간다. 이때 object 타입을 0과 1로 구분지어 컴퓨터가 인식할 수 있도록 하는 인코딩을 One-Hot-Encoding이라고 한다. One-Hot-Encoding 함수 및 라이브러리 Pandas에서는 One-Hot-Encoding을 get_dummies 메서드로 지원하고 있다. Sklearn에서는 One-Hot-Encoding을 OneHotEncoder 객체로 지원하고 있다. 주로 pandas에 get_dummies를 사용하는데 이유는 수치형 데이터와 범주형 데이터를 같이 넣어주어도 수치형 데이터는 그대로 두고 범주형 데이터에 대해서만 .. 더보기
[ML] GridSearchCV, RandomizedSearchCV GridSearchCV 와 RandomizedSearchCV는 최적의 하이퍼파라미터 값을 찾아주는 튜닝 방법이다. 여기서 하이퍼파라미터는 어떻게 설정하냐에 따라 모델의 성능이 달라진다. 모델 성능을 더 개선하고 싶을 때 사용한다. 1. GridSearchCV - 시도해볼 파라미터를 지정하면, 모든 조합에 대해 교차검증 후 가장 좋은 성능을 내는 하이퍼파라미터 조합을 찾는다. - 단, 하이퍼파라미터 값들이 많아지면 시간이 오래걸린다는 단점이 있다. https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.GridSearchCV.html sklearn.model_selection.GridSearchCV Examples using sk.. 더보기