일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 맛있는디자인스터디12기
- 혼공학습단
- 혼공머신
- 혼공분석
- 맛있는디자인
- 회고
- 3주차후기
- 프리미어프로
- 6주차후기
- 챌린지
- CC2023
- 혼공단
- 맛있는디자인스터디11기
- 후기
- Doit점프투파이썬
- 전면개정2판
- 혼공
- 애프터이펙트
- 혼공JS
- 혼공자
- 제이펍
- Doit파이썬스터디
- 스터디완료
- 혼공C
- CS2023
- 진짜쓰는일러스트레이터
- 혼공파
- 스터디
- 생성형AI
- 맛있는디자인스터디13기
- Today
- Total
애독자's 공부방
[혼공분석] 1주차 _ 혼자 공부하는 데이터 분석 with 파이썬 본문
혼공단 - 혼공분석, 혼자 공부하는 데이터 분석 with 파이썬
■ 시작에 앞서..
지난 12기를 마치고 13기에 혼공분석으로 돌아오겠다고 다짐했었는데, 약속을 지킬 수 있게 되었습니다.
2024.08.15 - [Java/혼공학습단 12기] - 혼공학습단 12기 활동 회고 : 꾸준히 혼공자
■ 공부한 내용
# | 진도 | 기본 숙제(필수) | 추가 숙제(선택) |
1주차 (1/6 ~ 1/12) |
Chapter 01 | p. 81의 확인 문제 4번 풀고 인증하기 | p. 71 ~ 73 남산 도서관 데이터를 코랩에서 데이터프레임으로 출력하고 화면 캡처하기 |
□ Chapter 01 | 데이터 분석을 시작하며
▷ 01-1 | 데이터 분석이란
1. 데이터 분석과 데이터 과학을 비교
1) 데이터 분석: 유용한 정보를 발굴하고 결론적인 내용을 알리며 의사결정을 지원하는 것을 목표로 데이터를 정리, 변환, 모델링하는 과정
- https://ko.wikipedia.org/wiki/데이터_분석
. 넓은 의미: 데이터 수집, 데이터 처리, 데이터 정제, 모델링
. 좁은 의미: 기술통계(descriptive statiistics), 탐색적 데이터 분석(EDA: exploratory data analysis), 가설검정(hypothesis testing) ← 통계학 관점에서의 데이터 분석
2) 데이터 과학(사이언스): 데이터 마이닝(Data Mining)과 유사하게 정형, 비정형 형태를 포함한 다양한 데이터로부터 지식과 인사이트를 추출하는 과정에서 과학적 방법론, 프로세스, 알고리즘, 시스템을 동원하는 융합 분야
- https://ko.wikipedia.org/wiki/데이터_사이언스
3) 차이점: 두 분야가 만들어 내는 '결과물'
- 데이터 분석: 올바른 의사 결정을 돕기 위한 통찰(insight)을 제공하는데 초점
- 데이터 과학: 한 걸음 더 나아가 문제 해결을 위한 최선의 설루션(solution)을 만드는데 초점
특징 | 데이터 분석 | 데이터 과학 |
범주 | 비교적 소규모 | 대규모 |
목표 | 의사 결정을 돕기 위한 통찰을 제공하는 일 | 문제 해결을 위해 최선의 솔루션을 만드는 일 |
주요기술 | 컴퓨터 과학, 통계학, 시각화 등 | 컴퓨터 과학, 통계학, 머신러닝, 인공지능 등 |
빅데이터 | 사용 | 사용 |
2. 파이썬 필수 패키지
이름 | 내용 |
넘파이 (Numpy) | 과학 계산과 배열에 필요한 수학 패키지 |
판다스 (pandas) | 숫자와 문자를 섞어 표처럼 사용할 수 있는 데이터프레임을 제공 |
맷플롯립 (matplotlib) | 동적, 정적 그래프를 만들 수 있는 시각화 패키지 |
사이파이 (SciPy) | 수학과 과학 계산 전문 패키지로 미적분, 선형대수 등을 포함 |
사이킷런 (scikit-learn) | 파이썬에서 사용할 수 있는 대표적인 머신러닝 패키지 |
3. 데이터 마이닝과 머신러닝
1) 데이터 마이닝: 데이터에서 패턴 혹은 지식을 추출하는 작업
2) 머신러닝: 데이터에서 자동으로 규칙을 학습하여 문제를 해결하는 소프트웨어를 만드는 기술
▷ 01-2 | 구글 코랩과 주피터 노트북
- 핵심 포인트 요약
. 코랩: 구글 계정을 가지고 있다면 누구나 사용할 수 있는 웹 브라우저 기반의 파이썬 코드 실행 환경
. 노트북: 코랩의 프로그램 작성파일로, 일반 프로그램 파일과 달리 대화식으로 프로그램을 만들 수 있어 데이터 분석이나 교육에 매우 적합
특징 | 구글 코랩 | 주피터 노트북 |
설치 | 클라우드 기반이므로 설치 불필요 | 내 컴퓨터에 설치 |
실행환경 | 인터넷이 연결된 웹 브라우저 | 오프라인 상태의 웹 브라우저 |
파일저장 | 구글 드라이브에 자동 저장 | 내 컴퓨터 하드 디스크에 저장 |
패키지 | 사전 설치되어 제공 | 패키지 관리자로 직접 설치 |
. 구글 드라이브: 구글이 제공하는 클라우드 파일 저장 서비스로, 코랩에서 만든 노트북을 'Colab Notebooks' 폴더에 저장할 수 있고 필요할 때 다시 코랩에서 열기 가능
. 깃허브: 분산 버전 관리 툴인 깃의 저장소를 호스팅하는 웹 서비스로, 코드 수정 이력을 버전별로 관리할 수 있고 여러 사람이 공동으로 작업하기 편리한 환경을 제공
. 마크다운: HTML과 같이 일반 텍스트로 서식있는 문서를 작성하는 데 사용
▷ 01-3 | 이 도서가 얼마나 인기가 좋을까요?
1. 핵심 포인트 요약
- 공개 데이터 세트: 기업이나 정부 등이 무료로 공개하는 데이터 세트로, 누구나 저작권에 상관없이 다운로드하여 데이터 분석이나 제품 개발에 활용 가능
구분 | 이름 | URL |
국내 사이트 | 공공데이터포털 | https://www.data.go.kr |
통합 데이터 지도 | https://www.bigdata-map.kr | |
AI 허브 | https://aihub.or.kr | |
국가통계포털 | https://kosis.kr | |
해외 사이트 | 구글 데이터 세트 검색 | https://datasetsearch.research.google.com |
캐글 데이터 세트 | https://www.kaggle.com/datasets | |
위키피디아 머신러닝 데이터 세트 | https://en.wikipedia.org/wiki/List_of_datasets_for_machine-learning_research | |
아마존 웹서비스 오픈 데이터 | https://registry.opendata.aws | |
UCI 머신러닝 데이터 저장소 | https://archive.ics.uci.edu/ | |
온라인 포럼 | 데이터 분석 커뮤니티 | https://www.facebook.com/groups/datacommunity |
캐글 코리아 | https://www.facebook.com/groups/KaggleKoreaOpenGroup | |
텐서플로 코리아 | https://www.facebook.com/groups/TensorFlowKR | |
파이토치 코리아 | https://www.facebook.com/groups/PyTorchKR | |
사이킷런 코리아 | https://www.facebook.com/groups/ScikitLearnKR |
- CSV파일: 콤마(,)로 구분된 텍스트 파일로, 한 줄이 하나의 레코드이며, 레코드는 콤바로 구분된 여러 필드 혹은 열로 구성 → 데이터가 엑셀처럼 표 형태를 가져야 하기 때문에 레코드에 있는 필드 개수는 모두 동일하게 구성
- 판다스: 표 형식 데이터를 위한 편리한 도구를 다양하게 제공하는 강력한 데이터 분석 패키지
- 데이터프레임: 판다스의 핵심 데이터 구조로 행과 열로 구성되며, CSV 파일이나 엑셀 파일로부터 데이터프레임을 생성
- 시리즈: 1차원 배열과 흡사한 판다스의 객체로, 한 종류의 데이터만 포함 가능
2. 책에 나온 함수와 메서드
함수/메서드 | 기능 | 사용 |
pandas.read_csv() | CSV 파일을 읽어 데이터 프레임으로 반환 | pandas.read_csv(filepath_or_buffer, header, names, index_col, encoding, low_memory, dtype) |
매개변수 | 설명 | |
filepath_or_buffer header names index_col encoding low_memory dtype |
. CSV 파일 이름을 지정 . 첫 번째 행을 열 이름으로 사용하거나, 열 이름으로 사용할 행 번호를 지정 (기본값: infer는 첫 번째 행을 열 이름으로 사용 / None으로 지정하면 0부터 시작하는 숫자를 열 이름으로 사용) . 열 이름을 문자열 리스트로 전달하면 header 매개변수를 무시하고 names 값으로 열 이름을 사용 (중복된 열 이름 지정 불가) . 행 인덱스로 사용할 열 번호를 지정 (기본값: None은 정수로 된 행 인덱스를 새로 생성) . 읽을 파일의 인코딩 방식을 지정 (기본값: None은 대부분의 시스템에서 UTF-8 사용) . False로 지정하면 파일을 나누어 읽지 않고 한 번에 읽음 (이 경우 열의 데이터 타입을 감지하는데 오류 미발생) . 열 이름과 데이터 타입 쌍으로 구성된 딕셔너리로 원하는 열마다 데이터 타입 지정 가능 |
|
DataFrame.head() | 데이터프레임에서 처음 다섯 개의 행을 반환 | DataFrame.head(n) |
n | . 추출하고 싶은 행 개수를 지정 | |
DataFrame.to_csv() | 데이터프레임을 CSV 파일로 저장 | DataFrame.to_csv(path_or_buf, index, encoding) |
path_or_buf index encoding |
. CSV 파일 이름을 지정 . 행 번호를 저장할지 지정 . 읽을 파일의 인코딩 방식을 지정 (기본값: None으로 UTF-8을 사용) |
■ 기본 숙제
▷ p. 81의 확인 문제 4번 풀고 인증하기
- 정답: ③
. header 매개변수의 기본값은 infer, names 매개변수는 열 이름, dtype 매개변수는 원하는 열마다 데이터 타입 지정 가능
※ 위 정리한 부분 외 공식 사이트 내용: https://pandas.pydata.org/docs/reference/api/pandas.read_csv.html
■ 추가 숙제(선택)
▷ p. 71 ~ 73 남산 도서관 데이터를 코랩에서 데이터프레임으로 출력하고 화면 캡처하기
'데이터분석 > 혼공학습단 13기' 카테고리의 다른 글
[혼공분석] 2주차 _ 혼자 공부하는 데이터 분석 with 파이썬 (0) | 2025.01.13 |
---|