이서
Data Analyst
300x250
300x250

전체 글 365

랜덤포레스트 개념, 선언 (RandomForestRegressor())

랜덤 포레스트는 여러 개의 의사결정나무를 만들어서 이들의 평균으로 예측의 성능을 높이는 방법이며, 이러한 기법을 앙상블 기법이라고 한다. 주어진 하나의 데이터로부터 여러 개의 랜덤 데이터셋을 추출해서, 각 데이터셋을 통해 모델을 여러개 만들 수 있따. from sklearn.ensemble import RandomForestRegressor model=RandomForestRegressor()

Lv2 | 전처리 | 결측치 평균으로 대체 (fillna({mean}))

lv1에서 결측치들을 0으로 대체하였다. 하지만, 보다 나은 모델 성능을 위해서 결측치를 대체하는 방법은 여러가지 있다. 이번에는 각 피쳐의 평균값으로 대체해보겠다. 원하는 피쳐의 결측치를 해당 피쳐의 평균값으로 대체한다. df.fillna({'칼럼명':int(df['칼럼명'].mean)},implace=True) 결측치를 갖는 피쳐들을 탐색하고, 해당 피쳐들을 대체하고 나서, 결측치가 남아있는지 확인본다. df.isnull().sum()

파이썬 기초 - 6

필요한 라이브러리 불러오기 import pandas as pd import numpy as np import matplotlib.pyplot as plt import seaborn as sns 필요한 데이터셋 불러오기 df=sns.load_dataset("mpg") df.shape # (398,9) 데이터셋 일부만 가져오기 df.head() 데이터 요약하기 df.info() 결측치 보기 df.isnull().sum() 기술 통계 보기 df.describe() 범주형일 경우 include를 사용해 볼 수 있다. df.describe(include="object") 수치형 변수 보기 수치형 변수 mpg의 unique 값 보기 df.nunique() hist()를 통해 전체 수치변수에 대한 히스토그램을 그려본..

Lv1 | 모델링 | 모델훈련 (fit())

모델을 선언한 후, fit(X,Y) 함수를 사용해서 모델을 훈련시킨다. 여기서 주의해야 할 점은 x 데이터는 예측에 사용되는 변수들이고 Y 데이터는 예측결과 변수여야 한다. x데이터는 train Data에서 drop(['제외할 컬럼명'],axis=1)을 함수를 이용해 예측할 피쳐를 제외할 수 있다. Y데이터는 train['예측할 컬럼명']으로 인덱싱할 수 있습니다. X_train = train.drop(['제외할컬럼명'], axis=1) Y_train = train['예측할컬럼명'] 이제 모델을 선언하고, fit() 함수를 이용해 모델을 훈련시킨다. model=DecisionRegressor() model.fit(X_train,Y_train)

파이썬 기초 - 5

시각화 도구: seaborn 필요한 라이브러리 불러오기 import pandas as pd import seaborn as sns import numpy as np 필요한 데이터셋 불러오기 df=sns.load_dataset("anscombe") #씨본에서 제공하는 데이터, pd.read_csv("https://raw.githubusercontent.com/mwaskom/seaborn-data/master/anscombe.csv") 똑같음 df.shape #(44, 3) df_1,2,3,4, 만들기 df_1=df[df["dataset"]=='I'] df_1.describe() df_1.corr() df_2,3,4도 똑같이 생성하면 된다. series 빈도수 구하기 - value_counts() df["d..

EDA Project - 데이터 시각화(태블로 결과물)

EDA Project 프로젝트 기간: 7월 14일 ~ 8월 2일 팀명: 플로우 멘토: 윤00(머신러닝 엔지니어) 팀원: 최00, 박상욱, 홍00, 김00 담당매니저: 김00 개최: NanoDegree 광고 타켓 지표 대시보드 태블로로 시각화 - 연도-월마다 요일별 시간대 주문 시각화 - State 별 주문 건수(Top5 state-) 시각화 - 카테고리별 주문 건수 시각화 - 주문 트렌드 시각화 https://public.tableau.com/app/profile/in.wha.hong/viz/1_16270920202890/1 1차 프로젝트 1차 프로젝트 public.tableau.com Notion 포트폴리오 https://www.notion.so/Brazil-E-commerce-Olist-busines..

Lv1 | 모델링 | 모델개념 (의사결정나무)

