728x90
반응형

전체 글 103

[python] dataframe replace / rename / value_counts / unique / nunique

머신러닝 전처리 하면서 매번 사용하는 함수들을 정리해 보았다. 할 때마다 기억 안 나서 검색 검색 또 검색 맨날 검색 검색 해서^^ 일주일에 한 번은 꼭 사용하는 것 같은데 왜 기억을 못 하니...... 휴 절레절레 1. replace : 문자열을 변경해 주는 함수 1.1 특정 피처에서 전체 값을 변경할 경우 1.2 특정 피처에서 일부 값만 변경할 경우 1.3 특정 피처가 아닌 전체 데이터셋에서 전체 값을 변경할 경우 2. rename : 피처명(칼럼명)을 변경해 주는 함수 3. value_counts : 고윳값과 고윳값의 개수를 출력해 주는 함수 4. unique : 고윳값의 종류를 출력해 주는 함수 5. nunique : 고윳값 종류의 수를 출력해 주는 함수 1. replace : 문자열을 변경해 주..

python 2023.03.25

[python] matplotlib - plt.bar (xlabel / ylabel / xticks / yticks / legend)

bar(막대) 그래프는 범주가 있는 데이터 값을 직사각형의 막대로 표현하는 그래프입니다. Matplotlib 에서는 matplotlib.pyplot 모듈의 bar() 함수를 이용해서 막대그래프를 간단하게 표현할 수 있습니다. train 데이터셋은 Transported 가 True인지 False인지를 예측하는 문제입니다. Transported 피처에서 True, False 가 각각 몇 개씩 분포하고 있는지를 bar 그래프로 표현해 보려합니다. train.head() value_counts 함수를 사용하면 Transported의 고유값이 몇 개씩 존재하는지 수치로 확인할 수 있습니다. True는 4378개, False는 4315개씩 존재하네요. train['Transported'].value_counts()..

python 2023.03.24

[pytorch] 1. 모델 정의 (nn.Module / nn.Sequential)

파이토치에서 모델을 정의하기 위해서는 모듈을 상속한 클래스를 사용합니다. 계층(Layer) : 모듈 또는 모듈을 구성하는 한 개의 계층 (합성곱층 convolutional layer, 선형계층 Linear layer) 모듈(module) : 한 개 이상의 계층이 모여서 구성된 것. 모듈이 모여 새로운 모듈을 만들 수도 있습니다. 모델(model) : 최종적으로 원하는 네트워크로, 한 개의 모듈이 모델이 될 수도 있습니다. 1. nn.Module을 상속받지 않고 정의하는 방법 매우 단순한 모델을 만들 때 사용합니다. 구현이 쉽고 단순하다는 장점이 있습니다. model = nn.Linear(in_features = 1, out_features = 1, bias = True) 2. nn.Module을 상속하여..

pytorch 2023.03.22

[pytorch] tensor(텐서) 생성/이해/조작

텐서는 파이토치에서 가장 기본이 되는 데이터 구조이다. 넘파이의 ndarray와 비슷하며 GPU에서의 연산도 가능하다. 1. 텐서(tensor) 생성 import torch print(torch.tensor([[1,2],[3,4]])) # 2차원 형태의 텐서 생성 print(torch.tensor([[1,2],[3,4]], device = "cuda:0")) # GPU에 텐서 생성 print(torch.tensor([[1,2],[3,4]], dtype = torch.float64))# dtype을 이용하여 텐서 생성 2. 텐서를 ndarray로 변환 temp = torch.tensor([[1,2],[3,4]]) temp.numpy() # 텐서를 ndarray로 변환 temp.to("cpu").numpy(..

pytorch 2023.03.19

[python] 결측값(null/nan) 개수/ 존재 구하는 방법

df_last = pd.read_csv("data/분양가격13_15.csv", encoding="cp949") df_last 데이터는 13년도부터 15년도까지의 지역/규모/연도/월/분양가격 정보가 포함된 데이터이다. .isnull() 함수를 이용하면 결측값의 유/무를 True/False로 출력이 된다. 해당 값이 결측값이라면 True가 결측값이 아니라면 False로 출력이 된다. df_last.isnull() .isnull().sum() 함수를 이용하면 True/False가 아닌 각 열의 결측치의 개수가 출력된다. 직관적으로 결측치가 칼럼마다 몇 개씩 존재하는지를 출력해 주기 때문에 자주 사용한다. df_last.isnull().sum() 특정 칼럼 null값의 개수 구하기 df_last 데이터셋에서 분..

python 2023.03.18

[pytorch] pytorch 특징 / pytorch 아키텍처 / pytorch 장점 / pytorch API 종류

