numpy는 파이썬으로 진행되는 모든 데이터분석과 인공지능 학습에 있어서 가장 필수적으로이해해야 되는 도구입니다.
numpy는 Numerical Python 의 약자로 선형대수의 계산식을 파이썬으로 구현할 수 있도록 도와주는 라이브러리입니다.
행렬이해하기 |
행렬은 연립 일차방정식의 해를 구하기 위해서 연구되었습니다.
예를 들면 다음과 같은 연립 일차방정식을 행렬로 표현해 보면 다음과 같습니다.
이러한 행렬은 파이썬의 코드로 표현해 보면 다음과 같이 표현할 수 있습니다.
matrix = [[2,1,-3],[1,-2,1],[3,-4,5]]
target = [0,-5,1]
이렇게 리스트 형태로 표현을 할 수가 있습니다.
리스트가 아닌 numpy를 사용해야 되는 이유 |
matrix = [[2,1,-3],[1,-2,1],[3,-4,5]]
target = [0,-5,1]
위와 같이 리스트를 사용했을때 다음과 같은 문제에 봉착합니다.
1) 다양한 Matrix 계산을 어떻게 만들것인가?
2) 굉장히 큰 Matrix에 대한 표현
3) 처리속도 문제
Numpy 패키지는 다음과 같은 장점이 있습니다.
- 파이썬의 고성능 과학 계산용 패키지
- Matrix와 Vector 와 같은 Array 연산을 지원
- 일반 List에 비해 빠르고 메모리 효율적
- 반복문 없이 데이터 배열에 대한 처리
- 선형대수와 관련된 다양한 기능 제공
- C,C++ 과 같은 언어와 통합
Numpy 실습하기 |
Numpy 모듈 import
Numpy를 사용하기 위해서는 모듈을 import 해야 됩니다.
import numpy as np
여기서 numpy는 np라는 alias(별칭)을 이용해서 호출하는데 특별한 이유는 없고 약속같은 것으로 생각하시면 됩니다.
Numpy 배열 생성하기
arr = np.array([1,2,3,4],float)
- numpy는 np.array 함수를 활용하여 배열을 생성합니다.
- 리스트는 객체 형태의 데이터를 담는 자료형으로 여러가지 타입을 담을 수 있지만 numpy는 하나의 데이터 타입만 배열에 넣을 수 있기 때문에 객체를 생성하면서 자료형의 타입을 선언해 주어야 합니다.
- numpy는 c의 배열을 이용해서 생성합니다.
arr = np.array([1,2,3,4,'5'],float)
위와 같이 문자열 5를 넣은 후 출력 해 보면 다음과 같이 출력 되는 것을 확인 할 수가 있습니다.
print(arr)
- 타입을 출력해 보면 다음과 같이 float64 로 생성이 되어 있는 것을 확인 할 수 있습니다.
print(arr.dtype)
- numpy의 모양을 살펴 보면 1차원배열 5개짜리로 구성 되어 있는 것을 확인 할 수 있습니다.
print(arr.shape)
- 이때 array 의 차원에 따라 불리는 이름이 있습니다.
1) 0 차원 : scalar(예: 숫자 1)
2) 1 차원 : vector(예: [1,2])
3) 2차원 : matrix(예:[[1,2],[3,4]])
4) 3차원 : 3-tensor(예:[[[1,2],[3,4]],[[5,6],[7,8]]])
: 3차원의 예제 arr.shape 를 출력 해 보면 (2,2,2) 형태로 (z,y,x) 축의 크기의 갯수가 나타남
5) n차원 : n-tensor
Numpy의 차원수를 확인 하기 위한 ndim
ndim 은 현재 numpy의 차원수를 확인하는 함수입니다.
예) [[1,2],[3,4]] => 2차원
import numpy as np
arr = np.array([[1,2],[3,4]],float)
print(arr.ndim)
이 문서는 학생들과 함께 딥러닝 공부를 하기 위해 만든 문서이며~
딥러닝 공부 전에 Numpy와 Pandas 의 기본을 알고 머신러닝을 공부하면 대부분의 머신러닝 소스코드들을 바라보는데 이해의 폭이 넓어질 것 같아서 이론 후 실습 전에 Numpy와 Pandas 의 기본 문법들을 정리해 보았습니다.
더욱 자세한 내용은 데이터 사이언스 스쿨을 참고하시면 많은 정보를 얻으 실 수 있을것 같습니다.
[인천 서구 원당컴퓨터학원]
[참고]
https://datascienceschool.net/intro.html
데이터 사이언스 스쿨 — 데이터 사이언스 스쿨
데이터 사이언스 스쿨은 데이터 사이언스에 대한 모든 지식을 공유하는 장입니다. 알림 데이터 사이언스 스쿨 홈페이지를 깃헙 페이지와 주피터 북 기반으로 리모델링하였습니다.
datascienceschool.net
다 함께 배우고 성장하는 부스트코스
부스트코스(boostcourse)는 모두 함께 배우고 성장하는 비영리 SW 온라인 플랫폼입니다.
www.boostcourse.org
[IT 관련 뉴스]
코딩 대학 필수과목으로~ - https://news.sbs.co.kr/news/endPage.do?news_id=N1006637411
코딩, 대학 필수 과목으로…'네카라쿠배' 취업 위한 건가요?
"아아아아아아악......" 작년 봄, 대학 1학년인 딸아이는 코딩 숙제 마감을 앞두고 고라니 소리를 질러 댔습니다. '뼛속까지 문과'인 제가 전혀 도움이 되지 못해 안타까운 눈빛만 보내다가 "이공
news.sbs.co.kr
서울대.카이스트 총장 AI교육 강화 안하면 낙오 - https://www.chosun.com/national/education/2021/07/19/E43VMVUEORH6XETKY6GJX7FVKA/
서울대·카이스트 총장 “한국, AI교육 강화 안하면 낙오”
서울대·카이스트 총장 한국, AI교육 강화 안하면 낙오 오세정 총장·이광형 총장 대담
www.chosun.com
삼성전자 모든직군 신입사원에 코딩교육-융복함 인재 육성나서 - https://bizn.donga.com/home/3/all/20220128/111500801/2?ref=main&fbclid=IwAR1AceBzKQEuvPR7gS9ko8T6msvKLv_QlufWLMZvoDjSKFVN4uVAapO_ywI
삼성전자, 모든 직군 신입사원에 코딩 교육… 융·복합 인재 육성 나서
삼성전자가 공채 신입직원들에게 직군 관계 없이 코딩을 포함한 소프트웨어 교육을 진행한다. 직원들의 창의성을 높이고 융·복합형 인재를 육성하자는 취지다. 28일 삼성전자에 …
bizn.donga.com
AI시대 이끌 미래교육 대전환 필요하다. - https://www.sciencetimes.co.kr/news/ai-%EC%8B%9C%EB%8C%80-%EC%9D%B4%EB%81%8C-%EB%AF%B8%EB%9E%98%EA%B5%90%EC%9C%A1-%EB%8C%80%EC%A0%84%ED%99%98-%ED%95%84%EC%9A%94%ED%95%98%EB%8B%A4/
“AI 시대 이끌 미래교육, 대전환 필요하다” – Sciencetimes
www.sciencetimes.co.kr
'강의자료 > 머신러닝' 카테고리의 다른 글
[딥러닝파이썬] 01-3.파이썬의 numpy를 다뤄 보자. (11) | 2022.04.18 |
---|---|
[딥러닝파이썬] 01-2.파이썬의 numpy를 다뤄 보자. (8) | 2022.04.08 |
[딥러닝파이썬]문자열의 유사성 판단하기 (6) | 2022.03.28 |
[딥러닝파이썬]선형대수의 벡터와 행렬을 파이썬으로 표현 (13) | 2022.03.22 |
[파이썬기초] 파이썬 스타일 코드II (12) | 2022.03.16 |