텍스트모든 문제를 풀기 위해서는 먼저 입력값 input 과 출력값 output을 정의 해야한다
출력값에 float을 자주 쓴다
연속적인 문제를 예측해야 할 때 회귀 regression을 사용
출력값이 연속적인 소수점으로 예측하게 푸는 방법
비연속적인 문제를 풀 때 분류 classification 사용
이진 분류 클래스가 두개
다중분류 클래스가 여러개
지도학습 supervised learning 정답을 알려주면서 학습시키는 방법
비지도 학습 unsupervised learning 정답을 알려주지 않고 군집화 clustering 하는 방법
강화 학습 reinforcement learning 주어진 데이터 없이 실행과 오류를 반복하면서 학습하는 방법
모든 문제를 선형으로 풀수있다라고 가정하는
선형회귀의 가설
H(x) = Wx + b
W가 기울기
b가 y절편
머신러닝에서 모든 문제는 가설이있어야 풀 수가 있다
가설은 사람이 정한다
정답과 직선의 거리 mean squared error
손실함수 코스트 펑션 작을수록 좋다
다중 선형 회귀
입력 변수가 여러개인 선형 회귀
코스트가 떨어지는지 안떨어지는지 계산하는
코스트가 떨어지면 올바른 방향
적절한 learning rate를 찾아야한다 클 때 overshooting 주의
local minimum에 빠지는걸 주의
학습데이터셋,트레이닝셋
검증데이터셋,밸리데이션셋
트레이닝셋 밸리데이션셋 테스팅셋 3가지로 나뉨
트레이닝셋은 전체의 80퍼 학습
밸리데이션셋 모의시험
트레이닝셋과 밸리데이션셋은 겹치지 않는다
테스팅셋 검증 실제 환경에서의 평가 이게 낮으면 쓰지않는다
케라스
시퀀셜 모델정의
댄스 가설구현
아담
모델 핏 모델을 가설에 맞춘다라는뜻 명령어 학습시작
캐글
많은 데이터셋 보유 자료 보유
맷플롯립 그래프
시본 그래프
스크런 드레이닝셋하고 테스트셋을 분류해주는
.reshape((-1, 1))
1로 맞추고 다시 만들어라 케라스가 인식하기 편하게
import os
os.environ['KAGGLE_USERNAME'] = 'kairess' # username
os.environ['KAGGLE_KEY'] = '7d0443b2dfffc57c94271fd797511896' # key
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense
from tensorflow.keras.optimizers import Adam, SGD
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
from sklearn.model_selection import train_test_split