230517 / BSA11. pyspark에서 통계 모델링

BSA08_Pyspark-Regress-Whitewine.ipynb

 

패키지 호출 및 스파크 세션 시작

from pyspark.sql import SparkSession
from pyspark.ml.feature import VectorAssembler
from pyspark.ml.regression import LinearRegression

spark =  SparkSession.builder.appName("wine").getOrCreate()

 

데이터 불러오기

white  = spark.read.csv("white.csv",inferSchema=True,header=True)
white.show()

 

설명변수, 반응변수 분리

설명변수 = list(white.columns)
설명변수 = 설명변수[0:-1]

변환자료.select("features").show()

회귀자료 = 변환자료.select(["features","y"])

 

모델 적용 및 성능 평가

train_data, test_data = 회귀자료.randomSplit([0.7, 0.3], 316)  # 70% train, 30% test, random_seed=316

회귀분석 = LinearRegression(featuresCol="features",labelCol="y").fit(train_data)
회귀분석.coefficients  # 회귀계수
회귀분석.intercept

pred = 회귀분석.evaluate(test_data)  # 예측값
pred.predictions.show()

# 모델 성능 평가
print(pred.r2, pred.meanSquaredError)  # 결정계수, MSE