최적 비행 시간 모델 분석하기
방금 비행 시간 예측을 위한 선형 회귀 모델의 좋은 하이퍼파라미터를 찾도록 CrossValidator를 설정했어요.
모델 파이프라인에는 여러 단계(StringIndexer, OneHotEncoder, VectorAssembler, LinearRegression 타입의 객체)가 있으며, 순차적으로 작동합니다. 파이프라인 객체의 stages 속성에서 이 단계를 확인할 수 있어요. 이는 리스트로 표현되며, 리스트에 나타난 순서대로 단계가 실행됩니다.
이제 파이프라인을 자세히 살펴보고, 각 단계를 분리해서 테스트 데이터에 대한 예측을 만들어 보겠습니다.
다음 객체는 이미 생성되어 있습니다.
cv— 학습된CrossValidatorModel객체evaluator—RegressionEvaluator객체
비행 데이터는 무작위로 flights_train과 flights_test로 분할되어 있어요.
이 연습은 강의의 일부입니다
PySpark로 하는 Machine Learning
연습 안내
- 최적 모델을 가져오세요.
- 최적 모델의 단계를 확인하세요.
- 선형 회귀 단계를 분리하여 그 파라미터를 추출하세요.
- 최적 모델로 테스트 데이터에 대한 예측을 생성하고 RMSE를 계산하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Get the best model from cross validation
best_model = cv.____
# Look at the stages in the best model
print(best_model.____)
# Get the parameters for the LinearRegression object in the best model
best_model.____.extractParamMap()
# Generate predictions on testing data using the best model then calculate RMSE
predictions = ____.____(____)
print("RMSE =", ____.____(____))