이번 시간에는 텐서플로우 케라스를 이용해서 예측을 실행해볼 것입니다.
피마 인디언의 당뇨병 예측 실행을 해보겠습니다.
판다스 라이브러리를 사용하기 때문에 iloc[] 함수를 사용해 X와 y를 각각 저장한다. iloc는 데이터 프레임에서 대괄호안에 정한 범위만큼 가져와 저장하게 한다.
필요한 라이브러리를 임포트 해줍니다.
필요한 자료를 가져와 주고 read_csv를 이용하여 불러와준다.
세부 정보를 X에 저장하고 당뇨병 여부를 y로 지정한다.
다음과 같이 모델 구조를 설정해줍니다.
다음은 Dense1이라는 층과 Dense2, Dense3층을 만들어 줍니다.
입력층과 첫 번째 은닉층을 연결해주는 Dense1층, 첫 번째 은닉층과 두 번째 은닉층을 연결해주는 Dense2층, 그리고 두 번째 은닉층과 출력층을 연결하는 Dense3층이 만들어졌음을 알 수 있습니다.
그렇다면 은닉층은 왜 두개 일까요? 입력, 출려그이 개수는 정해져 있지만 은닉층의 개수는 정해진 것이 없고, 자신의 프로젝트에 따라서 설정해야합니다. 그래서 최적의 값을 찾아내는 것이 좋습니다. 하지만 저는 임의로 두 개의 은닉층을 만들었을 뿐입니다. 노드와 은닉층의 개수를 바꾸면 정확도가 바뀔 것입니다.
아무튼 모델을 컴파일 하고 실행하면.
모델의 정확도가 76%인것을 알 수 있습니다.
이렇게 간단하게 텐서플로 케라스를 이용해 보았습니다.