항공편 소요 시간 모델 파이프라인 교차 검증
방금 만든 교차 검증 모델은 단순하게 km만 사용해 duration을 예측했습니다.
항공편 소요 시간의 또 다른 중요한 예측 변수는 출발 공항입니다. 혼잡한 공항에서는 이륙까지 시간이 더 오래 걸리는 경향이 있죠. 이 예측 변수를 추가하면 모델이 개선되는지 확인해 봅시다!
이 연습에서는 모델에 org 필드를 추가합니다. 다만 org는 범주형이므로, 포함하기 전에 해야 할 작업이 더 있습니다. 먼저 인덱스로 변환하고, 그다음 원-핫 인코딩을 적용한 뒤 km과 함께 조합해 회귀 모델을 구축해야 합니다. 이러한 과정을 파이프라인으로 묶어 처리하겠습니다.
다음 객체들은 이미 생성되어 있습니다:
params— 비어 있는 파라미터 그리드evaluator— 회귀 평가기regression—labelCol='duration'인LinearRegression객체
StringIndexer, OneHotEncoder, VectorAssembler, CrossValidator 클래스는 이미 임포트되어 있습니다.
이 연습은 강의의 일부입니다
PySpark로 하는 Machine Learning
연습 안내
- 문자열 인덱서를 만드세요. 입력과 출력 필드를 각각
org,org_idx로 지정합니다. - 원-핫 인코더를 만드세요. 출력 필드 이름은
org_dummy로 지정합니다. km과org_dummy필드를 하나의features필드로 결합하세요.- 다음 순서의 작업으로 파이프라인을 만드세요: 문자열 인덱서, 원-핫 인코더, 어셈블러, 선형 회귀. 이를 사용해 교차 검증기를 생성하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Create an indexer for the org field
indexer = ____(____, ____)
# Create an one-hot encoder for the indexed org field
onehot = ____(____, ____)
# Assemble the km and one-hot encoded fields
assembler = ____(____, ____)
# Create a pipeline and cross-validator.
pipeline = ____(stages=[____, ____, ____, ____])
cv = ____(estimator=____,
estimatorParamMaps=____,
evaluator=____)