1. 파이토치 개요 파이토치(pytorch)는 딥러닝 프레임워크로 토치를 페이스북에서 파이썬 버전으로 내놓은 것이다. 토치는 파이썬의 넘파이 라이브러리처럼 과학 연산을 위한 라이브러리로 공개되었지만 이후 발전을 거듭하면서 딥러닝 프레임워크로 발전했다. 파이토치를 사용하는 대상 1. 넘파이를 대체하면서 CPU를 이용한 연산이 필요한 경우 2. 최대한의 유연성과 속도를 제공하는 딥러닝 연구 플랫폼이 필요한 경우 2. 파이토치의 특징 파이토치란? "GPU에서 텐서 조작 및 동적 신경망 구축이 가능한 프레임워크" GPU : 연산 속도를 빠르게 하는 역할을 한다. 딥러닝에서는 기울기를 계산할 때 미분을 사용하는데, GPU를 사용하면 빠른 계산이 가능하다. 내부적으로 CUDA, cuDNN이라는 API를 통해 GPU..

pytorch 2023.03.14

[pytorch] 딥러닝 학습 순서 / 딥러닝의 종류

1. 딥러닝이란? 딥러닝은 인간의 신경망 원리를 모방한 심층 신경망 이론을 기반으로 고안된 머신러닝의 일종이다. 즉, 딥러닝이 머신러닝과 다른 큰 차이점은 인간의 뇌를 기초로 하여 설계했다는 것이다. 인간의 뇌가 엄청난 수의 뉴런과 시냅스로 구성되어 있는 것에 착안하여 컴퓨터에 뉴런과 시냅스 개념을 적용했다. 각각의 뉴런은 복잡하게 연결된 수많은 뉴런을 병렬 연산하여 기존에 컴퓨터가 수행하지 못했던 음성, 영상인식 등 처리를 가능하게 한다. 2. 딥러닝 학습 순서 모델 정의 : 신경망을 생성한다. 일반적으로 은닉층 개수가 많을수록 성능이 좋아지지만 과적합이 발생할 확률이 높다. 즉, 은닉층 개수에 따른 성능과 과적합은 서로 상충 관계에 있다. 신경망을 제대로 생성하는 것이 중요하다. 모델 컴파일 : 활성..

pytorch 2023.03.12

[pytorch] 머신러닝 딥러닝의 차이 / 머신러닝 학습 순서

1. 인공지능, 머신러닝과 딥러닝의 차이 인공지능(Artificial Intelligence)은 인간의 지능적 행동을 모방하거나 재현하는 컴퓨터 시스템을 말합니다. 머신러닝은 인공지능의 한 분야로, 데이터를 통해 스스로 학습하고, 예측하거나 결정을 내릴 수 있는 알고리즘과 기술의 개발을 목표로 합니다. 이는 데이터로부터 패턴을 발견하고, 이를 바탕으로 예측 또는 결정을 내리는 모델을 만드는 과정을 포함합니다. 딥러닝은 머신러닝의 하위 분야로, 주로 인공신경망(특히 깊은 신경망)을 사용하여 복잡한 문제를 해결합니다. 딥러닝은 대규모 데이터에서 고수준의 추상화와 패턴 인식을 수행하는 능력을 가지고 있습니다. 머신러닝과 딥러닝 모두 학습 모델을 제공하여 데이터를 분류할 수 있는 기술이다. 하지만 접근 방식에 ..

pytorch 2023.03.12

[Deep learning] 정제와 정규화 (cleaning and normalization)

코퍼스에서 용도에 맞게 토큰을 분류하는 작업을 토큰화라고 하며, 토큰화 작업 하기 전 후에 용도에 맞게 데이터를 정제 및 정규화해야 한다. 정제(cleaning) : 노이즈 데이터 제거 정규화(normalization) : 표현 방법이 다른 단어들을 통합시켜서 같은 단어로 만듦 정제(cleaning) 작업은 토큰화 작업에 방해가 되는 부분들을 배제시키고 토큰화 작업을 수행하기 위해서 토큰화 작업 전에 이루어지기도 하지만, 토큰화 작업 이후에도 여전히 남아있는 노이즈들을 제거하기 위해 지속적으로 이루어지기도 한다. 사실 완벽한 정제 작업은 어려운 편이라서, 대부분의 경우 이 정도면 됐다.라는 일종의 합의점을 찾기도 한다. 1. 표기가 다른 단어들의 통합 같은 의미를 갖고있음에도, 표기가 다른 단어들을 하나..

Deep learning 2023.03.03

[Deep learning] 토큰화 (Tokenization)

CountVectorizer : 입력된 문장을 토큰화(Tokenize)하여 토큰의 등장 빈도 벡터로 바꿔주는 기법 자연어 처리에서 크롤링 등으로 얻어낸 corpus(코퍼스) 데이터가 전처리되지 않은 상태라면, 해당 데이터를 사용하고자 하는 용도에 맞게 토큰화(Tokenization) & 정제(cleaning) & 정규화(normalization)를 해줘야 한다. - 토큰화(Tokenization) : 코퍼스(Corpus)에서 토큰(token)이라 불리는 단위로 나누는 작업 - 토큰(token) : 단위가 상황의 따라 다르지만, 보통 의미 있는 단위로 토큰을 정의한다. 1. 단어 토큰화 (Word Tokenization) : 토큰의 기준을 단어로 함. 단어는 단어 단위 외에도 단어구, 의미를 갖는 문자열로..

Deep learning 2023.02.24
728x90
반응형