분류 전체보기 63

07. 머신러닝의 이해

머신러닝에서 알고리즘의 성능보다 중요한 것은 학습 데이터의 질이다. 인공지능과 머신러닝 인공지능은 사람의 지능을 모방하여 사람의 행동을 기계가 구현하도록 하는 모든 기술을 말한다. 가장 상위의 개념인 인공지능 안에는 머신러닝과 딥러닝이 존재한다. 기계가 스스로 데이터를 기반으로 패턴을 학습하여 결과를 추론하는 것이 머신러닝이며, 그 중에서도 인공 신경망(Deep Neural Networks) 기반의 딥러닝 방식이 각광을 받고 있다. 딥러닝 방식은 주로 이미지, 음성, 비디오 등 비정형 데이터를 다루는 데 집중되어 있다. 기존의 머신러닝 알고리즘은 어느 시점부터는 데이터의 양이 많아져도 퍼포먼스가 일정하다. 반면, 딥러닝의 경우 데이터의 양이 많으면 많을수록 퍼포먼스가 향상된다. 딥러닝이 각광 받고 있는 ..

06. 데이터 시각화: matplotlib, seaborn

matplotlib, seaborn은 Python의 가장 기본적인 시각화 툴이다. matplotlib 시각화 라이브러리의 특징은 모든 속성을 알고 외워서 사용할 수 없다는 것이다. matplotlib 라이브러리 역시 데이터를 시각화하고 편집하는 정말 많은 속성을 포함하고 있다. 어떤 식의 세팅, 수정이 가능한지 알고 있으면 공식 문서나 구글 검색에서 찾아 사용할 수 있다. 명령어를 외우는 것보다 그래프의 어떤 부분을 어떻게 바꿀 수 있는지 아는 것이 중요하다. 다음은 matplotlib 공식 문서의 링크이다. Quick-start guide에서 다양한 활용법을 찾아볼 수 있다. https://matplotlib.org/stable/index.html Matplotlib documentation — Mat..

05. Pandas(4): 타이타닉 예제

Titanic Passenger 데이터를 활용한 Pandas 라이브러리 실습 지금까지 세 번의 포스팅에 걸쳐 다룬 Pandas 라이브러리를 Titanic 데이터로 실습한다. 아래 링크에서 실습 코드를 확인할 수 있다. https://github.com/tldnjs1231/data-analytics/blob/main/data-analytics-05-titanic.ipynb GitHub - tldnjs1231/data-analytics Contribute to tldnjs1231/data-analytics development by creating an account on GitHub. github.com

02. 웹 페이지 요청: requests

requests 모듈을 사용하여 server에 자원을 요청하고 문서를 읽어올 수 있다. 웹에서 데이터를 받아오는 과정은 크게 두 가지 작업으로 분류된다. request : client가 server에 자원을 요청 response : client가 요청한 자원을 server가 응답 Client가 웹 페이지에 요청(request)을 보내면, Server는 client가 요청한 파일을 검색한 뒤 해당 파일을 전달(response)하고, 웹 브라우저가 파일을 처리하게 된다. 이번 포스팅에서는 웹 페이지 요청 작업에 사용되는 requests 모듈에 대해 알아본다. 또한, 실제 웹 상의 데이터와 URL은 어떤 형태로 이루어져 있는지 살펴보려고 한다. 참고할 코드는 아래 링크에서 확인할 수 있다. https://gi..

01. Intro: Word Cloud

웹 크롤링을 하려면 문자열 가공과 list, dictionary 자료형에 익숙해야 한다. 웹 크롤링(Web Crawling)은 웹 서버에서 데이터를 끌어오는 작업을 말한다. JSON 형식 등 웹에서 데이터를 보관하는 방식이 dictionary 형태와 유사하고, 그 외에도 웹 상의 데이터를 dictionary 형태로 가져오는 경우가 많다. 웹 서버에서 끌어온 데이터를 dictionary 형태로 변환하기 위해서는, 텍스트를 가공하고 list 자료형을 다루는 것에 익숙해야 한다. Word Cloud 앞서 언급한 세 가지 자료형을 모두 활용해보기 좋은 몸풀기로 Word Cloud 출력이 있다. Word Cloud는 정보나 데이터를 시각적으로 표현한 것을 말한다. 글자 크기에 빈도나 중요도를 반영하여 특정 형태의..

07. 반복문(3): 반복문의 중첩

반복문의 종속문장에 반복문을 삽입하여 반복문을 중첩시킬 수 있다. 반복문 안에 또 다른 반복문을 위치시키는 반복문의 중첩은 매우 중요한 개념이다. 전체적인 뼈대가 되는 반복문을 외반복문, 종속문장이 되는 반복문을 내반복문이라고 한다. 외반복문과 내반복문의 반복 횟수가 명확하다면, 반복문의 중첩을 활용하여 단순화된 코드로 훨씬 더 많은 경우의 수를 다룰 수 있다. 반복문의 중첩을 이해하는 두 가지 방법이 있다. 각각 기획과 확장의 방식이다. 먼저 기획의 방식이다. 반복의 대상과 범위를 확인한 뒤, 'A x B' 형태의 중첩에서 A와 B 중 어떤 것이 더 많이 반복되는지 판단한다. 더 많이 반복되는 대상이 내반복문으로, 덜 반복되는 대상이 외반복문으로 들어가면 된다. 구구단 출력 문제를 예시로 살펴보자. 아..

04. Pandas(3): 데이터 합치기

Pandas에는 2개 이상의 DataFrame을 결합하는 메소드가 존재한다. Pandas에서 concat, merge, join 메소드를 사용해 2개 이상의 데이터프레임을 합칠 수 있다. concat : 축을 따라 데이터프레임 연결 (default : axis=0) merge : 두 데이터프레임에 공통으로 존재하는 열을 기준으로 병합 join : 두 데이터프레임의 행 인덱스를 기준으로 병합 concat concat은 데이터프레임을 행 방향이나 열 방향으로 단순 연결하는 메소드이다. 빈 데이터는 모두 NaN 데이터로 처리된다. import pandas as pd pd.concat([df1, df2]) pd.concat([df1, df2], axis=1) concat의 경우 기존의 행 인덱스나 열 이름이 그..

03. Pandas(2): 정렬 및 Grouping

Pandas를 사용하여 외부 데이터를 읽어와 정렬하고 분석할 수 있다. 지난 포스팅에서는 직접 만든 간단한 데이터로 실습을 진행했다. 현업에서는 외부 데이터를 분석에 사용하기 때문에, 웹 상의 데이터나 파일로 저장된 데이터 등 외부 데이터를 불러올 줄 알아야 한다. Pandas를 사용해 CSV, JSON, HTML(표 데이터), MS EXCEL, SQL 등 다양한 형태의 데이터를 불러올 수 있는데, 앞으로 CSV 파일을 가장 많이 불러오게 될 것이다. CSV 파일 불러오기 CSV 파일로부터 데이터를 불러와 데이터프레임을 생성하는 것은 데이터 분석을 위해 데이터프레임을 생성하는 가장 일반적인 방법이다. CSV 데이터를 불러오는 .read_csv() 명령어는 구체적으로 아래와 같이 사용된다. import p..