데이터 청년 캠퍼스(2022)/배운 내용 정리

7.1(금) 파이썬 - MatPolt, NumPy

데욱 2022. 7. 3. 15:09

MatPlot 이란?

 

  • GNUplot처럼 그래프를 그리는 라이브러리이다.
  • MATLAB을 대신할 수 있다. MATLAB이 비싸고 상업용 제품인 반면에 MatPlot은 무료이고 오픈 소스이다.

 

matplot 실행을 위한 import

 

직선 그래프 그리기

 

plt.plot()을 이용해 그래프 생성

  • plt,plot(): 그래프 생성
  • plt.show(): 그래프를 볼 수 있도록 함
  • plt.xlabel("이름"): x행에 대한 주제명 추가
  • plt.ylabel("이름"): y행에 대한 주제명 추가
  • plt.plot(x,y label = "이름"): 해당되는 그래프명 설정
  • plt.legend(loc="위치"): 해당되는 위치에 그래프 탭 생성
  • plt.title("이름"): 전체적인 그래프명 생성

 

추가적인 속성 첨가한 그래프 생성

 

점선 그래프, 막대 그래프 생성

 

왼쪽의 점선 그래프: plt.plot(데이터,"sm")  / 오른쪽의 막대그래프 plt.bar()

 

NumPy란?

 

  • 행렬 계산을 위한 파이썬 라이브러리 모듈
  • 처리 속도가 중요한 인공지능이나 데이터 과학에서는 파이썬의 리스트 대신에 넘파이를 선호
  • 사이킷런이나 텐서플로우 패키지도 모두 넘파이 위에서 작동
  • 리스트는 데이터가 흩어져 있어서 다음 데이터를 찾기 어렵지만, 넘파이에선 데이터가 연속적인 공간에 있음
  • 리스트를 넘파이 배열로 변환하려면 넘파이 모듈의 array()함수를 호출한다.

넘파이 실행을 위한 import

 

a = np.array([리스트 데이터]) 

화씨 온도를 섭씨 온도로 바꾸기 위해 넘파이 사용
배열 간 연산, 모든 연산 가능

 

2차원 배열 인덱스

 

넘파이를 이용문제: BMI 계산하기 

 

 

넘파이의 데이터 생성 함수

 

  • np.arange()
    - 연속되는 정수를 가지는 넘파이 배열을 쉽게 만들 수 있다
  • np.linspace()
    - 시작 값부터 종료 값 까지 균일한 간격으로 값들을 생성하여 배열로 반환

 

데이터 생성 함수 사용 예시

 

난수 생성

 

시드가 설정되면 난수는 0.0에서 1.0 사이의 값으로 생성된다
정규 분포 난수를 생성하는 방법

 

잡음이 들어간 직선 그리기

 

1부터 10까지 균일한 간격의 데이터  100개 생성,  평균0 표준편차 1 인 난수 생성 / 두 값 곱하기

 

행이나 열 단위로 계산 가능

 

2차원 배열에서 열 값끼리 계산

 

히스토그램으로 수치데이터의 빈도를 표현

 

히스토그램plt.hist()

MSE 오차 계산하기

 

회귀 문제나 분류 문제에서 실제 출력과 우리가 원하는 출력 간의 오차를 계산하기 위해 MSE를 많이 계산한다.

 

 

인덱싱과 슬라이싱

 

기존 리스트 인덱싱과 비슷하게 생략 가능, 논리적인 인덱싱도 가능
2차원 배열 슬라이싱, 인덱싱

 

간단한 연산 문제

 

좌: 직원들 월급 인상 /  그래프 그리기

전치 행렬 계산하기

 

넘파이의 transpose()를 호출하거나 속성T를 참조하면 된다.

'데이터 청년 캠퍼스(2022) > 배운 내용 정리' 카테고리의 다른 글

7.5(화) Colab / NumPy  (0) 2022.07.05
7.4(월) Pandas  (0) 2022.07.04
6.30(목) CSS 3 (2)  (0) 2022.06.30
6.29(수) CSS 3  (0) 2022.06.29
6.28(화) HTML(2)  (0) 2022.06.29