반응형

Python 411

[Numpy] np.squeeze 함수 사용법과 의미

파이썬 넘파이 np.squeeze() 함수 : 크기가 1인 axis 제거 이번 시간에는 파이썬 넘파이 배열에서 크기가 1인 추가 axis를 제거하는 np.squeeze 함수의 사용법과 의미에 대해서 간단히 살펴보도록 하겠습니다. 먼저, 다음과 같은 2차원 배열처럼 보이는 3차원 배열이 있다고 가정해보겠습니다. import numpy as np a = np.array([[[1, 2, 3], [4, 5, 6], [7, 8, 9]]]) a.shape # (1, 3, 3) 겉으로 보기에는 3 * 3 크기의 2차원 배열처럼 생겼으나, 괄호가 가장 바깥쪽에 1개가 추가로 있어 실제 shape은 (3, 3)이 아닌 (1, 3, 3)입니다. [1, 2, 3, 4]와 [[1, 2, 3, 4]]의 관계로 생각하시면 이해가..

Python/Numpy 2022.01.14

[Tensorflow] 텐서플로우 원핫 인코딩 함수 : tf.one_hot()

텐서플로우 원핫 벡터 생성 함수 tf.one_hot() 사용법 안녕하세요. 이번 글에서는 파이썬 tensorflow에서 원핫 인코딩을 바로 진행할 수 있게 해주는 tf.one_hot 함수의 사용법에 대해서 간단히 다루어보도록 하겠습니다. 이 글은 텐서플로우 공식 문서의 tf.one_hot 함수 설명 글을 바탕으로 작성되었습니다. 원핫 인코딩(One-hot Encoding)이란? 원핫 인코딩은 딥러닝 과정에서 loss 함수 계산을 용이하게 해주어 학습의 효율을 증가시킬 수 있고, 범주형 변수를 머신러닝에 사용가능하게 만들어주는 방법입니다. 10장의 강아지, 고양이, 여우, 호랑이 사진들의 목록이 있다고 할 때, 이를 단일 벡터로 만든 경우와, 원핫 인코딩으로 표현한 결과는 아래 그림처럼 요약이 가능합니다...

Python/Tensorflow 2022.01.14

[Numpy] 배열 shape 변경 : np.reshape 함수 사용법, -1 의미

파이썬 넘파이 배열 차원 변경 함수 : np.reshape reshape 함수를 통하여 넘파이 배열의 차원을 변환하는 방법에 대해서 살펴보고, 함수 내 input으로 -1을 포함한 경우의 의미도 살펴보도록 하겠습니다. np.reshape 함수 기본 사용법 기본적인 사용 방법은 배열 a에 대하여 a.reshape(변환 shape) 혹은 np.reshape(a, 변환 shape) 형태로 사용해주시면 됩니다. axis 순서대로(가로 -> 세로 축 방향) 값들을 변환되는 shape으로 재배정하는 원리이며, 재배정이 불가능한 shape인 경우 ValueError가 발생합니다. 1차원 배열에 대한 실행 예제입니다. import numpy as np a = np.arange(9) # array([0, 1, 2, 3,..

Python/Numpy 2022.01.13

[Numpy] 배열을 반복하여 쌓는 함수 np.tile 사용법(그림으로 정리)

파이썬 넘파이 배열 쌓기 함수 : np.tile 이번 글에서는 넘파이 라이브러리에서 배열을 원하는 모양으로 쌓아 올릴 수 있는 함수인 np.tile 함수의 사용법에 대해서 알아보는 시간을 가져보겠습니다. 이 글은 np.tile 함수의 넘파이 공식 document의 내용을 기반으로 작성되었습니다. np.tile 함수의 사용법은 매우 간단합니다. np.tile(A, repeat_shape) 형태이며, A 배열이 repeat_shape 형태로 반복되어 쌓인 형태가 반환됩니다. 1차원과 2차원 배열을 np.tile 함수를 이용하여 반복 쌓기한 형태를 보며, 함수의 사용법을 이해해보도록 하겠습니다. np.tile 1차원 배열 쌓기 예제 [5, 6] 형태의 2개의 원소를 가진 배열을 선언하고, 가로로만 3차원, 그..

Python/Numpy 2022.01.13

[Sklearn] 파이썬 로지스틱 회귀분석 예제(사이킷런 유방암 데이터셋)

파이썬 사이킷런 로지스틱 회귀분석 이번 글에서는 사이킷런의 유방암 데이터셋을 활용하여, 로지스틱 회귀 모델을 학습시켜보고, 성능 평가까지 진행하는 예제를 간단히 살펴보도록 하겠습니다. 사이킷런 유방암 데이터셋 불러오기 유방암 데이터셋을 불러오고, 데이터프레임으로 만드는 예시 코드입니다. 총 30가지 종류의 feature가 있지만, 여기서는 대표적으로 4가지 feature만 사용하여 로지스틱 모델 학습을 진행해보도록 하겠습니다. import pandas as pd from sklearn import datasets # 유방암 데이터셋 로드 data = datasets.load_breast_cancer() df = pd.DataFrame(data.data, columns = data.feature_names..

Python/Sklearn 2022.01.12

파이썬 초간단 주식 정보 크롤링 예제 : BeautifulSoup(bs4) 이용

