1. 모델 정하기
이 책에서는 모델의 개념적인 부분 보다는 사이킷런을 통해서 활용하는 부분에 집중을 하기 때문에 구체적인 모델의 개념 및 정의는 다른 블로그들을 참고하는 것이 좋을 것 같다.
from sklearn.linear_model import LinearRegression
lin_reg = LinearRegression()
lin_reg.fit(housing_prepared, housing_labels)
# 훈련 샘플 몇 개를 사용해 전체 파이프라인을 적용해 보겠습니다
some_data = housing.iloc[:5]
some_labels = housing_labels.iloc[:5]
some_data_prepared = full_pipeline.transform(some_data)
print("예측:", lin_reg.predict(some_data_prepared))
from sklearn.tree import DecisionTreeRegressor
tree_reg = DecisionTreeRegressor(random_state=42)
tree_reg.fit(housing_prepared, housing_la
from sklearn.ensemble import RandomForestRegressor
forest_reg = RandomForestRegressor(n_estimators=100, random_state=42)
forest_reg.fit(housing_prepared, housing_labels)
2. 평가지표
from sklearn.metrics import mean_absolute_error
lin_mae = mean_absolute_error(housing_labels, housing_predictions)
lin_mae
from sklearn.metrics import mean_squared_error
housing_predictions = lin_reg.predict(housing_prepared)
lin_mse = mean_squared_error(housing_labels, housing_predictions)
lin_rmse = np.sqrt(lin_mse)
lin_rmse
3. 모델 세부 튜닝
기존의 다른 파라미터로 수정하고 기록해야 했던 부분을 자동으로 찾아 준다..
from sklearn.model_selection import GridSearchCV
param_grid = [
# 12(=3×4)개의 하이퍼파라미터 조합을 시도합니다.
{'n_estimators': [3, 10, 30], 'max_features': [2, 4, 6, 8]},
# bootstrap은 False로 하고 6(=2×3)개의 조합을 시도합니다.
{'bootstrap': [False], 'n_estimators': [3, 10], 'max_features': [2, 3, 4]},
]
forest_reg = RandomForestRegressor(random_state=42)
# 다섯 개의 폴드로 훈련하면 총 (12+6)*5=90번의 훈련이 일어납니다.
grid_search = GridSearchCV(forest_reg, param_grid, cv=5,
scoring='neg_mean_squared_error',
return_train_score=True)
grid_search.fit(housing_prepared, housing_labels)
'Data Science > 케라스 공부' 카테고리의 다른 글
[핸즈온 머신러닝2][리뷰] Chapter 2 머신러닝 프로젝트 처음부터 끝까지 (데이터 전처리 부분) (0) | 2021.01.09 |
---|---|
[케라스] early_stopping 개념 사용법 (0) | 2020.10.03 |
[케라스 실습] MNIST CNN신경망 다뤄보기 (0) | 2020.07.04 |
[케라스 실습] MNIST ANN 신경망 (0) | 2020.07.04 |
댓글