DeseoDeSeo
[ Deep Learning ] co lab에서 간단 머신러닝 본문
- 딥러닝 이란?
- 인간의 신경망을 모방하여 학습하고 예측하는 기술
- 대량의 데이터에서 복잡한 패턴이나 규칙을 찾아내는 능력이 뛰어남.
- 머신러닝에 비해 조금 더 유연한 사고를 한다.
- 인간의 뉴런 == 딥러닝에서 '선형모델'
- 주로, 영상, 음성, 이미지 처리에 사용된다 ~
- tensorflow
- 구글이 만든 딥러닝을 위한 라이브러리
- keras
- tensorflow 위에서 동작하는 라이브러리로 사용자 친화적 라이브러리.
tensorflow 버전 확인
:# 2.13.0# 설치버전 확인 이유: 프로젝트 진행 시 오픈 소스 가져다 쓸 때 충돌방지 !
import tensorflow as tf
print(tf.__version__)
리눅스 기반의 코랩( 리눅스 명령어 그대로 사용 가능)
# 리눅스 명령어를 사용하여 현재 작업 디렉토리 확인 Print WOrk Directory
!pwd
현재 작업 디렉토리의 파일 목록 조회
!ls
작업 디렉토리 변경
%cd ( change directory )
# 영구적인 작업을 할 때는 느낌표가 아닌 %를 사용함.
%cd "/content/drive/MyDrive/Colab Notebooks/DeepLearning"
다시 현재 폴더 경로 확인
!pwd
⛧ 목표
- 공부시간에 따른 수학성적을 예측하는 회귀 모델을 만들어보자.
- keras를 활용해서 신경망을 구성하는 방법을 연습해보자.
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
#데이터 불러오기
data= pd.read_csv('./data/student-mat.csv', delimiter=';')
data
# 데이터 정보확인
data.info()
문제와 답으로 분리하기
- 입력특성 : 1개 (studytime)
- 정답 : G3
# 문제데이터(x)
X = data['studytime']
# 정답데이터(y)
y = data['G3']
from sklearn.model_selection import train_test_split
# train, test 분리
X_train, X_test, y_train, y_test = train_test_split(X,y,random_state=915, test_size=0.2)
# 크기확인
X_train.shape, y_train.shape
# 머신러닝 모델은 입력특성을 2차원으로 받는다!
# 1차원 ➜ 2차원으로 변경 !
#1차원 시리즈 데이터를 2차원 데이터로 바꾸기.
X_train.values.reshape(316,1).shape
머신러닝 모델과 딥 러닝 모델의 차이점
- 머신러닝
- 완제품 장난감과 같다. : 팔 정도만 움직일 수 있다.(하이퍼파라미터만 조절 가능.)
- 모델생성(완성된 객체 사용) ➜ 모델학습 ➜ 모델 예측 ➜ 모델 평가
- 딥러닝
- 레고블럭과 같은 역할. : 다양한 구성이 가능함.
- 모델생성( 모델을 직접 구성 ) ➜ 모델 학습 ➜ 모델 예측 ➜ 모델 평가
from sklearn.linear_model import LinearRegression # 선형 회귀 모델
from sklearn.metrics import mean_squared_error # 회귀 모델의 평가 지표 도구
from sklearn import linear_model
# 1.모델 생성
linear_model= LinearRegression()
# 2. 모델 학습(학습용 문제, 학습용 정)
linear_model.fit(X_train.values.reshape(316,1), y_train)
# 3, 모델 예측(테스트용 문제)
linear_pre = linear_model.predict(X_test.values.reshape(-1,1))
# 4. 모델 평가(실제값, 예측값)
mean_squared_error(y_test, linear_pre)
'Deep Learning' 카테고리의 다른 글
[Deep Learning] ex02_손글씨 데이터 분류(다중 분류) (1) | 2023.09.21 |
---|---|
[Deep Learning] ex01_유방암데이터분류( 이진분류 ) (0) | 2023.09.19 |
[Deep Learning] 퍼셉트론 (0) | 2023.09.19 |
[Deep Learning] 딥 러닝 모델링( 모델 구조 설계 ) (0) | 2023.09.19 |
[Deep Learning] 딥러닝 (0) | 2023.09.15 |