# 의사결정나무란? 결정 트리는 의사 결정 규칙과 그 결과들을 트리 구조로 도식화한 의사 결정 지원 도구의 일종이다. A 를 만족하는가? True False B를 만족하는가? C를 만족하는가? True False True False D 이다 F이다 G이다 H이다 EDA를 통해 data를 살펴보면 각 행들은 피쳐들을 갖고 있다. 이 중 하나의 피쳐를 정해서 해당 피쳐의 값에 대해 특정한 하나의 값을 정한다면, 이를 기준으로 모든 행들을 두개의 노드로 분류할 수 있다. 대표적인 의사결정나무인 CART 의사결정 나무는 이진분할을 사용한다. 파생된 두 개의 노드에 대해서 또 다시 새로운 피쳐의 특정한 값을 정하고 분류를 정한다. 이 과정을 반복하게 되면 점점 피쳐의 값에 따라 data들이 분류가 되는데 이를 의..

카테고리 없음 2021.07.29

Lv1 | 모델링 | scikit-learn (DecisionTreeClassifier)

import sklearn from sklearn.tree import DecisionTreeClassifier EDA를 통해 데이터를 살펴보고, 전처리를 하였다면, 본격적으로 머신러닝 모델을 훈련시키고, 훈련된 모델을 통해 예측을 한다. 선행 연구된 놀랍고 다양한 모델들이 있는데, 이러한 머신러닝 모델들을 TensorFlow, PyTorch 등 Python 오픈 소스 머신 러닝 라이브러를 통해 손쉽게 구현 가능하다 먼저 sckit-learn 라이브러리를 사용해 모델링을 시작한다. scikit-learn 홈페이지: https://scikit-learn.org/stable/

EDA Project - 데이터 분석

EDA Project 프로젝트 기간: 7월 14일 ~ 8월 2일 팀명: 플로우 멘토: 윤00(머신러닝 엔지니어) 팀원: 최00, 박상욱, 홍00, 김00 담당매니저: 김00 개최: NanoDegree 4. 데이터 분석 전처리 된 데이터를 가지고 본격적으로 데이터 분석을 시작하였다. 내가 한 분석을 위주로 설명을 하겠다. 4.1 날짜, 시간, 요일별 소비 패턴 파악하기 분석 의도 광고는 많은 사람들에게 노출이 되어야 그 효과를 제대로 발휘 할 수 있다. 브라질의 국민들이 어떤 요일에, 어떤 시간대에 주로 주문을 하는지를 파악한다면, 언제 광고를 노출 시켜야 가장 효율적인 홍보 효과를 누릴 수 있는지를 파악하고자 하였다. 2016년부터 2018년까지 전체적인 브라질 상품 주문량의 증감 추이를 시계열로 분석하..

파이썬 기초 - 4

import 필요한 라이브러리를 로드 import pandas as pd import numpy as np import seaborn as sns DataFrame 행과 열로 구성된 비어있는 데이터프레임을 생성 df = pd.DataFrame() df 컬럼 추가하기 df["자동차"]=["소형차", "중형차", "대형차", "소형차", "대형차", "중형차"] df["가격"]=[3000, 5000, 7000, 4000, 9000, 7000] df["가격"] #series형태 df[["가격"]] #dataframe 형태 tolist() 가격 컬럼전체를 리스트 형태로 변경합니다. df["가격"].tolist() 컬럼값 변경하기 df.columns=['차종류','시세'] 데이터 요약하기 df.info() # 해..

Lv1 | EDA | 결측치 확인하기 (is_null())

결측치는 말 그대로 데이터에 값이 없는 것을 뜻한다. 줄여서 'NA' 또는 'NULL' 이라고 표현한다. pandas에서는 결측치를 NaN으로 표현하며, isnull() 메서드를 사용하면 DataFrame에서 NaN 값을 확인할 수 있다. isnull() 메서드는 DataFrame에서 데이터가 NaN 값이면 True로 , 그렇지 않으면 False로 리턴한다. import pandas as pd import numpy as np df=pd.DataFrame({'name':['a','b','c'],'age':[30,np.nan,19],'class':[np.nan,2,3]}) df.isnull() df.isnull().sum() 하게 되면 데이터 프레임의 각 열 별 결측치 수를 확인할 수 있다.

EDA Project - 데이터 전처리

EDA Project 프로젝트 기간: 7월 14일 ~ 8월 2일 팀명: 플로우 멘토: 윤00(머신러닝 엔지니어) 팀원: 최00, 박상욱, 홍00, 김00 담당매니저: 김00 개최: NanoDegree 3. 데이터 전처리 - 상품 카테고리명 한국어 번역 from googletrans import Translator # english to korea trans = Translator() result = trans.translate("english.", src='en', dest='ko') result.text category_list = order_df['product_category_name_english'].value_counts().index.tolist() print(category_list) cat..

300x250
300x250