내일배움캠프_QAQC 1기/TIL

[12/31] TIL_강의, 아티클, 세션

이지응:) 2024. 12. 31. 20:37
데이터 전처리&시각화 

 

오늘부터 데이터 전처리와 시각화에 대해 배우게 되었습니다.

데이터 분석가가 누구인지, 데이터 전처리와 시각화를 왜 하는지에 대해 이론으로 먼저 배우고 VScode를 사용하여 직접 실습하는 시간을 가졌습니다.

 

데이터 분석가의 유형

 

비즈니스 분석가

  • 주로 비즈니스 문제를 이해하고 해결하기 위해 데이터를 분석
  • 비즈니스 프로세스 및 요구 사항을 파악하고 데이터 기반으로 의사 결정을 지원
  • 주로 업무 프로세스 개선, 비즈니스 모델 분석, 요구 사항 관리 등을 수행

프로덕트 분석가

  • 제품이나 서비스의 성과를 평가하고 개선하기 위해 데이터 분석
  • 사용자 행동 및 제품 성능과 관련된 데이터를 분석하여 제품 개선에 기여
  • 주로 제품 경험과 사용자 행동에 대한 분석을 수행하며 A/B 테스트, 사용자 경로 분석 등을 담당

데이터 분석가

  • 주로 정형 데이터를 분석하여 기업의 의사 결정을 지원
  • 데이터베이스, 스프레드시트 등에서 데이터를 추출하고 데이터를 정제하여 보고서 및 시각화를 생성
  • SQL, Excel, 데이터 시각화 등을 활용하여 업무를 수행

BI 분석가

  • 기업의 비즈니스 인텔리전스 플랫폼과 도구를 사용하여 데이터를 시각화하고 보고서를 작성합니다.
  • 주로 기업 내부 데이터를 시각화하고, 이를 통해 의사 결정에 필요한 정보를 제공합니다.
  • BI 도구 (Tableau, Power BI 등)를 사용하여 대시보드를 구축하고, 데이터 시각화 및 보고서 작성을 담당합니다.

데이터 사이언티스트

  • 주로 데이터를 활용하여 예측, 패턴 발견, 복잡한 분석을 수행하여 비즈니스 문제를 해결합니다.
  • 통계, 머신러닝, 딥러닝 등의 기술과 알고리즘을 사용하여 데이터를 분석하고 모델을 구축합니다.
  • 데이터 수집, 전처리, 모델링, 평가 및 해석을 포함한 end-to-end 데이터 분석 작업을 수행합니다.

 

데이터 전처리

데이터 전처리를 할 떄는 꼭 방향성을 가지고 해야 합니다.

 

 

pandas vs Excel

 

자동화와 프로그래밍 기능

  • Pandas는 다양한 라이브러리를 사용하여 데이터를 불러오고, 변환하며, 분석할 수 있습니다. 이를 통해 반복적이고 복잡한 작업을 자동화할 수 있습니다.
  • 엑셀은 시각적 사용자 인터페이스를 통해 데이터를 다루는 스프레드시트 프로그램입니다. 작업은 주로 수동으로 수행되며, 고급 기능을 프로그래밍적으로 확장하기가 어렵습니다.

대용량 데이터 처리

  • Pandas는 대용량 데이터를 처리하는 데 유용합니다. 메모리 내에서 데이터를 처리하거나, 큰 데이터 세트를 조각으로 나누어 처리할 수 있는 기능을 제공합니다.
  • 엑셀은 상대적으로 작은 크기의 데이터셋을 다루는 데 적합합니다. 매우 큰 데이터를 처리할 경우에는 처리 속도가 느려질 수 있고, 파일 크기 제한 등의 제약이 있을 수 있습니다.

복잡한 데이터 처리 및 분석

  • Pandas는 데이터 분석 및 처리를 위한 다양한 도구와 라이브러리를 활용가능하며, 데이터를 다양한 방식으로 조작하고 분석할 수 있습니다. 이를 통해 복잡한 데이터 작업, 통계 분석, 머신러닝 모델 구축 등이 가능합니다.
  • 엑셀은 기본적인 수식과 함수를 통해 데이터를 처리하고 시각화할 수 있지만, 복잡한 데이터 조작이나 분석에는 제약이 있을 수 있습니다.

확장성과 유연성

  • Python은 다양한 데이터 포맷을 처리할 수 있는 라이브러리를 지원하며, 데이터베이스와 연동하여 작업할 수 있는 등 매우 유연합니다.
  • 엑셀은 주로 특정 데이터 형식의 파일 (.xlsx, .csv 등)을 다루는 데에 제한되어 있습니다.

버전 관리 및 자동화

  • Python 코드는 버전 관리 시스템(Git 등)을 사용하여 변경 내역을 관리하고, 코드 자체에 주석을 추가하거나 문서화할 수 있어 작업 히스토리를 추적하기 용이합니다.
  • 엑셀은 사용자가 직접 수정하기 때문에 변경 사항을 추적하거나 문서화하기 어려울 수 있습니다.

