전체 글128 random_state=1 scikit learn에서 사용하는 random_state인자는 수행시마다 동일한 결과를 얻기 위해 사용한다. 즉 seed를 설정한 것이다. 보통 랜덤으로 먼가를 추출하거나 split 할 때 설정하는데 이렇게 해놓으면 random_state 번호가 같은 것끼리는 그대로 사용이 가능하다. 즉 기냥 고유 번호를 설정해준 것과 같은 의미 2021. 9. 29. 랜덤포레스트(RandomForestRegressor) 앙상블 기법 - 배깅, 부스팅, 랜덤포레스트 등의 기법 중 랜덤포레스트에 대해 알아보자. 랜덤포레스트는 의사결정나무를 여러개를 모아다 합쳐놓은 것이다. 일종의 배깅인데, 각 의사결정나무에 여러개의 샘플 데이터를 추출하여 추론한 후 회귀이면 의사결정나무들의 결과의 평균을 구하고, 분류이면 투표를 통해 최종적으로 값을 구한다. 각 의사결정나무들은 기존 데이터에서 랜덤하게 표본을 추출하고 각자 독립적으로 계산한다. 랜덤포레스트 모듈의 옵션 중에 criterion옵션을 통해 어떤 평가지표를 기준으로 훈련할 것인지 정할 수 있다. 평가 지표 중엔 회귀에 RMSE, MAPE 등이 있고 분류엔 Confusion Matrix정도가 있다. 여기서 RMSE를 인자로 써본다. (보통 RMSE =MSE를 제일 많이 쓰긴 한다.. 2021. 9. 29. 결측값 전처리 결측치 확인 df_name.info() 결측값 전처리 # 방법 1 - NaN이 있는 행이나 열 버리기 # axis=0 : NaN이 있는 행을 버리기, axis=1 : NaN이 있는 열을 버리기 # 기본 default값으로 axis=0으로 되어있다. df_name.dropna(inplace=True) # 방법 2 - 채워넣기 # 2.1 - 0으로 채워넣기 df_name.fillna(0, inplace=True) # 2.2 - 각 열의 평균값으로 채워넣기 df_name.fillna(df_name.mean, inplace=True) # 2.3 - 각 열의 평균값 따로따로 채워넣기 df_name.fillna({'열 이름' : int(df_name['열 이름'].mean())}, inplace=True) # 방법.. 2021. 9. 29. inplace=True Pandas dataframe에서 inplace 인자가 있다. 보통 default값으로 False가 들어있고 생략되어 있는 경우가 많다. 이런 경우 새로운 df 변수에다가 이 수정된 df을 넣어줘야지 수정된 df의 정보를 쓸 수가 있다. 하지만 굳이 이렇게 새로운 변수말고 기존 변수에다가 수정된 변수를 쓰는 방법이 없을까? 경우는 두가지가 있다. 1. origin_df=origin_df.drop('컬럼명', axis=1) #axis=1은 열을 뜻함. 2. origin_df.drop('컬럼명', axis=1,inplace=True) 첫번쨰는 기냥 새로운 변수대신 원래 변수를 넣어준것. 두번쨰는 inplace 인자를 True로 바꿔주는 방법이다. 이러면 기존 df에 수정된 것이 다시 적용된 것을 볼 수 있다. 2021. 9. 29. 의사결정나무 (의사결정나무 복습) 의사결정나무란 의사결정 규칙들이 트리 구조로 도식화된 것이다. 일종의 스무고개라고도 할 수 있다. 의사결정나무는 두가지 데이터 유형으로 나뉘는데, 범주형의 데이터인 경우 분류나무(Classification Tree), 연속형 데이터인 경우 회귀나무(Regressiong Tree)로 나뉜다. 보통 범주형 데이터의 경우에 의사결정나무를 사용한다. 회귀모델의 경우 정확도가 낮기 떄문이다. 구성요소 뿌리노드 - 최초로 시작되는 노드(전체 데이터가 포함되어 있다) 부모노드 - 자식노드의 상위 노드 자식노드 - 부모노드에서 분류된 노드 중간노드 - 부모, 자식노드가 있는 노드 최종노드 - 자식 노드가 없는 노드 가지 - 뿌리노드로부터 끝노드까지 연결된 노드들 깊이 - 중간노드들의 수 모형 구축.. 2021. 9. 28. pretrained된 가중치 불러오기 보통 pretrained된 가중치를 불러올 때 checkpoint로 불러온다. model = TheModelClass(*args, **kwargs) optimizer = TheOptimizerClass(*args, **kwargs) checkpoint = torch.load(PATH) model.load_state_dict(checkpoint['model_state_dict']) optimizer.load_state_dict(checkpoint['optimizer_state_dict']) epoch = checkpoint['epoch'] loss = checkpoint['loss'] model.eval() # - or - model.train() 1. 먼저 인스턴스 모델을 가져와준다. 2. checkpo.. 2021. 9. 1. 이전 1 ··· 14 15 16 17 18 19 20 ··· 22 다음