OneBook(Python & Deep Learning)
  • 한곳에서 끝내는 파이썬 & 머신러닝 & 딥러닝
  • 문서 작업을 시작하며
  • 1. 인공지능(Artificial Intelligence) 시대
    • 1.1. 인공지능이란 도대체 무엇인가?
    • 1.2. 4차 산업혁명
    • 1.3. 인공지능의 역사
    • 1.4. 인공지능 > 머신러닝 > 딥러닝
    • 1.5. 머신러닝
    • 1.6. 머신러닝 알고리즘
      • 1.6.1. 지도 학습 (Supervised Learning)
      • 1.6.2. 비지도 학습 (Unsupervised learning)
      • 1.6.3. 강화 학습(Reinforcement Learning)
    • 1.7. 인공신경망(ANN)
    • 1.8. 딥러닝
  • 2. 기본 상식
    • 2.1. 기본 용어의 이해
      • 2.1.1. CPU와 GPU의 차이
      • 2.1.2. 오픈소스(Open Source)
      • 2.1.3. 깃허브(GitHub)
      • 2.1.4. 위키 Wiki
      • 2.1.5. 아나콘다(Anaconda)
      • 2.1.6. 활성화 함수
      • 2.1.5. 딥러닝 프레임워크 소개
    • 2.2. 텐서플로(Tensorflow)
    • 2.3. 케라스(Keras)
    • 2.4. 파이토치(PyTorch)
    • 2.5. 학습에 필요한 중요한 도구와 라이브러리들
      • 2.5.1. 주피터 노트북(Jupyter Notebook)
      • 2.5.2. 파이참(PyCharm)
      • 2.5.3. 스파이더(Spyder)
      • 2.5.4. 넘파이(NumPy)
      • 2.5.5. 싸이파이(SciPy)
      • 2.5.6. Matplotlib
      • 2.5.7. 판다스(Pandas)
      • 2.5.8. 장고(Django)
      • 2.5.9. 파이큐티(pyQT)
      • 2.5.10. 싸이킷런(Scikit-learn)(Sklearn)
      • 2.5.11. CUDA & cuDNN
      • 2.5.12. 파이썬 표준 내장 라이브러리
    • 2.6. AI공부에 필요한 기본지식 3가지
      • 2.6.1. 수학
      • 2.6.2. 프로그래밍 기술
      • 2.6.3. AI의 적용 대상 산업에 대한 지식
  • 3. 개발 환경설정
    • 3.1. 윈도우 환경에서 설치하기
      • 3.1.1. 아나콘다 설치 (파이썬 설치)
        • 1) 아나콘다 패키지 업데이트
        • 2) conda에서 파이썬 가상 환경 (virtual environments) 생성하기
        • 3) NVIDIA GPU 환경 설정하기
      • 3.1.2. 텐서플로 설치
      • 3.1.3. 케라스 설치
      • 3.1.4. Jupyter Notebook 설치
      • 3.1.5. Visual Studio Code 설치
      • 3.1.6. 파이참 설치
        • 1) 파이참 가상환경 설정
        • 2) 파이참 환경 설정
        • 3) 설치된 라이브러리들의 버전 확인 하기
    • 3.2. 리눅스 환경에서 설치하기
      • 3.2.1. 아나콘다 설치(파이썬 설치)
      • 3.2.2. 텐서플로 설치
      • 3.2.3. 케라스 설치
      • 3.2.4. 장고 설치
      • 3.2.5. 파이참(PyCharm) 설치
        • 1) 파이참 가상환경 설정
  • 4. 파이썬 기초 학습
    • 4.1. 파이썬(Python)
    • 4.2. 파이썬의 특징
    • 4.3. 파이썬 기본 문법
      • 4.3.1. 대화형과 스크립트 모드 프로그래밍
      • 4.3.2. 모듈의 사용(import)
      • 4.3.3. 파이썬 식별자(Identifiers)
      • 4.3.4. 예약어(Reserved Words)
      • 4.3.5. 행(Lines)과 들여쓰기(Indentation)
      • 4.3.6. 문자열 표시
      • 4.3.7. 주석
      • 4.3.8. 파이썬 변수(Variables)
    • 4.4. 자료형과 연산자
      • 4.4.1. 자료형
      • 4.4.2. 파이썬 연산자
    • 4.5. 조건문과 반복문
      • 4.5.1. 조건문
      • 4.5.2. 반복문
    • 4.6. 함수
      • 4.6.1. 함수의 종류
    • 4.7. 모듈(Modules)
      • 4.7.1. 모듈의 참조 위치
      • 4.7.2. 네임스페이스(Namespace)와 범위(Scoping)
      • 4.7.3. dir( ) 함수
      • 4.7.4. 패키지(Packages)
      • 4.7.5. 기본 내장 모듈
    • 4.8. 숫자형 활용
      • 4.8.1. 실습: 계산기 만들기
    • 4.9. 문자열(Strings) 활용
      • 4.9.1. Unicode 한글의 사용
      • 4.9.2. 이스케이프 문자
      • 4.9.3. 문자열 연산자
      • 4.9.4. 문자열 포맷 연산자
      • 4.9.5. 내장 문자열 함수
    • 4.10. 시퀀스(Sequence) 자료형 활용
      • 4.10.1. 리스트(Lists)
      • 4.10.2. 튜플(Tuple)
      • 4.10.3. 딕셔너리(Dictionary)
    • 4.11 Class
    • 4.12. Date & Time
    • 4.13. 파이썬 에러처리
  • 5. 기초수학
  • 6. 머신러닝을 위한 파이썬
  • 7. 텐서플로 2.x
  • 8. 딥러닝을 이용한 자연어 처리 입문
  • 9. 파이토치로 시작하는 딥 러닝 입문
  • 9.6 6. Pytorch lightning
  • A1. 필수 학습 라이브러리들
    • 4.1 NumPy
      • 4.1.1. Basic Operations
      • 4.1.2. Indexing, Slicing 그리고 Iterating
      • 3.13.3. Shape Manipulation
    • 4.2 Matplotlib
    • 4.3 SciPy
      • 4.3.1. Interpolation
      • 4.3.2. Optimization
      • 4.3.3. Fast Fourier transforms: scipy.fftpack
    • 4.4 Pandas
      • 4.4.1 Pandas 자료구조
      • 4.4.2 Pandas 활용하기
  • A2. 머신러닝 & 딥러닝
    • 5.1. 머신러닝 개념 소개
      • 5.1.1. 경사하강법(Gradient Descent )
      • 5.1.2. 분류 (Classification)
      • 5.1.3. MNIST Dataset 소개
    • 5.2. 딥러닝 개념 소개
      • 5.2.1. 퍼셉트론
      • 5.2.2. 인공 신경망
      • 5.2.3. 대표적인 딥러닝 모델
    • 5.3. Tensorflow를 사용한 학습
      • 5.3.1. TensorFlow 기본 메커니즘
      • 5.3.2. Tensorflow Types
      • 5.3.3. 기본 동작 실습
      • 5.3.4. 선형 회귀
      • 5.3.5 로지스틱 회귀
    • 5.4. Keras를 사용한 학습
      • 5.4.1. Keras로 분석한 선형 회귀
      • 5.4.2. CNN(Convolutional Neural Network)
      • 5.4.3. Fashion MNIST with Keras
    • 5.5. 웹 크롤링
      • 5.5.1. requests와 BeautifulSoup으로 웹 크롤러 만들기
