머신러닝은 데이터 안에서 규칙을 발견하고 그 규칙을 새로운 데이터에 적용해서 새로운 결과를 도출하는 일에 초점이 맞추어 있음.
데이터를 머신 러닝 알고리즘에 넣으면 머신 러닝은 데이터가 가진 패턴과 규칙을 분석해서 저장.
이후 저장된 분석결과와 비교해서 결과를 도출해냄.
데이터가 입력되고 패턴이 분석되는 과정을 학습이라고 함.
머신러닝의 예측 성공률은 얼마나 정확한 경계선을 긋느냐에 달려있음.
퍼셉트론 -> 아달라인 -> 선형회귀 -> 딥러닝
딥러닝을 구동하거나 데이터를 다루는 데 필요한 라이브러리들을 불러옴
라이브러리: 특정한 기능을 담은 작은 프로그램들을 모아 놓은 것
라이브러리를 불러올 때 사용하는 명령어가 import
라이브러리에 포함된 모듈이 너무 많을 때, from(라이브러리 이름) import(함수 이름)
라이브러리 이름이 너무 긴 경우, import(라이브러리 이름) as(새로운 이름)
준비된 수술 환자 정보 데이터를 나의 구글 코랩 계정에 저장
해당 파일을 불러와 환자 상태의 기록에 해당하는 부분을 X, 수술 후 환자의 사망/생존 여부를 Y로 지정
데이터를 불러와 구글 코랩에서 사용할 준비
1. 데이터를 직접 불러오거나
2. 깃허브에 준비된 데이터를 불러오는 방법
!git clone (깃허브 주소)
data안의 폴더들은 ./data/데이터 이름으로 불러옴
넘파이 라이브러리를 이용, data 폴더에 있는 csv불러오는 방식은
data_set = np.loadtxt("./data/Thoasdadasf.csv", delimiter = "")
loadtxt함수를 이용해서 외부 데이터 셋을 불러옴
좋은 데이터를 준비하는 것은 중요하다!
예시의 1~16의 항목은 속성이라고 하고, 정답에 해당하는 17번째 항목을 클래스라고 함.
클래스 : 이름표에 해당
딥러닝을 위해서는 속성과 클래스를 서로 다른 데이터셋으로 지정!
ex) X축과 Y축
딥러닝 모델의 구조를 결정
tensorflow : 구글에서 만든 딥러닝 전용 라이브러리
keras : tensorflow의 어려움을 해결해주기 위해 개발 된 것
ex)
model1 = Sequential()
model1.add(Dense(30,k input_dim= 16, activation = 'relu'))
model1.add(Dense(1,activation = 'sigmoid'))
Sequential() 함수를 model로 선언
keras의 Sequential() 함수는 딥러닝의 층을 model1.add()라는 함수를 사용해 추가시킴
model.add를 사용해 내부의 층을 생성할수 있음.
Dense keras의 API의 layers클래스에서 불러온 함수
Dense함수 각 층의 입력과 출력을 촘촘하게 모두 연결
딥러닝을 설계한다는 것
1. 좋은 딥러닝 모델을 만들기 위해서는 몇 개의 층이 좋은가?
2. Dense 함수 안에 있는 숫자와 설정의 의미는 무엇이고, 어떻게 정하는가?
앞에서 설정한 구조대로 실행하고 결과를 출력
model.compile() 함수: model의 설정을 실행
loss, optimizer, metrics 등 딥러닝 구조를 어떤 방식으로 구동시키고 마무리 할지
model.fit() : 층과 층 사이로 데이터를 몇 번 이동할지에 관한 함수
선형 회귀, 로지스틱 회귀, 기초 통계학의 개념 필요
[출처]: 모두의 딥러닝 개정 3판 (지은이: 조태호)