안녕하세요. 도넛쌤입니다.
이번에는 조금 특별한 주제로 찾아뵙네요! 이번에 소개해 드릴 주제는 ‘공공데이터를 활용한 데이터 과학’입니다. ‘공공데이터를 활용한 데이터 과학’은 앞으로 정보쿠키에서 정기적으로 발행할 예정이에요. 이번 시간에는 본격적인 파이썬 실습 전 중학교 시절 배운 엔트리로 데이터를 분석해 보며 데이터 과학에 대한 감을 익혀 보는 가벼운 실습으로 구성해 보았습니다.
자 여러분들이 500년 전 조선 시대 주모가 되었다고 생각하고 아래 시트를 살펴보세요.
‘아래의 데이터에서 일주일 동안 팔린 메뉴의 종류는 몇 개일까요?’
이 질문에 답하기 위해 여러분은 A4 용지에 메뉴를 하나씩 정리하기 시작합니다.
▲ 판매 데이터의 일부
조선시대 주모가 만든 알고리즘
① 2번째 줄의 메뉴이름 ‘참치마요김밥’을 A4 용지에 메뉴종류 리스트에 추가하기
② 3번째 줄의 메뉴이름 ‘돈가스김밥’을 A4 용지에 메뉴종류 리스트에 추가하기
③ 4번째 줄의 메뉴이름 ‘참치마요김밥’이 A4 용지에 메뉴종류 리스트에 있기 때문에 추가하지 않기(메뉴종류를 알기 위함이기 때문에 추가하지 않는다.)
→ 자, 이렇게 785번째 줄까지 반복적으로 작업을 합니다…
이런 작업을 정말 사람이 해야 한다면 굉장히 오래 걸리겠죠? 그리고 무엇보다도 결과가 정확하지 않을 수 있어요. 자, 이런 문제는 어떻게 해결해야 할까요? 바로 데이터 과학!!! 엔트리로 이러한 문제를 해결하여 보아요.
여러분들이 중학교에서 배운 엔트리에도 데이터를 분석할 수 있는 기능이 있어요. 지금부터 785개의 분식집 데이터를 10초 만에 해결하는 마술(데이터 과학)을 보여드리겠습니다.
실습 개요
1. 엔트리 회원가입&로그인
2. 엔트리에 데이터 업로드
3. 데이터 프로그래밍
4. 결과 확인&결과 해석(데이터 분석)
1. 엔트리 회원가입&로그인
플레이 엔트리 (https://playentry.org/#!/) 계정에 로그인하여 클라우드 공간에 작업물을 저장하면, 오늘 실습한 내용을 언제 어디서나 플레이 엔트리에 접속하여 볼 수 있어요.(클라우드
)
① 플레이 엔트리 사이트에서 [로그인] 버튼을 클릭하여 로그인을 진행합니다.
2. 엔트리에 데이터 업로드
엔트리에는 ‘데이터 분석’ 블록 꾸러미가 있어요. 지금과 같은 문제를 해결하기 위해 데이터 프로그래밍을 하는 데 필요해요.
① ‘분식집 데이터 분석하기’로 작품 이름을 변경하고, [저장하기] 버튼을 눌러 플레이 엔트리 클라우드 공간에 작품을 저장합니다.
② [데이터 분석]-[테이블 불러오기] 버튼을 클릭하여 데이터 분석 실습을 위한 준비를 합니다.
③ [테이블 추가하기]-[파일 올리기]-[파일 선택]을 클릭하여 ‘분식집 데이터’를 불러옵니다.
아래 파일을 클릭하면 실습 데이터를 다운로드할 수 있습니다.
④ 선택한 파일이 잘 업로드되었는지 확인한 후 [추가하기] 버튼을 클릭합니다.
⑤ 업로드한 데이터를 확인하고 [적용하기] 버튼을 클릭하여 엔트리에 데이터를 업로드합니다.
3. 데이터 프로그래밍
위에서 살펴보았던 글로 작성된 ‘조선시대 주모가 만든 알고리즘’을 엔트리 프로그램으로 옮겨 데이터 분석을 진행해 보겠습니다.
① [속성]-[변수]-[변수 추가하기] 버튼을 눌러 필요한 변수를 추가합니다. 이때 변수 이름은 ‘행번호’로 설정합니다.
변수를 만드는 이유?
2, 3, 4, … , 785번째 데이터에 순차적으로 접근할 때 변수를 사용하면 프로그램을 보다 간결하게 만들 수 있고, 직접 하나씩 데이터에 접근하지 않고 변수를 이용하여 간편하게 접근할 수 있습니다.
② [속성]-[리스트]-[리스트 추가하기] 버튼을 눌러 필요한 리스트를 추가합니다. 이때 리스트 이름은 ‘메뉴종류’로 설정합니다.
③ 위에서 만든 ‘조선시대 주모가 만든 알고리즘’을 아래 코드 블록과 동일하게 엔트리로 구현합니다.
▲ 정답 코드
4. 결과 확인&결과 해석(데이터 분석)
① 작성한 코드를 실행시켜 결과를 확인합니다.
빠르게 파악된 결과를 보고, 우리는 빠른 의사결정을 내릴 수 있어요. 여러분들이 분식집 사장님이라면, 팔린 메뉴와 팔리지 않은 메뉴를 구분하여 메뉴판을 정리해 볼 수도 있겠죠?
또한, 분식집에서 많이 팔리는 메뉴에 대한 재고 관리도 용이할 거예요. 이렇게 다량의 데이터를 분석하여 얻은 결과를 활용하는 학문이 빅데이터 분석입니다. 이제, 데이터 과학을 공부할 준비가 되었나요?
마치며…
이 프로그램을 완성했다면, 다음을 도전해 보고 싶을 것이예요. 저 역시 수업 후 학생들에게 추가 과제로, 메뉴별로 얼마나 팔렸는지 알아보는 과제를 추가로 진행했어요. 하지만, 교육용 프로그래밍 언어의 한계로 이 부분은 구현하기가 어렵더라고요.
여러 방법을 찾아 결국 구현해 내긴 했지만, 속도가 굉장히 느려서 ‘이제는 엔트리를 벗어나 이차원 리스트를 사용할 수 있는 파이썬으로 데이터를 분석해야 한다.’는 생각이 들었어요.
자 이제 다음 주제부터는 파이썬으로 데이터 분석을 시작하려고 합니다. 엔트리로 펼치기 어려웠던 여러분의 상상력을 파이썬으로 마음껏 발휘하세요. 화이팅~~~