=> pandas는 대규모 데이터셋 및 복잡한 작업을 처리하는 데 효과적이며, 자동화와 프로그래밍 기능을 통해 더 많은 유연성과 확장성을 제공합니다.

반면 엑셀은 상대적으로 작은 규모의 데이터나 간단한 작업에 유용하며, 비전문가가 쉽게 사용할 수 있는 직관적인 인터페이스를 제공합니다.

 

오늘 파이썬이랑 VScode 설치하는데 너무 시간을 많이 써서 3주차 강의를 다 못들었습니다.

1일부터 다시 열심히 달려봐야겠습니다!!!


 

아티클

데이터 시각화 101: ②직관적인 데이터 시각화 만들기 | 요즘IT

 

요약

시각 정보를 처리하는 과정

1단계 : 뚜렷한 시각 요소 파악하기

시각 정보가 눈의 신경 세포에 입력되어 뇌로 전달 되고 세포들이 시각 요소들을 추출함. 그 중 뚜렷한 시각 요소들이 감각 기억에 저장

전주의적 속성을 이해하면, 데이터 시각화 내의 중요한 시각 정보들이 눈에 띄도록 디자인할 수 있음

2단계 : 패턴 알아차리기

앞에서 추출한 시각 요소들의 공통점과 차이점을 발견. 윤곽선, 색, 질감 등에 따라 그룹으로 분류하며 패턴을 인식

게슈탈트 원리 적용

3단계 : 해석하기

추출된 시각 요소와 패턴을 이용하여 뇌에서 능동적으로 의미 부여하고 해석

 

핵심 개념

시각 정보 처리 과정 : 시각 요소 파악 -> 패턴 인식 -> 해석

 

용어 정리

전주의적 속성 : 뚜렷하게 우리 눈에 보이는 시각 요소들

게슈탈트 원리 : 우리의 뇌가 사물의 형태를 지각하는 원리

근접성의 원리, 유사성의 원리, 공동 운명의 원리, 균등한 연결의 원리 등이 있음


데이터 전처리&시각화 세션

 

공부한 자료 및 숙제 :

https://colab.research.google.com/drive/1xQjekL9BDjIFd9xbPYsQXa4tkO1vDhzy#scrollTo=BqfpjzLMCyHF

 

데이터 분석의 5단계

 

문제 정의 -> 가설 설정 -> 데이터 수집 -> 검증 -> 결론

 

1. 문제 정의

프로젝트에서 해결하려는 문제나 목표를 명확히 정의하는 단계

 

2. 가설 설정

문제의 원인이나 해결 방안에 대한 가설을 설정하는 단계

문제가 발생한 이유와 관련 변수를 정의하고 가설을 검증할 수 있는 방법을 계획

 

3. 데이터 수집

가설 검증을 위해 필요한 데이터를 수집하는 단계

 

4. 검증

수집한 데이터를 바탕으로 가설을 검증하고 문제의 원인을 명확히 파악하는 단계

결과가 수치적으로 제시되며 데이터 분석과 실험을 통해 가설이 맞는지 확인

 

5. 결론

검증 결과를 바탕으로 주요 인사이트를 도출하고 실질적인 의사결정 또는 권장 사항을 제시하는 단계

검증 결과를 바탕으로 문제를 해결하기 위한 최적의 방안을 도출하고 실행 계획을 수립

 

 

데이터를 얻을 수 있는 사이트

케글 : Kaggle: Your Machine Learning and Data Science Community

데이콘 : DACON : 인공지능 경진대회 플랫폼 데이콘 Data Science AI Competitions - DACON

 

숙제

 

첫 번째 셀: %%writefile calculator.py 아래에 계산기 기능 함수를 정의합니다. 이 셀을 실행하면 Colab 환경에 calculator.py 파일이 생성됩니다.

두 번째 셀: import calculator를 사용해 모듈을 가져옵니다.

각 함수(add, subtract, multiply, divide)를 호출하여 다양한 연산을 수행하고 결과를 확인합니다.

 

%%writefile calculator.py

def calculator(a,b) :
    return(a+b, a-b, a*b, a/b)
import calculator

result_add = calculator.add(2,3)
print("2 + 3 =", result_add)

result_substract = calculator.substract(2,3)
print("2 - 3 =", result_substract)

result_multiply = calculator.multiply(2,3)
print("2 * 3 =", result_multiply)

result_divide = calculator.divide(2,3)
print("2 / 3 =", result_divide)
%%writefile calculator.py

def add(a,b):
  return(a+b)

def substract(a,b):
  return(a-b)

def multiply(a,b):
  return(a*b)

def divide(a,b):
  return(a/b)

 

처음에 3번재 셀처럼 함수를 하나 하나 다 정의했는데 calculator 하나로만 정의해도 되지 않을까 싶어서 첫 번째 셀처럼 코드를 작성해 봤더니 실행이 됐습니다!! 근데 찾아보니 원래 실행이 되지 않는게 맞는 것 같습니다. 파일에 함수를 정의해 놓은게 남아있어서 코드가 실행 되었던 거 였습니다...ㅎ