Powered by GitBook
On this page

Was this helpful?

  1. A1. 필수 학습 라이브러리들
  2. 4.1 NumPy

4.1.1. Basic Operations

NumPy 배열을 생성하는 가장 기본적인 함수는 array() 입니다. 첫 번째 인자로 리스트를 받는데 이것으로 array객체를 생성합니다.

>>> np.array( [1, 2, 3] ) #1차 배열 (벡터) 생성
>>> np.array( [ [1, 2, 3], [4, 5, 6] ) # 2x3 크기의 2차원 배열 (행렬) 생성

파이썬의 내장 함수인 range()와 유사하게 배열 객체를 반환해주는 arange() 함수가 있습니다.

np.arange(10) 라고 한다면 1차원 배얼 [0,1,2, ... ,9]를 생성하는 것입니다.

그리고 시작점과 끝점을 균일 간격으로 나눈 점들을 생성해주는 linspace()함수도 있습니다.

c = np.linspace(0, 1, 6)   # start, end, num-points 
d = np.linspace(0, 1, 5, endpoint=False)
c= [0.  0.2 0.4 0.6 0.8 1. ]
d= [0.  0.2 0.4 0.6 0.8]

위의 코드에서 c는 시작점이 0 이고 끝점이 1이므로 이를 6 점으로 표시하려면 0.2 간격씩 띄우면 됩니다. d는 시작점이 0 이고 끝점이 1인데 5등분으로 나누는데 끝점을 포함하지 않으니 0.2 간격으로 나뉘어 집니다.

배열의 산술 연산자는 새 배열이 만들어지고 그 결과로 채워집니다. 다음의 코드로 NumPy 연산을 설명해 보겠습니다

import numpy as np

a = np.array( [20,30,40,50] )
b = np.arange( 4 )
print("배열 a", a)
print("arrange로 생성한 b",b)
c = a-b
print("c=a-b 의 결과값",c)
print("b**2 의 결과값",b**2)
print("a의 sine값 * 10 의 결과값",10*np.sin(a))
print("a가 35보다 작은지에 대한 비교 결과",a<35)

AA = np.array( [[1,1],
                [0,1]] )
BB = np.array( [[2,0],
                 [3,4]] )
print("AA * BB 의 결과값\n",AA * BB)
print("AA @ BB 의 결과값\n",AA @ BB)
print("AA.dot(BB) 의 결과값\n",AA.dot(BB))

위 코드의 실행 결과는 다음과 같습니다.

배열 a [20 30 40 50]
arrange로 생성한 b [0 1 2 3]
c=a-b 의 결과값 [20 29 38 47]
b**2 의 결과값 [0 1 4 9]
a의 sine값 * 10 의 결과값 [ 9.12945251 -9.88031624  7.4511316  -2.62374854]
a가 35보다 작은지에 대한 비교 결과 [ True  True False False]
AA * BB 의 결과값
 [[2 0]
 [0 4]]
AA @ BB 의 결과값
 [[5 4]
 [3 4]]
AA.dot(BB) 의 결과값
 [[5 4]
 [3 4]]

a = np.array( [20,30,40,50] ) 1차원 배열로 NumPy 배열을 생성하여 그 이름을 a로 칭합니다.

numpy.arange([start,] stop[, step,], dtype=None) 함수는 start부터 stop 미만까지 step 간격으로 데이터 생성한 후 배열을 만드는 함수입니다. 따라서 b=np.arrange(4) 는 자동으로 [0 1 2 3] 라는 1차원 배열로 데이터가 존재하는 NumPy 배열을 생성합니다.

c=a-b , b**2 등 연산의 결과는 각각의 배열 값에 해당 연산을 한 것으로 계산하여 출력됩니다. *는 행렬곱이 아니라 요소별 곱셈입니다.

벡터의 내적이나 매트릭스의 벡터 곱이나, 메트릭스 곱을 계산하기 위해 @ 혹은 dot 함수를 사용합니다. matrix multiplication에 대해서는 별도로 학습하기 바랍니다.

AA.dot(BB) 메트릭스 곱은 AA[0,0]*BB[0,0]+AA[0,1]*BB[1,0]=5, AA[0,0]*BB[0,1]+AA[0,1]*BB[1,1]=4, AA[1,0]*BB[0,1]+AA[1,1]*BB[1,1]=3, AA[1,0]*BB[0,1]+AA[1,1]*BB[1,1]=4 가 나옵니다.

Previous4.1 NumPyNext4.1.2. Indexing, Slicing 그리고 Iterating

Last updated 6 years ago

Was this helpful?