딥러닝 맛보기(성적회귀예측)

박산해·2025년 6월 30일

딥러닝 개요

  • 인간의 신경망을 모방하여 학습하고 예측하는 기술
  • 대량의 데이터에서 규칙을 발견하거나 패턴을 찾아내는 능력이 뛰어남.
  • 머신러닝에 비해 판단이 유연 (인간의 추상적 사고 구현)
  • 인간의 뉴런 == 딥러닝의 선형모델
  • 주로 이미지 처리, 영상, 음성처리 등에 활용

  • 머신러닝 : sklearn
  • 딥러닝 : tensorflow, leras, pytorch 등
    • 수업에는 tensorflow, keras 사용
    • keras 딥러닝을 쉽게 구현하기 위한 클래스와 함수들 제공

목표

  • 동일한 데이터를 가지고 머신러닝, 딥러닝 모델링을 통해 차이점을 알아보자.
  • 공부시간에 따른 수학시험 점수 예측 모델링

머신러닝 vs 딥러닝

  • 머신러닝
    • 모델 객체 생성 ( 완성형 ) > 학습 > 평가 > 예측
    • 완성형 로봇 형태( 팔정도는 움직이기 가능 ( 하이퍼파라미터 튜닝 ) )
  • 딥러닝
    • 모델 객체 생성 ( 모델 직접 구성, 신경망 직접 설계 ) > 컴파일 > 학습 > 평가 > 예측
    • 조립식 모델에 비유( 개발자가 구성하고자 하는 모양으로 설계 가능 )
    • 다양한 결과를 만들어 낼 수 잇음
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
# 파일 가져오기
data = pd.read_csv('./data/student-mat.csv')
data.head(5)

# 데이터 분리
# 문제 정답 데이터 알고 분리
data.info               # G1, G2, G3 시험 점수

# 문제 데이터 : studytime
# 정답 데이터 : G3
X = data['studytime']
X.shape         #  문제데이터는 무조건 2차원이여야 함

X = data[['studytime']]
X.shape

y = data['G3']
y.shape

# train_test_split
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X,y,test_size=0.3, random_state=5)
# 머신러닝 모델로 수학점수 예측(회귀)
from sklearn.linear_model import LinearRegression
# 객체 생성
linear_model = LinearRegression()
# 학습
linear_model.fit(X_train,y_train)

linear_model.score(X_test,y_test)

학습 시킨후 정답값이 이상함..
내일까지 알아오기 숙제임

0개의 댓글