미오스
미오스의 제로투원 데이터 일지
미오스
전체 방문자
오늘
어제
  • 🗄 전체보기 (61)
    • 📝 개발일지 (0)
    • 💻 파이썬 머신러닝 완벽 가이드 (14)
    • 코딩 (5)
      • 💻 백준 (3)
      • 💻 이것이 코딩테스트다 (0)
      • 💻 Python (2)
    • 📂 데이터 아티클 (41)
    • 🚀 스타트업 (0)
    • 🌱 일상 (0)
    • 📚 독서 (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 자연어처리
  • AI study
  • 데이터
  • 평균 이동
  • 데이터분석
  • Cluster Evaluation
  • ML
  • 인공지능
  • Python
  • 머신러닝
  • mechinelearning
  • mechinelearing
  • mechinelearining
  • CLASSFICATION
  • AI
  • 파머완
  • 분석
  • 데이터사이언스
  • 빅데이터
  • 확률 기반 군집화
  • clustering
  • CounterVectorizer
  • NLP
  • SQL
  • Dimension Reduction
  • study
  • 파이썬
  • 딥러닝
  • 밀도 기반 군집화
  • 분류

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
미오스

미오스의 제로투원 데이터 일지

파이썬 머신러닝 완벽 가이드 - 1. Numpy
💻 파이썬 머신러닝 완벽 가이드

파이썬 머신러닝 완벽 가이드 - 1. Numpy

2022. 9. 26. 11:23

* 티스토리에서 마크다운 적용이 안돼서 깨지는 부분이 많습니다.

* 깨지지 않은 파일로 자세히 보기 원하시는 분들은 아래 링크 참고해주세요!

 

파이썬 머신러닝 완벽 가이드 - 1. Numpy

데이터 타입: ndarrayarray(): 인자를 받아 ndarray로 변환arange(): 연속된 숫자(정수)를 ndarray로 변환 예) np.arange(10): 0~9의 숫자를 ndarray로 만듦 zeros(): shape 값을 입력하면 0으로 채운 뒤 해

velog.io

 

 

 

Numpy 넘파이

1. 데이터 생성 및 수정

  • 데이터 타입: ndarray
  • array(): 인자를 받아 ndarray로 변환
  • arange(): 연속된 숫자(정수)를 ndarray로 변환
  • 예) np.arange(10): 0~9의 숫자를 ndarray로 만듦
  • zeros(): shape 값을 입력하면 0으로 채운 뒤 해당 shape를 가진 ndarray를 반환
    예) np.zeros((3,2))
  • ones(): shape 값을 입력하면 1로 채운 뒤 해당 shape를 가진 ndarray를 반환
  • reshape(): 차원, 크기 변환
    예) array1.reshape(2, 5)

 

2. 인덱싱 indexing

  • 단일값
  • 슬라이싱
    • array2d[ :2, 0 ] : 한 쪽은 슬라이싱, 한쪽은 단일을 적용해도 된다.
  • 팬시 인덱싱 : 리스트나 ndarray로 인덱스 집합을 지정하면, 해당 위치의 인덱스에 해당하는 ndarray를
    • array2d[ [0, 1], 0:2 ] 반환하는 인덱싱 방식
  • 불린 인덱싱: [ ] 안에 array1d > 5 Boolean indexing을 적용
    • array3 = array1d[ array1d > 5 ] : [ ] 안에 조건 넣기
    • boolean_indexes = np.array([False, False, False, False, False, True, True, True, True])
      array3 = array1d[boolean_indexes] : 위의 거랑 같음
    • indexes = np.array([5,6,7,8])
      array4 = array1d[ indexes ] : 위의 거랑 같음

 