파이썬 네이버 주식 정보 크롤링 예시 이번 포스팅에서는 BeautifulSoup 모듈을 활용하여 매우 간단하게 네이버 주식 사이트의 정보를 크롤링해보는 예제를 다루어보도록 하겠습니다. 먼저 네이버 금융의 국내증시 사이트에 접속을 해보도록 하겠습니다. 금융 정보에 대한 굉장히 많은 정보가 있는데요. 여기서는 이 중 현재 코스피의 수치와 등락률을 대상으로 크롤링을 진행해보는 예제를 다루어보도록 하겠습니다. 참고로, 여기서는 크롬 브라우저를 기준으로 설명을 진행해보도록 하겠습니다. (다른 브라우저들도 방법은 대체로 비슷합니다.) 개발자 도구를 열어 크롤링 준비 크롤링을 위하여 F12를 눌러 개발자 도구를 켠 뒤, 아래 그림의 파란색으로 표시한 부분의 화살표 모양 버튼을 클릭하여 크롤링 준비를 마치겠습니다. B..

Python/Crawling 2022.01.12

[Pandas] 데이터프레임 열 타입 확인 : df.info(), df.dtypes

파이썬 데이터프레임 컬럼 자료형 확인 : df.info(), df.dtypes 데이터프레임의 각 열에 대해서 타입 및 결측값 개수를 한눈에 확인해볼 수 있는 df.info() 함수에 대해서 소개해드리겠습니다. 또한, 타입만 확인하는 경우의 df.dtypes 속성도 같이 다루어보겠습니다. 데이터프레임 열 타입, 결측값 개수 확인 : df.info() 메소드 예시 데이터프레임으로 캐글의 타이타닉 데이터셋을 아래와 같이 불러오도록 하겠습니다. import pandas as pd df = pd.read_csv('train.csv') df 총 12개의 열로 구성된 데이터프레임이며, 행의 개수는 891개였습니다. df.info() 함수를 통하여 각 컬럼의 정보를 확인해보겠습니다. 인덱스 정보, 메모리 사용량 등 세..

Python/Pandas 2022.01.11

[Pandas] 파이썬 csv, tsv 파일 읽기, 내보내기 : read_csv, to_csv

파이썬 판다스에서 csv파일로 데이터프레임 만들기 용량에 대한 효율이 좋아 데이터프레임을 저장하고 불러올 때 많이 사용하는 csv파일을 읽어오고 저장할 수 있는 판다스의 read_csv, to_csv 함수의 사용법에 대하여 많이 사용되는 기능 위주로 살펴보도록 하겠습니다. 먼저, 다음과 같은 간단한 내용이 student.csv 파일로 저장되어있다고 가정해보겠습니다. 이 파일을 메모장으로 열게되면 다음과 같이 콤마(,)로 각 내용이 구분되어 있습니다. csv 파일 읽어오기 함수 : pd.read_csv pd.read_csv 함수의 가장 기본적인 사용법은 csv 파일의 디렉토리를 input으로 지정해주시면 기본 옵션으로 파일을 읽어와 데이터프레임을 만들어 줍니다. 디렉토리는 작업중인 파이썬 파일을 기준으로 ..

Python/Pandas 2022.01.11

[Numpy] 넘파이 어레이(배열) 인덱싱, 슬라이싱 총정리

파이썬 numpy array 인덱싱과 슬라이싱 파이썬 넘파이 어레이(배열)의 인덱싱, 슬라이싱 과정에 대해서 살펴보고, 몇 가지 중요한 특징과 예제를 정리해보는 시간을 가져보겠습니다. 아래의 간단한 2차원 array를 대상으로 예제를 설명하겠습니다. import numpy as np a = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], [13, 14, 15, 16]]) 넘파이 어레이 인덱싱 인덱싱은 원소 1개만을 골라 추출하는 과정을 일컫습니다. 0번부터 인덱스가 시작함에 주의하며, axis마다 원하는 원소의 좌표를 순서대로 지정해주시면 됩니다. 뒤 쪽부터 인덱스를 가져오는 -1, -2, ...의 인덱싱도 리스트처럼 지원합니다. 예를 들어, 두 번째 행..

Python/Numpy 2022.01.10

[Pandas] 파이썬 데이터프레임 행 삭제, 열 삭제(drop 함수)

파이썬 판다스 행, 열 삭제 함수 : drop 파이썬에서 데이터프레임을 다룰 때, 원하는 행이나 열을 쉽게 삭제할 수 있는 drop 함수의 사용법을 살펴보겠습니다. 이 글은 판다스의 drop 메소드 공식 document의 내용을 바탕으로 작성되었습니다. 데이터프레임 행 삭제 방법 먼저, 아래와 같은 간단한 예시 데이터프레임이 있다고 가정해보겠습니다. import pandas as pd a = {'col1' : [1, 3, 5, 7, 9], 'col2' : ['a', 'b', 'c', 'd', 'e'], 'col3' : [10, 9, 8, 7, 6]} df = pd.DataFrame(a) print(df) col1 col2 col3 0 1 a 10 1 3 b 9 2 5 c 8 3 7 d 7 4 9 e 6 ..

Python/Pandas 2022.01.10
반응형