세로형
Recent Posts
Recent Comments
Link
04-20 00:01
«   2024/04   »
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
Archives
Today
Total
관리 메뉴

꿈 많은 사람의 이야기

파이썬 케라스(keras)와 사이킷런(scikit-learn)으로 머신러닝, 딥러닝 해보자! - 비만도 측정 본문

deep learning(딥러닝)

파이썬 케라스(keras)와 사이킷런(scikit-learn)으로 머신러닝, 딥러닝 해보자! - 비만도 측정

이수진의 블로그 2018. 6. 11. 09:51


요즘 머신러닝과 딥러닝을 공부하고 있습니다


블로그에 다 정리해서 올리고 싶은데 처음부터..


너무 복잡하고 올리는데 시간적 소모가 커서 감히 엄두가 안나네요 ㅠㅠ

그래서 중간중간 만든 결과를 올려보려고 합니다

저는 주로 케라스(keras)와 사이킷런(scikit learn)으로 공부하고 있습니다

사이킷런이야 파이썬에서 머신러닝으로 유명한 라이브러리죠.


케라스는 딥러닝에서 많이 쓰는데요 (물론 머신러닝도 가능합니다.)

텐서플로우(tensorflow)보단 사용법도 쉽고 접근성이 좋아서 케라스를 선택해서 공부하고 있습니다.

(물론 keras 내부는 tensorflow가 동작됩니다.)


아무튼 저는 그 동안 공부한 것으로 비만도 측정을 해봤습니다!

1. 데이터 수집

2. 훈련

3. 모델 생성

4. 모델을 이용한 예측


크게 4가지 순서로 갑니다



데이터는 이렇게 되어 있습니다

키, 몸무게, 비만도(마른, 평범, 뚱땡이)

이렇게 되어 있어요

간단한 데이터죠!



저는 말씀드린대로 케라스(keras)로 진행할 것입니다.

Dense로 모델을 쌓고, Sequential로 모델을 생성합니다



그리고 모델을 가지고와서

그 값을 뽑아냅니다

저는 주로 pandas로 csv를 읽어오는데요

가져와서 다루기도 쉽고, 간단하기에 pandas로 read_csv합니다.



그리고 Y값 즉, 비만도 값이 숫자가 아닌 문자이죠.

그래서 그 문자 값을 

1. 문자 값을 숫자로

2. 숫자 값을 1, 0의 조합의 배열로


바꿔줍니다.



그리고 모델을 만드는데요

soojin-bmi.model (그냥 제 이름 갖다 붙인.. 모델이름입니다.. ㅎ...ㅎ...)로 만듭니다



이제 model.fit을 이용해서 모델을 적용시켜줍니다!

그럼 실행이 되는데요



실행이 끝나면 정확도가 나오게 되구요

만약, 기존에 만들어진 모델이 있다면 load_model을 통해서 모델을 가지고 옵니다.

그리고 164cm에 58kg일 때 비만도를 물어보죠!



자 훈련이 시작되었습니다.

loss값과 acc 값이 중요한데요



가면갈 수록 val_loss값과 acc 값이 바뀝니다.

val_loss는 감소, acc는 증가됩니다



정확도가 0.9587이 나왔네요!

95%의 정확도를 보여줍니다



그리고 아까 데이터를 실행해보면

당신의 비만도는 normal이라고 나오네요!



이렇게 케라스(keras)와 scikit learn을 이용해서 머신러닝을 해봤습니다

신기하지 않나요?ㅎㅎ

반응형
그리드형
Comments