본문 바로가기

스파르타 내일배움캠프

TIL16 이진 논리회귀

 

kaggle.json이란 파일에서 유저네임하고 키를 복사~ 해야 데이터셋 가능 kaggle api 세팅 완료!! 돌아가면 [1]이라고 완료

데이터셋 주소로들어가면 우측상단 점 3개 수직으로 배열되어있는 아이콘을 누르면 5가지 기능중 Copy API command를 클릭하여 !를 붙여준상태로 작동시킨다!

좌측 상단 파일에 로컬이 아닌 구글코랩상에서 파일로 저장이 된다. 이번에 타임어택시간을 하면서 느꼇지만 로컬에서도 코랩상으로 파일을 옮길수도있다. 그부분은 WIL에서 다뤄보도록할것이다.

unzip을 하게되면 아까 그 파일 폴더에 zip파일을 압축해제시켜서 아까처럼 csv파일을 생성한다(미리 생성해서 차이를 모를수도있겠지만 원래 zip파일만있었다. (압축파일)

 

 csv파일을 더블클릭해보면 이런 데이터가있는지 확인이 가능하다.

 

해석의 방향

1.tensorflow를 사용하여 논리 회귀를 구현 2.numpy 사용 3.pandas 사용하여 dataset csv파일 읽어주기

4.matplotlib으로 그래프 그려준다 5.seaborn으로 그래프 그려준다 6. train test split으로 training set하고 validation set을 나눠준다. 

7,

 

 

데이터셋을 로드할려면 pandas read csv를 사용 

맨앞 5줄 출력 => df.head(5)

 

비어있는값이 있거나 숫자가아닌 문자로 되어있다면 모델학습중 오류가 날수있다~ Embarked =비어있다 라는 의미라서

df = df.dropna() 이건 지워주기위한 함수 

지워주기전 개수 와 지워준후의 개수를 비교하기위해 len(df) 함수 전후를 비교해본다 위에 Embarked가 2개여서 2개 차이가 난다.

 

y는 생존여부 x데이터는 생존여부제외한 모두

 

drop을 시키는건데 이거의 타입을 소수점 32bit 만들어줘야 tensorFlow에서 사용가능 keras에서 사용 가능

 

x데이터 다섯번쨰거 출력 = > x_data.head(5)

 

scaler에서 fit_transform이라는 메소드를 호출하면 된다 standarzation하는 x 데이터 단위가 다 달라서 요것만 standardization만해준다.

 

학습데이터 80% 검증데이터 20%

 

x val y val 나눠준다. 학습에 사용하는건 1045개 검증에 사용되는 데이터의 개수는 262개다.

linear regression하고 다른점은 sequential쓰는건 같지만 dense 1까지있었는데 sigmoid function을 쓴다 logistic regression 에서는 

activation이라는 argument에 sigmoid를 넣어주면 sigmoid함수를 실행한다.

 

모델 구성을 이진논리 회귀를 쓸때 loss를 binary_croosentrpy를 쓴다. optimizer은 adam을 쓰고 learning rate 는 0.01 metrics라는 개념 처음으로 나눈다 loss를 정의를 했는데 loss값만 보면 알기가힘들다 그래서 metrics을 자주 사용 분류문제(classification)을 풀때 정확도(acc)를 0에서 1사이로 나타내주는 그런 지표 1에 가까울수록 정확도가 100% 0에 가까울수록 0%에 가까워진다.

 

model.fit 학습을 시킨다 validation데이터를 넣어줘서 20번 반복 학습 시킨다

 

첫번째 epochs에서는 트레이닝 로스 1.43 traning acc는 56.7% 중요한건 validation 첫번쨰는 0.634 val_acc 는 72.9% 점점 갈수록 확률이 높아진다 마지막은 78%까지 올라간다.

 

 

 

'스파르타 내일배움캠프' 카테고리의 다른 글

WIL4  (0) 2022.05.15
TIL 17 다항 논리 회귀  (0) 2022.05.15
TIL 15 머신러닝 기초 2주차  (0) 2022.05.13
TIL 14 머신러닝 첫걸음 About kaggle??  (0) 2022.05.12
김삼이일 Carstagram Project 10조 KPT 회고  (2) 2022.05.11