9시 24분
선형 회귀 (Linear Regression) 본문
1차 함수로 이해하는 선형 회귀
- 위 1차 함수에서 a는 기울기, b는 절편이다.
선형 회귀는 기울기와 절편을 찾는다.
Q) x가 3일 때 y는 25, x가 4일 때 y는 32, x가 5일 때 y는 39라면 기울기와 절편의 값으로 적절한 것은?
- 기울기 6, 절편 4
- 기울기 7, 절편 5
- 기울기 7, 절편 4
A) 3. 기울기 7, 절편 4
선형 회귀의 문제 해결 과정
1. 1번의 조건을 가진 1차 함수로 표현 > 점을 잘 표현하지 못함
2. 2번의 조건을 가진 1차 함수로 표현 > 점을 잘 표현하지 못함
3. 3번의 조건을 가진 1차 함수로 표현 > 각 점을 잘 표현함
>>> 위 과정에서 만든 1차 함수들을 선형 회귀로 만든 모델이라고 하며, 마지막에 만들어진 1차 함수가 바로 최적의 선형 회귀 모델인 셈이다.
문제 해결을 위해 당뇨병 환자의 데이터 준비하기
목표: 당뇨병 환자의 1년 후 병의 진전된 정도를 예측하는 모델을 만드는 것
- 머신러닝, 딥러닝 패키지에는 인공지능 학습을 위한 데이터 세트(dataset)가 준비되어 있음
- 사이킷런과 케라스도 다양한 데이터 세트를 제공
- 사이킷런의 datasest 모듈에 있는 load_diabetes() 함수를 import한 후 매개변수 없이 함수를 호출
- diabetes 변수에 저장된 값은 딕셔너리와 유사한 Bunch 클래스이다.
- 넘파이 배열의 크기는 shape 속성에 저장되어 있음
- data : 442 * 10 크기의 2차원 배열
- 행: 샘플 (혈압, 혈당, 몸무게, 키 등의 특징)
- 열: 샘플의 특성 - 속성, 독립 변수, 설명 변수 등으로도 부른다.
ex)
키 | 몸무게 | 혈압 | ... |
181 | 92 | 130 | ... |
172 | 56 | 125 | ... |
164 | 61 | 123 | |
184 | 102 | ... |
- target : 442개의 요소를 가진 1차원 배열
- 슬라이싱을 이용하여 입력 데이터 앞부분 샘플 3개 출력
타깃 데이터 출력
- [ 0.03807591, 0.05068012, 0.06169621, 0.02187235, -0.0442235 , -0.03482076, -0.04340085, -0.00259226, 0.01990842, -0.01764613] 이라는 샘플에 151.이라는 타깃 데이터가 대응됨
- 수치 자체에 대한 해석은 전문가(의사)의 영역이므로, 입력 데이터와 타깃 데이터의 수치를 보고 둘 사이의 규칙만 찾으면 됨
( + 실습에서는 학습을 위해 제공된 데이터를 사용하지만, 실제로는 데이터를 준비하는데 많은 공이 든다는 것을 잊지 말자 )
당뇨병 환자 데이터 시각화 하기
당뇨병 데이터 세트에는 10개의 특성이 있으므로 이 특성을 모두 그래프로 표현하려면 3차원 이사으이 그래프를 그려야 한다. 그러나 3차원 이상의 그래프를 그릴 수 없으므로 1개의 특성만 사용하여 그래프를 그리자.
아래 그래프는 3번째 특성과 타깃 데이터로 산점도를 그린 것이다.
- diabetes.data[:, 2] - 전체 행을 선택
- x축: diabetes.data의 3번째 특성, y축: diabetes.target
- 세 번째 특성과 타깃 데이터 사이에 정비례 관계가 있음을 확인할 수 있다.
세 번째 특성을 미리 분리하여 변수 x에 저장, 타깃 데이터는 변수 y에 저장
'인공지능' 카테고리의 다른 글
빅데이터와 머신러닝 (0) | 2021.07.12 |
---|---|
여기서부터는 Tenserflow 2로 배우는 빅데이터와 머신러닝 (0) | 2021.07.12 |
경사 하강법 (0) | 2021.06.28 |
딥러닝 실습을 위한 도구 (0) | 2021.06.28 |
딥러닝이란, (0) | 2021.06.22 |