3. 데이터 정렬 - sort( )와 argsort( )

    • 행렬 정렬(기본적으로 list와 비슷)
      • np.sort(ndarray) : 원행렬은 유지, 정렬된 행렬 반환 ⇒ 기본 오름차순, [::-1]로 내림차순
        • np.sort( )[::-1] : 내림 차순 정렬시 슬라이싱 사용
      • ndarray.sort( ) : 원행렬을 정렬, None 반환(원행렬을 sort하여 inplace 됨)
        • ndarray[::-1].sort( ) : 사실상 슬라이싱으로 순서를 바꾸는 거
    • 2차원 이상 행렬 정렬 : axis값 이용해서 row 방향, col 방향 정렬
      • sort_array2d_axis0 = np.sort(array2d, axis=0) : row 방향 정렬 (axis=0)
      • sort_array2d_axis1 = np.sort(array2d, axis=1) : col 방향 정렬 (axis=1)
      • np.argsort(ndarray): 원본 행렬 정렬 시, 행렬 인덱스 값 반환
        • org_array = np.array([ 3, 1, 9, 5]) sort_indices = np.argsort(org_array) print(type(sort_indices)) print('행렬 정렬 시 원본 행렬의 인덱스:', sort_indices)
        • <class 'numpy.ndarray'>
        • 행렬 정렬 시 원본 행렬의 인덱스: [1 0 3 2]
      • np.argsort(ndarray)[: : -1] : 원본 행렬 내림차순 정렬시, 행렬 인덱스 값 반환
        • org_array = np.array([ 3, 1, 9, 5]) sort_indices_desc = np.argsort(org_array)[::-1] print('행렬 내림차순 정렬 시 원본 행렬의 인덱스:', sort_indices_desc)
          • 행렬 내림차순 정렬 시 원본 행렬의 인덱스: [2 3 0 1]*정렬 행렬의 인덱스 반환 : 원본 행렬이 정렬 됐을 때, 기존 행렬 원소에 대한 인덱스가 피요할 때
          •  
      • RDBMS의 TABLE 칼럼이나 Pandas의 DataFrame 칼럼과 같은 메타 데이터 갖기 어려우므로,
        [실제 값]과 [그 값이 뜻하는 메타 데이터]를 별도의 ndarray로 각각 가져야 함
        • # [그 값이 뜻하는 메타 데이터] name_array = np.array(['John', 'Mike', 'Sarah', 'Kate', 'Samuel'])
          # [실제 값] score_array= np.array([78, 95, 84, 98, 88])
        • sort_indices_asc = np.argsort(score_array) print('성적 오름차순 정렬 시 score_array의 인덱스:', sort_indices_asc)

          print('성적 오름차순으로 name_array의 이름 출력:', name_array[sort_indices_asc])
          • 성적 오름차순 정렬 시 score_array의 인덱스: [0 2 4 1 3]
             성적 오름차순으로 name_array의 이름 출력: ['John' 'Sarah' 'Samuel' 'Mike' 'Kate']

 

4. 선형대수 연산

  • np.dot( A, B ): 행렬 곱(내적)
  • np.transpose(A): 전치 행렬

'💻 파이썬 머신러닝 완벽 가이드' 카테고리의 다른 글

파이썬 머신러닝 완벽 가이드 - 5. Classification(2) (앙상블)  (0) 2022.09.29
파이썬 머신러닝 완벽 가이드 - 5. Classification(1) (결정트리)  (0) 2022.09.29
파이썬 머신러닝 완벽 가이드 - 4. Evaluation  (0) 2022.09.28
파이썬 머신러닝 완벽 가이드 - 3. Scikit-Learn  (1) 2022.09.28
파이썬 머신러닝 완벽 가이드 - 2. Pandas  (2) 2022.09.26
    '💻 파이썬 머신러닝 완벽 가이드' 카테고리의 다른 글
    • 파이썬 머신러닝 완벽 가이드 - 5. Classification(1) (결정트리)
    • 파이썬 머신러닝 완벽 가이드 - 4. Evaluation
    • 파이썬 머신러닝 완벽 가이드 - 3. Scikit-Learn
    • 파이썬 머신러닝 완벽 가이드 - 2. Pandas
    미오스
    미오스

    티스토리툴바