[TIL] 200326 thur - 의미있는 아침

sunkim01·2020년 3월 26일
0

TIL

목록 보기
4/5
post-thumbnail

오늘은 처음으로 미라클 모닝을 하였다. 아침에 조금이라도 일찍 일어나기 힘든 사람이지만 최근에 읽은 책을 읽고 아침의 시간을 소중히 보내기로 했다. 시작에는 효과가 미약하지만 더나은 내가 될 수 있을 거라고 믿는다.

오늘의 계획

  • 부스트코스 - 머신러닝을 위한 Python
    1) Data Handling - Numpy
  • Django - 장고걸스 튜토리얼 따라 하기
  • 영어 - friends ep.3 쉐도윙
  • 헬스장 운동 1시간
  • 독서 - 여행의 이유 (~70%)

학습 내용

Numpy

고성능 과학 계산용 패키지
메모리 효율적
for문을 쓰지 않고 배열 처리 가능

  • ndarray
    numpy 배열 형식
    한 배열에 하나의 type만 들어갈 수 있다. (Dynamic typing X )

shape : numpy array 의 object의 dimension 구성 (matrix 형태)
dtype : numpy array의 데이처 type 을 반환함
ndim : numder of dimension
size : data의 갯수

Handling Shape

  • reshape ★
    data 갯수만 맞추면 됨

  • flatten
    다차원 array를 1차원 array로 변환

Indexing_Slicing

  • Indexing
test_exmaple = np.array([[1, 2, 3], [4.5, 5, 6]], int)
test_exmaple[0][0] # 1
test_exmaple[0,0]  # 1
test_exmaple[0,0] = 10 # Matrix 0,0 에 12 할당
test_exmaple[0][0] = 5 # Matrix 0,0 에 12 할당
  • Slicing ★
test_exmaple  =  np.array([[1,2,5,8],[1,2,5,8],[1,2,5,8], [1,2,5,8]], int)  
test_exmaple[:2,:]  # 전체 Row의 2열
test_exmaple[:,1:3]  # 1 Row의 1~2열
test_exmaple[1,:2]  # 1 Row ~ 2 Row의 전체
test_exmaple[1,1:3] # 1 Row의 1열 ~ 2열

Creation_Functions

  • Arange
  • ones, zeros ★
    • ones : 모든 값을 1으로 초기화 시킨다
    • zeros : 모든 값을 0으로 초기화 시킨다
  • identity
    단위 행렬 생성
  • eye ★
    대각선이 1인 행렬, k값의 시작 index의 변경 가능
  • diag
    대각 행렬의 값을 추출함
  • random sampling
    분포에 따른 ramdom 수를 만든다.

Operation Function

  • axis ★
    새로 생기는 축이 0가 되고 기존에 있는 축들은 1씩 밀리게 된다.
    operation function을 실행할 때, 기준이 되는 dimension 축

concatenate

축을 기준으로 붙인다.

  • vstack
  • hstack
  • concatenate
    설정한 축을 기준으로 붙인다.

Operations b/t arrays

array 간의 기본적인 사칙 연산을 지원함
matrix 구조가 같은지 확인하고 기본 연산을 함

  • Dot Product ★
    Matrix 의 기본 연산 (곱하기)
  • broadcastiong ★
    matrix + scalar
    shape 이 다른 배열간의 연산을 지원 (matrix 간의 연산도 지원)
    concat은 numpy보다 list로 처리 해주는게 빠름

Comparison

  • All, Any
    데이터의 전부(and) 또는 일부(or)가 조건에 만족하는 여부 반환
    a>5 ★
  • np.where ★
    인덱스 값을 반환할 때 많이 쓰인다.
    np,where(조건문 , true일 때 값, false일 때 값)
  • argmax & argmin ★
    최대값, 최소값 의 index 번호를 반환

boolean index ★

특정 조건에 따른 값을 배열 형태로 추출함

fancy index

a = np.array([[1, 4]], float)
b = np.array([0, 0, 1, 1, 0], int)
a[b] # array([ 1.,  1., 4., 4.,  1.])
 # b를 row index, c를 column index로 변환하여 표시함

a.take(b) -> take 함수 : bracket index와 값은 효과 ★

멋진 하루를 보낸 소감문

Numpy의 기능들은 신기했다. c언어로 했으면 복잡하게 구현할 수 있는데 연산들은 쉽게 한줄로 끝낼 수 있다는 게 재미있었다. matrix 구조를 이해하는 것이 어려움이 있었지만 예제를 통해서 극복할 수 있다고 생각한다.

내일 할 일

  • 부스트코스 - 머신러닝을 위한 Python
    1) Data Handling - Pandas
  • Django - 장고걸스 튜토리얼 따라 하기 (python 강의 길어서 ㅠㅠ 미뤘음)

0개의 댓글