1117
[13주차 - Day5] Spark
Spark 3
보스턴 주택 가격 예측 모델
# 실습
필요한 패키지 다운로드
!pip install pyspark==3.0.1 py4j==0.10.9
Spark 생성
from pyspark.sql import SparkSession
spark = SparkSession \
.builder \
.appName("Boston Housing Linear Regression example") \
.getOrCreate()
데이터셋 다운로드
!wget https://s3-geospatial.s3-us-west-2.amazonaws.com/boston_housing.csv
data = spark.read.csv('./boston_housing.csv', header=True, inferSchema=True)
data.printSchema() # 데이터셋 스키마 확인
data.show() # 데이터셋 형태 확인
피쳐 벡터 만들기
from pyspark.ml.feature import VectorAssembler
feature_columns = data.columns[:-1]
assembler = VectorAssembler(inputCols=feature_columns, outputCol="features")
data_2 = assembler.transform(data)
data_2.show() # 제일 마지막에 추가된 feature 행 확인
훈련용과 테스트용 데이터를 나누고 Linear Regression 모델 만들기
train, test = data_2.randomSplit([0.7, 0.3])
from pyspark.ml.regression import LinearRegression
algo = LinearRegression(featuresCol="features", labelCol="medv")
model = algo.fit(train)
모델 성능 측정
evaluation_summary = model.evaluate(test)
evaluation_summary
evaluation_summary.meanAbsoluteError
evaluation_summary.rootMeanSquaredError
evaluation_summary.r2
모델 예측값 살펴보기
predictions = model.transform(test)
predictions.show()
predictions.select(predictions.columns[13:]).show() # 정답/feature벡터/예측값만 따로 보기
모델 저장하기
model.save("boston_housing_model")
from google.colab import drive
drive.mount('/content/gdrive')
model_save_name = "boston_housing_model"
path = F"/content/gdrive/My Drive/boston_housing_model"
model.save(path)
저장된 모델 로드하기
from pyspark.ml.regression import LinearRegressionModel
loaded_model = LinearRegressionModel.load(path)
predictions2 = loaded_model.transform(test)
predictions2.select(predictions2.columns[13:]).show()
'프로그래머스 데브 코스 > TIL' 카테고리의 다른 글
[6기] 프로그래머스 인공지능 데브코스 80일차 TIL (1) | 2023.11.19 |
---|---|
[6기] 프로그래머스 인공지능 데브코스 79일차 TIL (0) | 2023.11.18 |
[6기] 프로그래머스 인공지능 데브코스 77일차 TIL (0) | 2023.11.16 |
[6기] 프로그래머스 인공지능 데브코스 76일차 TIL (0) | 2023.11.15 |
[6기] 프로그래머스 인공지능 데브코스 75일차 TIL (1) | 2023.11.14 |