1장_안녕파이썬_쉽게배우는파이썬데이터분석.hwp
0.10MB
01-1 데이터 분석과 파이썬
데이터 분석 분야에서 인기 있는 파이썬
- 파이썬은 데이터를 분석하는데 많이 사용되는 프로그래밍 언어
- 기업. 학계, 언론 등 다양한 분야의 데이터 분석가들이 파이
썬을 사용하고 있고, 이제 막 데이터 분석 공부를 시작한 입문자들도 파이썬을 익히고 있음 - 파이썬은 수많은 데이터 분석 도구들 사이에서 큰 인기를 끌고 있으며 점유율도 계속 늘고 있음
파이썬은 어디에 쓰나요?
- 많은 사람이 파이썬을 사용하는 가장 큰 이유는 파이썬으로 할 수 있는 일이 매우 다양하기 때문
- 파이썬은 범용 도구이기 때문에 파이썬 하나만 잘 다뤄도 어떤 형태의 데이터든 자유롭게 분석할 수 있음
통계 분석
- 데이터의 특징을 살펴보는 기초 통계 분석부터 가설 검증을 하는데 사용하는 고급 통계 분석 기법에 이르기까지 다양한 통계 분석 기법에 활용할 수 있음
머신러닝 모델링
- 머신러닝은 다량의 데이터를 이용해 특정 변수를 예측하는 예측 모형을 만드는 기법
- 파이썬을 이용하면 랜덤 포레스트, XGBoost, 딥러닝 등 최신 알고리즘을 쉽게 활용 가능
텍스트 마이닝
- 텍스트 마이닝 기술을 이용하면 문자로 이루어진 데이터를 분석 가능
- 문장에 자주 등장하는 단어가 자주 사용되는지 분석할 수 있음
네트워크 분석
- 트위터, 페이스북과 같은 소셜 네트워크 서비스에서 사람들이 어떤 관계를 형성하고 있는지, 어떤 결로로 메시지가 퍼져 나가는지 분석하는 네트워크 분석 기술을 활용할 수 있음
지도 시각화
- 위도, 경도 등의 지리 정보와 지역 통계를 활용해 국가별 GDP, 시군구별 범죄율 등 지역별 특징을 지도로 표현할 수 있음
주식 분석
- 온라인에서 주식 관련 데이터를 수집해 분석할 수 있음
- 주식투자에 사용되는 지표들을 계산하거나 그래프로 표현할 수 있고, 실제 투자하는데 투자 시스템을 구축할 수 있음
이미지 분석
- 사진, 그림 등의 이미지에서 속성을 추출해 데이터로 변활할수 있음
- 추출한 데이터는 이미지 식별 등 영상 처리 알고리즘을 개발하는데 사용할 수 있음
사운드 분석
- 소리 데이터에서 음량, 진폭 등의 속성을 추출해 데이터로 변환하거나 시각화할 수 있음
- 추출한 데이터는 음성 인식 등 사운드 처리 알고리즘을 개발하는데 사용할 수 있음
소프트웨어 개발
- 파이썬은 범용 프로그래밍 언어이기 때문에 데이터 분석뿐 아니라 소프트웨어를 개발하는데 활용할 수 있음
- 유튜브, 인스타그램, 넷플릭스와 같은 서비스를 우뇽ㅇ하는데도 파이썬을 사용함
전세계 데이터 분석가들이 사용하는 파이썬
- 어떤 도구를 사용하는 사람이 많다는 것은 큰 이점
- 문제가 부딪혔을 때 많은 사람으로부터 경험에서 우러나온 조언을 얻을 수 있기 때문
- 전세계의 수 많은 파이썬 사용자들이 활발하게 커뮤니티 활동을 하고 있음
- 파이썬을 사용하다 막히는 부분이 있을 때 온라인 커뮤니티에 질문을 올리면 비슷한 문제를 해결한 경험이 있는 사람들로부터 친절한 답변을 받을 수 있음
- 특히 초보자들이 겪는 문제는 다름 사람들도 겪어봤기 때문에 검색하면 질문과 답변을 쉽게 찾을 수 있음
- 설명글에는 대부분 파이썬 코드와 함께 정리되어 있으므로 코드를 그대로 활용해 자신의 문제를 해결할 수 있음
- 인터넷 검색량으로 프로그래밍 언어의 인기 순위를 구하는 TIOBE(tiobe.com)에서 2022년 1월 파이썬이 1위를 차지했음
- 특히 최근 들어 파이썬의 인기가 다른 언어에 비해 빠른 속도로 올라가고 있음
데이터 분석 대회 참가자들이 사용하는 파이썬
- 캐글(kaggle.com)은 데이터 분석 대회가 열리는 온라인 플랫폼
- 기업들이 당면한 문제와 데이터를 사이트에 올리면 개인 참가자들이 알고리즘을 개발해 제출하는 방식으로 대회가 진행됨
- 가장 성능이 좋은 알고리즘을 제출한 우증자는 거액의 상금과 함께 데이터 분석가로서의 명성을 얻고, 기업은 현업에 적용할 수 있는 훌륭한 알고리즘을 얻게 됨
- 캐글은 전 세계의 데이터 분석가들이 실력을 검증받는 동시에 다양한 사람들의 아이디어가 모여 데이터 분석 기법이 발전해 나가는 현장
- 캐글의 설문조사에 따르면 캐글 이용자들이 가장 많이 사용하는 프로그래밍 언어는 파이썬임
- 데이터 분석가, 데이터 과학자, 머신러닝 엔지니어, 소프트웨어 엔지니어 직군 모두 파이썬을 사용한다고 답한 사람이 가장 많았음
세계적인 기업들이 사용하는 파이썬
- 세계적인 규모의 기업들이 파이썬을 사용한다는 점도 파이썸이 인기를 끄는데 한몫하고 있음
- 특히 데이터 분석 기술을 선도하는 구글, 페이스북, 아마존, 넷플릭스, 유튜브, 마이크로 소프트, IBM, Uber가 파이썬을 사용하고 있음
파이썬을 사용하는 기업이 늘고 있는 한국
- 세계적인 추세와 마찬가지로 한국에서도 파이썬을 사용하는 기업이 빠르게 늘어나고 있음
- 특히 데이터 관련 업무가 많은 네이버, 카카오, 라인과 같은 IT 회사들은 채용 시험에 파이썬을 활용한 문제를 출제할 만큼 파이썬 활용 능력을 중요하게 여기고 있음
- 구인·구직 사이트를 살펴보면 SKT, KT, 엔씨소프트, 넥슨, LINE, 쿠팡, 배달의민족 등 데이터 분석 담당자를 채용하는 대다수 조직에서 파이썬 사용 경험을 중요시한다는 것을 알 수 있음
01-2 파이썬이 강력한 데이터 분석 도구인 이유
무료로 사용할 수 있는 오픈소스다
- 다른 데이터 분석 도구보다 파이썬을 사용하는 사람이 압도적으로 많은 이유는 파이썬을 무료로 사용헐 수 있기 때문
- 파이썬은 네덜란드의 프로그래머 귀도 반 로섬(Guido van Rossum)이 만들었음
- 귀도 반 로섬은 많은 사람이 손쉽게 컴퓨터 프로그램을 개발할 수 있길 바랐고, 누구든 자류롭게 파이썬을 사용할 수 있도록 온라인에 공개했음
- 심지어 소스 코드까지 공개해서 파이썬을 응용해 소프트웨어를 개발하거나 상업화할 수 있도록 허용했음
- SAS, SPSS처럼 전통적으로 많이 사용해 온 데이터 분석 소프트웨어들은 대부분 유료이며, 이런 상용 도구를 사용하려면 적게는 수십만 원, 많게는 수천만 원을 지불해야 함
- 반면 파이썬은 무료이면서도 상용 도구가 제공하는 기능을 대부분 갖추고 있고, 심지어 훨씬 더 많은 기능을 활용할 수 있어, 수십 년간 상용 도구를 사용해 오던 학계와 산업계가 점차 기존 도구 대신 파이썬을 사용하는 데는 파이썬이 오픈 소스여서 비용이 들지 않는 다는 점이 중요하게 작용하고 있음
데이터 분석을 대중화 했다
- 파이썬은 데이터 분석 기술의 장벽을 낮추는 역할을 하고 있음
- 과거에는 대기업이나 대학처럼 상용도구를 구입하는데 비용을 지불할 여력이 있는 조직에서만 데이터 분석 기술을 활용해 왔음
- 하지만 파이썬이 등장하면서 규모가 작은 기업이나 개인 사용자도 데이터 분석 기술을 손쉽게 활용할 수 있게 되었음
- 최근 들어 데이터 분석 기술에 대한 관심이 높아진 것도 파이썬과 같은 오픈 소스가 기술 장벽을 낮췄기 때문임
오픈 소스 생태계가 발달되어 있다
- 오픈소스 생태계야말로 파이썬이 각광받는 가장 큰 이유
- SAS, SPSS 등과 같은 상용 분석 도구를 사용한다면 새로운 분석 기법이 등장하더라도 다음 버전이 나올 때까지 기다렸다가 유료로 구매해야함
- 반면 파이썬은 새로운 분석 기법이 등장하면 며칠내로 패키지가 업로드되므로 바로 다운로드해 사용할 수 있음
- 전 세계의 전문자들이 패키지를 만들어 온라인에 공개하고 있음
- 파이썬 사용자들이 패키지를 만들어 공유라는 소프트웨어 저장소 PyPI(pypi.org)에는 37만 개가 넘는 패키지가 공개되어 있음(2022년 5월 기준)
- PyPI를 사용하지 않고 깃허브(github)나 콘다(conda) 등 다양한 경로를 통해서도 패키지가 공개되는 점을 생각하면 파이썬 생태계의 규모를 짐작할 수 있음
- 특히 최근에는 온라인 서비스를 중심으로, 텍스트, 임지, 도영상과 같은 비정형 데이터가 많이 만들어지면서 비정형 데이터를 다루는 분석 기법들도 새롭게 등장하고 있음. 또한 머신러닝이 주목받으면서 성능을 개성한 머신러닝 알고리즘이 등장하면 거의 동시에 파이썬 패키지가 개발되어 공유됨. 오픈 소스 생태계 덕분에 최신 분석 기법을 빠르게 활용할 수 있는 것임. 최신 기술을 활용해야하는 여러 분야의 전문가들이 파이썬을 선호하는 이류가 바로 여기에 있음
- (연봉, 학점처럼 정해진 규칙이나 구조가 있는 데이터를 정형데이터, 텍스트나 이미지처럼 규칙이나 구조가 없는 데이터를 비정형 데이터라고 함)
교육 재료가 다양하다
- 사용자가 많은 만큼 책, 온라인 강의, 온라인 문서 등 파이썬을 다룬 다양한 교육 콘텐츠가 개발되어 있음. 교육 재료가 많다는 것은 기술을 익히기 시작한 입문자에게 반가운 일임. 영어로 된 자료가 많지만 최근에는 한국어로 된 콘텐츠도 많아졌음
다양한 그래프를 만들 수 있다
- 데이터 분석가들이 파이썬을 많이 사용하는 데에는 그래프를 만드는 성능도 한몫함. 데이터 분석 작업은 대부분 분석 결과를 이해하기 쉽도록 그래프를 만드는 작업으로 마무리됨. 다른 분석도구들도 그래프를 만드는 기능을 제공하지만, 조작이 불편하고 결과물의 품질이 떨어져서 별도의 프로그램을 이용해야 하는 경우가 많음.
- 반면 파이썬에는 멋진 그래프를 만들 수 있는 다양한 패키지가 있음, 코드 몇 줄이면 학술 논문이나 출판물에 사용할 수 있을 정도로 고품질 그래프를 만들 수 있음.
- 파이썬을 사용하면 데이터 분석부터 그래프를 만드는 일까지 하나의 도구로 작업할 수 있어서 매우 효율적임
전문적인 데이터 분석까지 할 수 있는 ‘프로그래밍 방식’이다
- 데이터 분석 도구는 ‘GUI 방식’과 ‘프로그래밍 방식’이 있음
- GUI(graphic user interface) 방식은 엑셀이나 SPSS처럼 화면의 메뉴와 버튼을 마우스로 클릭하는 형태를 말함
- 프로그래밍 방식은 파이썬이나 SAS처럼 키보드로 명령어를 입력하는 형태를 말함
GUI 방식 | 프로그래밍 방식 | |
특징 | 마우스 조작만으로 분석 작업을 할 수 있어서 비교적 사용하기 쉬움 데이터의 크기가 작고 절차가 단순할 때 사용 |
데이터의 크기가 크고 절차가 복잡할 때 사용 |
- 비유하자면, GUI 방식의 분석 도구는 사용하기 쉽지만 고품질 사진을 찍기 어려운 스마트폰 카메라라고 할 수 있고, 프로그래밍 방식의 분석도구는 상대적으로 조작은 까다롭지만 예술 작품 수준의 결과물을 만들어 낼 수 있는 DSLR카메라라고 할 수 있음
- 프로그래밍 방식의 분석도구는 전문적인 데이터 분석 작업을 할 수 있을 뿐만 아니라 GUI 반식의 분석 도구와 비교해 다음과 같은 장점이 있음
재현성이 확보된다
- 분석 방법과 데이터가 같다면 누가 분석하든 같은 결과물을 얻을 수 있어야 하는데, 이를 재현성이라고 함. 과학적인 연구를 수행하거나 머신러닝 모델을 만드는 것처럼 데이터에 기반을 둔 작업을 할 때는 재현성을 반드시 확보해야 함. 데이터 분석 과정을 재현할 수 있어야만 결과물을 신회할 수 있기 때문임.
- 파이썬과 같은 프로그래밍 방식의 분석 도구를 사용하면 데이터 분석의 전 과정이 코드에 고스란히 남기 때문에 재현성을 확보할 수 있음
오류가 줄어든다
- GUI 방식의 분석 도구를 이용해 마우스로 메뉴를 클릭하며 작업하다 보면 조작 실수를 할 때가 있음. 간단한 실수는 실행 취소 기능으로 되돌릴 수 있지만, 절자가 복잡한 작업을 하다가 실수하면 되돌리기 어려움. 어떤 작업 때문에 문제가 생겼는지 알기 어렵기 때문임. 더욱 위험한 점은 실수를 하더라도 자신이 실수 했다는 사실을 알아차리기 힘들다는 것
- 파이썬과 같은 프로그래밍 방식의 도구를 이용하면 이런 문제를 해소할 수 있음. 모든 작업 과정이 코드에 드러나기 때문에 분석 결과에 이상한 점이 발견되더라도 오류를 쉽게 파악하여 수정할 수 있음. 다른 사람에게 코드를 검토해달라고 부탁할 수도 있음.
- 자신이 직접 분석하지 않았더라도 코드를 보면 오류를 찾아낼 수 있기 때문
공동 작업을 할 수 있다
- GUI 방식의 분석 도구를 사용하면 분석 결과만 남고 분석 과정은 기록되지 않음. 작업하던 자료를 다른 사람에게 넘겨주면 어떤 작업을 이어서 해야 하는지 판단하기 어렵기 때문에 GUI 방식의 분석 도구는 여러 사람이 함께 작업하는데 적합하지 않음
- 반면, 프로그래밍 방식의 분석 도구를 사용하면 모든 분석 과정이 코드로 남음. 코드를 보면 어떤 작업을 할 차례인지 알 수 있으므로 코드를 공유하며 공동 작업을 할 수 있음
- 분석 과정을 데이터 전처리, 통계 분석, 시각화 등 몇 단계로 나눠 여러 사람이 동시에 작업하면 데이터를 효율적으로 분석할 수 있음
'데이터 분석(Data Analysis) > 쉽게 배우는 파이썬 데이터 분석' 카테고리의 다른 글
[둘째마당_본격실습! 데이터 갖고 놀기] 07 데이터 정제 - 빠진 데이터, 이상한 데이터 제거하기 (0) | 2023.12.23 |
---|---|
[둘째마당_본격실습! 데이터 갖고 놀기] 06 자유자재로 데이터 가공하기 (0) | 2023.12.18 |
[둘째마당_본격실습! 데이터 갖고 놀기] 05 데이터 분석 기초! - 데이터파악하기, 다루기 쉽게 수정하기 (0) | 2023.12.17 |
[둘째마당_본격실습! 데이터 갖고 놀기] 04 데이터 프레임의 세계로 (0) | 2023.12.16 |
[첫째마당_파이썬이랑 친해지기] 03 데이터 분석에 필요한 연장 챙기기 (0) | 2023.12.15 |