선형회귀함수
- "기울기와 절편을 찾는것"
- 머신러닝 알고리즘 중 하나
당뇨병환자의 1년 후 병의 진전된 정도를 예측하는 모델 만들기
당뇨병 환자 데이터 가져오기
- 머신러닝 딥러닝 패키지에는 인공지능 학습을 위한 dataset가 준비되어있음
- 사이킷런, 케라스 : 다양한 데이터 세트 제공
1. load_diabetes( ) 함수로 당뇨병 데이터 준비하기
from sklearn.datasets import load_diabetes
diabetes = load_diabetes( ) #diabetes에 당뇨병 데이터 저장 # Bunch 클래스
cf) Bunch 클래스 : 파이썬 딕셔너리와 유사. 예제 데이터 세트를 위해 준비된 것. 특별한 기능 X
2. 입력과 타깃 데이터의 크기 확인하기
diabetes 속성 중 data속성과 target 속성 : 우리가 필요한 입력과 타깃 데이터가 넘파이 배열로 저장되어있음
shape 속성 : 넘파이 배열의 크기 저장되어있음
print(diabetes.data.shape, diabetes.target.shape)
# (442, 10) (442,)
- data 는 422 X 10 크기의 2차원 배열 , target은 442개의 요소를 가진 1차원 배열
- diabetes.data는 442개의 행과 10개의 열로 구성
- 행 : sample 열 : feature(샘플의 특성)
- ex. 당뇨병 데이터에는 환자의 혈압,혈당,몸무게,키,등(feature)이 있음
이 특성의 수치를 모아 1세트로 만들면 1개의 샘플(sample)이 나옴
- 입력 데이터의 특성 : 속성/독립변수(independent variable)/설명변수(explanatory variable), 등
3. 입력 데이터 자세히 보기 (slicing 사용)
diabetes.data[0:3]
#array([[ 0.03807591, 0.05068012, 0.06169621, 0.02187235, -0.0442235 ,
# -0.03482076, -0.04340085, -0.00259226, 0.01990842, -0.01764613],
# [-0.00188202, -0.04464164, -0.05147406, -0.02632783, -0.00844872,
# -0.01916334, 0.07441156, -0.03949338, -0.06832974, -0.09220405],
# [ 0.08529891, 0.05068012, 0.04445121, -0.00567061, -0.04559945,
# -0.03419447, -0.03235593, -0.00259226, 0.00286377, -0.02593034]])
- 10개의 요소로 구성된 샘플
- array([ [1번째 샘플의 요소들], [2번째 샘플의 요소들], [3번째 샘플의 요소들]])
4. 타깃 데이터 자세히 보기
diabetes.target[:3]
# array([151., 75., 141.])
타깃 데이터는 10개의 요소로 구성된 샘플 1개에 대응
즉 위에서 출력한 1번째 샘플의 요소들[ 0.03807591, 0.05068012, 0.06169621, 0.02187235, -0.0442235 , -0.03482076, -0.04340085, -0.00259226, 0.01990842, -0.01764613]은 151.이라는 타깃 데이터에 대응됨
5. 당뇨병 환자 데이터 시각화하기
맥플롯립의 scatter( ) 함수로 산점도 그리기
import matplotlib.pyplot as plt
plt.scatter(diabetes.data[:,2],diabetes.target) # 3번째 특성과 타깃 데이터로 산점도 그리기
plt.xlabel('third characteristic of diabetes.data')
plt.ylabel('diabetes.target')
plt.show()
'Computer Science > 인공지능(AI)' 카테고리의 다른 글
mnist모델 구축하기 - KERAS (0) | 2021.03.21 |
---|---|
[Deep Learning] 경사하강법(gradient descent) (0) | 2020.05.29 |
[Deep Learning] 딥러닝을 위한 도구들 - 넘파이(Numpy), 맷플롯립(Matplotlib) (0) | 2020.05.21 |
[Deep Learning] 구글 코랩(google colab) (0) | 2020.05.19 |
[Deep Learning] 딥러닝이란? (0) | 2020.05.18 |