비행 시간 모델: 더 많은 특징!
모델에 더 많은 특징을 추가해 보겠습니다. 이것이 반드시 더 나은 모델을 만든다는 뜻은 아닙니다. 어떤 특징은 성능을 높일 수 있지만, 다른 특징은 오히려 성능을 낮출 수도 있어요.
특징이 많아지면 모델은 항상 더 복잡해지고 해석하기 어려워집니다.
다음 모델에 포함할 특징은 다음과 같습니다:
kmorg(출발 공항, 원-핫 인코딩, 8수준)depart(출발 시각, 3시간 간격으로 구간화, 원-핫 인코딩, 8수준)dow(출발 요일, 원-핫 인코딩, 7수준) 그리고mon(출발 월, 원-핫 인코딩, 12수준).
이들은 features 열로 결합되었으며, 32개 열을 희소 표현한 것입니다(원-핫 인코딩은 수준 수보다 하나 적은 열을 만든다는 점을 기억하세요).
데이터는 flights로 제공되며, 무작위로 flights_train과 flights_test로 나뉘어 있습니다.
이 연습 문제는 항공편 데이터의 작은 하위 집합을 기반으로 합니다.
이 연습은 강의의 일부입니다
PySpark로 하는 Machine Learning
연습 안내
- 학습 데이터에 선형 회귀 모델을 적합하세요.
- 테스트 데이터에 대한 예측을 생성하세요.
- 테스트 데이터의 RMSE를 계산하세요.
- 모델의 계수를 확인하세요. 0인 항이 있나요?
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
from pyspark.ml.regression import ____
from pyspark.ml.evaluation import ____
# Fit linear regression model to training data
regression = ____(____).____(____)
# Make predictions on testing data
predictions = regression.____(____)
# Calculate the RMSE on testing data
rmse = ____(____).____(____)
print("The test RMSE is", rmse)
# Look at the model coefficients
coeffs = regression.____
print(coeffs)