일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- 학습 자동 중단
- 밑시딥2
- 과적합
- 독서 #독서후기 #피로사회 #행동과잉 #긍정과잉
- nlp
- 밑바닥부터 시작하는 딥러닝
- MRC
- ESG
- 모두의 딥러닝
- GPT-3
- 다중분류
- 면접왕이형
- 뉴로 심볼릭
- k겹 교차검증
- 선형회귀
- 로지스틱 회귀법
- 딥페이크
- 안드로이드 구조
- 면접왕 이형
- 코틀린
- andoriod with kotlin
- 베스트 모델
- 안드로이드
- ESG 채권
- 경사하강법
- 보이스피싱
- 경제신문스크랩
- gradiant descent
- 예측선
- 밑시딥
- Today
- Total
Practice makes perfect!
[모두의 딥러닝] 11장 데이터 다루기 본문
csv 파일에는 데이터를 설명하는 한 줄이 맨 처음에 나옴(헤더)
우리가 가진 csv 파일에는 헤더가 없기 때문에, name 함수를 통해 속성별 키워드 지정
df = pd.read_csv('../dataset/pima-indians-diabetes.csv',names=["pregnant","plasma","pressure","thickness",
"insulin","BMI","pedigree","age","class"])
# 정보별 특징을 더 자세히 확인
샘플수, 평균, 표준편차, 최솟갑, 백분위 수에 해당하는 값, 최댓값 보여줌.
print(df.describe())
import matplotlib.pyplot as plt # 그래프를 그리기 위한 라이브러리
import seaborn as sns # matplotlib을 기반으로 더 정교한 그래프를 그리게 도와주는 라이브러리
# 그래프의 크기 결정
plt.figure(figsize=(12,12))
# heatmap() 함수
각 항목 간의 상관관계를 나타냄. 두 항목씩 짝을 지은 뒤 각각 어떤 패턴으로 변화하는지 관찰.
두 항목이 전혀 다른 패턴으로 변화하고 있으면 0, 비슷한 패턴으로 변화할수록 1에 가까운 값 출력
sns.heatmap(df.corr(),linewidths=0.1,vmax=0.5, cmap=plt.cm.gist_heat, linecolor='white',annot=True)
# vmax는 색상의 밝기 조절하는 인자
cmap은 미리 정해진 matplotlib 색상의 설정값 불러옴.
class 항목을 보면 plasma항목과 가장 상관관계가 높음
-> plasma항목이 결론을 만드는 데 가장 중요한 역할을 한다고 예측가능.
# plasma와 class 항목만 떼어 두 항목간의 관계를 그래프로 그림.
grid = sns.FacetGrid(df,col='class') grid.map(plt.hist,'plasma',bins=10)
당뇨병 환자(class = 1)를 보면 plasma 수치가 150 이상인 경우가 많다는 것을 알 수 있음
# seed 값 생성
random 함수는 컴퓨터 안에 내장된 수많은 랜덤 테이블 중 하나를 불러내 그 표의 순서대로 숫자를 보여줌.
seed 값을 설정하는 것은 랜덤 테이블 중 몇 번째 테이블을 불러올지 정하는 것
-> seed 값이 같으면 같은 랜덤 값 출력! reproduction하기 위해 seed를 고정
np.random.seed(3)
tf.random.set_seed(3)
# 3개의 층 생성
# 은닉층 + 입력층, 8개 입력데이터 가져옴, 12개 노드, 활성화 함수로 relu 사용
model.add(Dense(12,input_dim=8,activation='relu'))
# 은닉층, 8개 노드, 활성화 함수로 relu 사용
model.add(Dense(8,activation='relu'))
# 출력층, 1개 노드, 활성화 함수로 sigmoid 사용
model.add(Dense(1,activation='sigmoid'))
# 모델 컴파일
두 개의 예측값(당뇨병(1), 아님(0))을 갖기 때문에 오차함수로 binary_crossentropy 사용
model.compile(loss='binary_crossentropy',optimizer='adam',metrics=['accuracy'])
'Study > 딥러닝' 카테고리의 다른 글
[모두의 딥러닝] 13장 과적합 피하기 (0) | 2021.05.29 |
---|---|
[모두의 딥러닝] 12장 다중 분류 문제 해결하기 (0) | 2021.05.29 |
[모두의 딥러닝] 10장 모델 설계하기 (0) | 2021.04.17 |
[모두의 딥러닝] 6~9장 퍼셉트론, 다층 퍼셉트론, 오차 역전파 (0) | 2021.04.13 |
[모두의 딥러닝] 5장 로지스틱 회귀 (0) | 2021.04.11 |