jimmy-ai의 등록된 링크

키자드에 등록된 총 377개의 포스트를 확인하실 수 있습니다.

Tistory

[Numpy] 넘파이 배열 행/열 추가 방법 정리(끝 위치, 중간 위치)

파이썬 numpy array row/column 삽입 방법 파이썬에서 넘파이 배열의 끝 위치 혹은 중간의 특정 위치에 원하는 값들의 행 및 열을 추가하는 방법들을 정리해보도록 하겠습니다. 우선, 아래와 같은 2차원 배열 arr를 가정하고 행 및 열을 다양하게 추가해 보겠습니다. import numpy as np arr = np.arange(12).reshape(4, 3) arr # 출력 결과 array([[ 0, 1, 2], [ 3, 4, 5], [ 6, 7, 8], [ 9, 10, 11]]) 1. 끝 위치 행/열 추가 : np.r_, np.c_ np.r_[기존 배열, 행 방향으로 추가할 배열] 형태로는 행 추가를, np.c_[기존 배열, 열 방향으로 추가할 배열] 형태로는 열 추가를 진행할 수 있습니다..

Tistory

[Pytorch] 파이토치 가중치 초기화 방법(Xavier, He)

Python torch Weight Initialization 파이토치에서 Xavier, He 등의 가중치 초기화를 각 layer 별로 혹은 모델 전체에 대하여 진행하는 방법을 간략하게 요약해보도록 하겠습니다. 우선, 다음과 같이 fc1, fc2, fc3의 3개의 layer를 가진 간단한 모델 구조를 가정해 보겠습니다. import torch import torch.nn as nn class Net(nn.Module): def __init__(self): super(Net, self).__init__() self.fc1 = nn.Linear(8, 4) self.fc2 = nn.Linear(4, 2) self.fc3 = nn.Linear(2, 1) def forward(self, x): return sel..

Tistory

[Tensorflow] 파이썬 keras 특정 layer freeze 방법

텐서플로우 케라스 layer weight freezing 파이썬의 텐서플로우 케라스에서 모델 내의 특정 layer의 가중치를 학습 시에 freeze하는 방법에 대하여 살펴보겠습니다. 먼저, 다음과 같이 Dense layer 3개로 구성된 간단한 모델 구조를 가정해보겠습니다. (각 layer의 이름은 fc1, fc2, fc3로 설정하였습니다.) from keras.models import Sequential from keras.layers import Dense model = Sequential() layer1 = Dense(3, activation='relu', name = 'fc1', input_shape = (4,)) layer2 = Dense(2, activation='relu', name = 'f..

Tistory

파이썬 SMOTE 알고리즘 데이터 불균형 해결 예제

Python SMOTE 사용법 파이썬에서 비대칭 데이터 라벨 문제를 해결하는 알고리즘 중 하나인 SMOTE를 사용해보는 예제를 간단하게 다루어보도록 하겠습니다. SMOTE 알고리즘이란? SMOTE는 데이터 불균형 해결 방법 중 적은 수의 라벨 측에 포함된 데이터 샘플 수를 늘리는 대표적인 오버 샘플링 기법 중 하나로, 샘플링된 데이터에 대하여 k-최근접 이웃을 고른 뒤, 해당 점과 이웃 점들을 선분으로 잇고 이 선분들 위에서 임의의 점을 골라 새로운 샘플로 취급하는 알고리즘입니다. SMOTE 파이썬 코드 예제 먼저, 예시 데이터로 사이킷런의 유방암 예측 데이터셋을 불러오도록 하겠습니다. 편의상, 수많은 종류 중 4가지 feature만 골라서 사용하겠습니다. import pandas as pd from s..

Tistory

[Numpy] 레코드 배열 recarray 자료형 선언 및 사용 방법

파이썬 넘파이 recarray type 파이썬의 numpy 모듈에서 제공하는 자료형인 레코드 배열(recarray)의 선언 방법을 위주로 사용 방법을 간략하게 정리해보도록 하겠습니다. 참고로, 레코드 배열에서는 arr['x'] = [1, 3] 처럼 attributes로 해당되는 부분 배열을 가져오는 기능을 제공합니다. (이는 마치 판다스에서 열을 추출하는 원리와 비슷합니다.) 해당 글은 아래 링크의 넘파이 공식 문서를 참고하여 작성되었으며, 더 자세한 내용이 궁금하시다면 해당 글을 참고해주세요. numpy.recarray — NumPy v1.23 Manual A list containing the data-types for the different columns, e.g. ['i4', 'f8', 'i4'..

Tistory

[Pytorch] 파이토치 RNN 계열 layer 원리 이해해보기

Python torch RNN, LSTM, GRU 사용법 파이썬 파이토치에서 RNN 계열 layer들의 input, output 형태를 기준으로 layer 개수 및 양방향 여부에 따른 원리를 이해하기 쉽게 설명해보도록 하겠습니다. 1. 기본 RNN, 단층, 단방향 먼저, 가장 기본적인 경우로 일반 RNN이며 single layer, unidirectional인 경우의 예제를 살펴보도록 하겠습니다. 상황은 다음과 같이 가정하겠습니다. sequence length = 2,(아래 그림에서 빨간색, 분홍색 순서입니다.) batch size = 4, input dimension = 5,(각 데이터는 5차원이며, 각 숫자는 x로 표시했습니다.) output dimension = 3 이 경우에 input의 최종 sh..

Tistory

[Pytorch] 파이토치 Conv1d, Conv2d 원리 비교

Python torch Conv1d vs Conv2d 파이썬 파이토치에서 convolution을 수행하는 layer 종류인 Conv1d, Conv2d에 대하여 두 종류의 원리와 사용법 차이를 비교해보도록 하겠습니다. Conv1d 예제 및 원리 Conv1d는 1차원 벡터 여러개에 대하여 한 방향으로 움직이며 컨볼루션 합을 진행하는 layer로 대표적인 예시로 자연어 처리에서의 단어 토큰 임베딩의 컨볼루션을 들 수 있습니다. 이해를 돕기 위하여 아래의 상황을 가정한 예시를 그림으로 나타내보겠습니다. sequence length = 5(한 문장은 5개의 단어 토큰으로 구성됩니다.) input dimension = 7(각 토큰을 7차원 임베딩으로 표현합니다.) kernel size = 2(이웃한 2개 토큰의 임..

Tistory

[Scipy] 파이썬 희소 행렬 변환(CSR, COO, DOK), 배열 역변환, 연산 방법 정리

Python Sparse Matrix 파이썬에서 0의 비중이 높은 행렬인 희소 행렬을 효율성을 위하여 3가지 대표 방법인 CSR, COO, DOK 방법으로 변환할 수 있는 Scipy의 기능을 살펴보고 배열 역변환 및 연산에 관한 예제도 같이 정리해보도록 하겠습니다. 희소 행렬 변환 방법(CSR, COO, DOK) 먼저, CSR, COO, DOK의 3가지 희소 행렬 표현 방법에 대해서 간략하게 설명하겠습니다. CSR : 각 row별로 0이 아닌 개수의 누적합을 이용해서 어느 행에 속하는지를 추적하고, 인덱스 번호(열의 위치)는 따로 저장하여 각 데이터가 저장된 위치를 찾는 방식입니다. 참고로, CSR은 연산이 빠르다는 장점 덕분에 많이 사용되는 방식입니다. COO : 0이 아닌 데이터가 저장된 위치의 ro..

Tistory

파이썬에서 yaml 파일을 읽고 쓰는 방법

Python yaml 불러오기, 내보내기 자주 사용되는 데이터 저장 포맷 양식 중 하나인 yaml 파일을 파이썬에서 읽고 쓰는 방법을 간단히 요약해보도록 하겠습니다. yaml 파일 읽기 아래와 같은 내용의 example.yaml 파일이 저장되어 있다고 가정하여 해당 파일을 불러오는 예제를 다루어 보겠습니다. name, age, skills, hobby의 4가지 카테고리에 대한 정보가 담겨있으며, skills는 딕셔너리, hobby는 리스트와 유사한 형태로 정보를 포함한 예시입니다. 위의 yaml 파일을 파싱하기 위한 과정은 다음과 같습니다. 1. 파일을 파싱하기 위하여 먼저 yaml 모듈을 임포트해줍니다. # 미설치 시 !pip install pyyaml 명령어로 설치 import yaml 2. open..

Tistory

[C언어] 동적 할당 원리 및 방법(malloc, calloc, realloc) 정리

C언어 동적 메모리 할당(Dynamic Memory Allocation) 동적 할당 원리, 정적 할당과의 비교 동적 할당을 다루기 전에 먼저 기본적인 정적 할당 방법을 살펴보겠습니다. #include int main(){ // 배열 선언(정적 배열 선언) int arr[5]; // 값 할당 예시 arr[0] = 1; arr[1] = 3; arr[2] = 5; } 위와 같이 처음에 5칸으로 배열의 크기를 지정하여 선언하는 방식입니다. 이 경우에는 컴파일 단계에서 자동으로 메모리를 할당해 주는데요. 스택 영역에 메모리 공간을 배정받게 되어 고정된 칸 수만 가질 수 있습니다. (쉽게 생각하면 스택 중간에서 갑자기 차지하는 공간을 늘리거나 줄이는 것이 쉬운 작업은 아니라는 것을 직감하실 수 있을 것입니다.) 이..

Tistory

Batch Normalization vs Layer Normalization 정의, 장단점 비교

이번 글에서는 딥러닝에서 많이 활용되는 대표적인 성능 개선 기법인 배치 정규화와 레이어 정규화에 대해서 정의와 장단점을 비교해보도록 하겠습니다. 먼저, batch size = 3인 빨강, 파랑, 초록 데이터가 아래와 같이 A, B, C, D라는 4개의 feature의 값들로 구성되어 있는 상황을 가정해보도록 하겠습니다. Batch Normalization 정의 배치 정규화는 각 feature에 대하여 mini-batch 내의 평균, 분산을 구해서 정규화를 진행해주는 방법입니다. 위 그림의 데이터에 적용한 예시는 다음과 같습니다. 각 feature에 대한 평균과 분산 값들을 이용하여 기존 값 x를 새로운 값 y로 정규화를 해줍니다. (각 layer를 통과한 값마다 적용이 가능합니다.) (ε은 분산이 0이라..

Tistory

머신러닝 분류 알고리즘 종류별 장단점 정리

머신러닝에서 대표적으로 사용되는 분류(Classification) 알고리즘들에 대하여 종류별로 장단점을 간략하게 정리해보도록 하겠습니다. 1. 의사결정나무(Decision Tree) 장점 1. 결과가 나온 과정을 쉽게 추적할 수 있어 설명 가능성이 높다. 2. 정규화 과정이 필요 없고, 데이터의 분포에 상관 없이 적용 가능하다. 3. 범주형, 연속형, 이산형 변수 모두를 다룰 수 있다. 단점 1. 과적합에 매우 취약하여 가지치기가 중요하다. 2. 시계열 데이터나 고차원 데이터에는 적용하기 어렵다. 3. 경계값 근처에서 오류가 발생하기 쉽다. 2. 랜덤포레스트(Random Forest) 장점 1. 의사결정나무의 2, 3번 장점을 그대로 가져갈 수 있다. 2. 의사결정나무의 과적합 문제를 보완할 수 있다. ..

Tistory

Batch Size와 학습 시간, 메모리 사용량의 관계

배치 크기가 커지면 학습 시간 및 GPU 메모리 사용량은 어떻게 될까요? 배치 크기가 커지면 학습 시간은 계속 줄어들까요? GPU 메모리 사용량과는 어떤 관계가 있을까요? 우선, 제가 가진 학습 코드를 통해 간단하게 실험해본 결과는 다음과 같습니다. Batch Size = 1 데이터가 약 89000개 정도이므로, 1 epoch 당 89000 스텝이 진행되고, 예상 학습 시간은 1시간 45분 정도였습니다. 모델 파라미터 + 데이터 1개 텐서 = 2207MB 정도의 메모리가 사용되는 것을 보았습니다. Batch Size = 2 89000개의 절반인 약 45000 스텝 정도가 1 epch에 진행됩니다. 학습 예상 시간은 1시간 24분 정도로 약간 줄었으나, Batch Size = 1인 경우에 비하여 절반으로 ..

Tistory

파이썬 개체명 태깅(NER Tagging) 방법 정리(nltk, spacy)

지난번에 nltk 및 spacy 모듈을 통하여 품사 태깅(POS Tagging) 방법을 다루었던 글에 이어 이번에는 두 모듈로 개체명 태깅(NER Tagging)을 진행하는 방법을 살펴보도록 하겠습니다. 품사 태깅 방법과 관련된 내용은 아래 글을 참고해주세요. 파이썬 품사 태깅(POS Tagging) 방법 정리(nltk, spacy) 파이썬에서 각 단어 토큰의 품사 종류를 찾는 pos tagging을 nltk와 spacy 모듈을 통하여 진행하는 방법에 대하여 정리해보도록 하겠습니다. nltk를 활용한 POS Tagging 방법 먼저, nltk 모듈 설치가 진행되 jimmy-ai.tistory.com nltk를 활용한 NER Tagging 방법 nltk에서 개체명 태깅을 진행하려면 품사 태깅이 선행되어야 ..

Tistory

[Tensorflow] 텐서플로우 모델 구조 시각화 방법 : tf.keras.utils.plot_model

Visualize Tensorflow/Keras Model Structures 텐서플로우에서 구현된 모델의 구조를 plot_model 메소드를 통하여 쉽게 시각화할 수 있는 방법에 대하여 살펴보도록 하겠습니다. 먼저, 예시로 아래와 같이 간단한 CNN 구조의 모델이 있다고 가정해보도록 하겠습니다. from tensorflow.keras import models, layers # CNN 구조 모델 예시 model = models.Sequential() model.add(layers.Conv2D(5, 3, strides = 1, padding = 'same', activation = 'relu', input_shape = (28, 28, 1))) model.add(layers.MaxPooling2D(pool..

Tistory

파이썬 변수/함수 타입 명시 방법(Type Hints)

Python Type Hints 파이썬에서 코드 작성 시에 변수 및 함수 input/output 자료형에 대해 알림 기능을 해줄 수 있는 Type Hints 기능에 대하여 살펴보도록 하겠습니다. 변수 선언 시 타입 명시 방법 파이썬에서는 변수의 자료형에 제한이 없어 기존의 방법대로 변수를 선언할 경우 아래처럼 기존 자료형과 다른 타입의 값을 넣는 것에 제약이 없습니다. a = "abcde" # 문자열로 선언된 변수 a a = 400 # 정수형 등 다른 자료형의 값을 할당하는 것에 제약이 없음 만일 문자열로 선언된 변수에 대하여 문자열이 아닌 다른 타입의 값으로 재할당될 경우 경고 메시지를 주고 싶다면 아래와 같이 Type Hints 방법을 적용할 수 있습니다. # 변수명: 자료형 = 값 a: str = ..

Tistory

TypeError: 'str' object does not support item assignment 해결법

개요 다음과 같은 문자열 a가 있다고 가정해보겠습니다. a = 'abcde' a의 3번 인덱스 위치의 'd'를 'g'로 바꾸려고 시도해보려는데, 다음과 같이 에러가 발생하였습니다. a[3] = 'g' # TypeError: 'str' object does not support item assignment 원인 자료형 종류에는 수정이 가능한 객체인 mutable 타입(리스트, 딕셔너리 등)이 있고, 수정이 불가능한 객체인 immutable 타입(튜플, 문자열 등)이 있는데 문자열은 immutable 자료형이라서 위와 같이 인덱싱(혹은 슬라이싱)을 통한 값 수정이 불가능한 것입니다. 해결 방법 1. 문자열 수동 할당 문자열 덧셈 연산으로 이어 붙이기가 되는 점을 이용하여 재할당을 해주는 방법입니다. 다만, ..

Tistory

파이썬 품사 태깅(POS Tagging) 방법 정리(nltk, spacy)

파이썬에서 각 단어 토큰의 품사 종류를 찾는 pos tagging을 nltk와 spacy 모듈을 통하여 진행하는 방법에 대하여 정리해보도록 하겠습니다. nltk를 활용한 POS Tagging 방법 먼저, nltk 모듈 설치가 진행되지 않았다면 아래 명령어로 설치해줍니다. !pip install nltk 품사 태깅을 위해서는 영어 기준으로 아래의 내부 라이브러리를 설치하는 과정이 필요합니다. import nltk nltk.download('punkt') nltk.download('averaged_perceptron_tagger') 위 과정들을 마쳤다면 문장 토큰화 후 pos tagging을 다음과 같이 진행해주시면 됩니다. from nltk import word_tokenize, pos_tag senten..

Tistory

NLP Question Answering 전처리, 학습 및 성능 평가 코드 예제

HuggingFace에서 제공하는 transformers 모듈을 활용하여 pre-train model을 불러와 자연어 처리의 대표 task 중 하나인 Question Answering에 대하여 학습하고 검증하는 과정들의 파이썬 실습 코드 예제를 다루어..

Tistory

UFuncTypeError: Cannot cast ufunc 'add' output from dtype('float64') to dtype('int64') with casting rule 'same_kind' 해결법

오류 개요 두 넘파이 배열 a와 b에 대하여 a에 b를 더한 결과를 얻으려는 과정에서 아래와 같은 에러가 발생하였습니다. import numpy as np a = np.array([[1, 2], [3, 4]]) b = np.array([[5.0, 6.0], [7.0, 8.0..

Tistory

[Matplotlib] 파이썬 그래프 축 로그 스케일 지정 - xscale, yscale

Python plt log scale axis 파이썬에서 x축 및 y축의 눈금을 로그(log) 스케일로 지정할 수 있는 xscale 및 yscale 함수에 대하여 사용 예제를 살펴보도록 하겠습니다. 우선, 다음과 같이 간단한 바 그래프가 있다..

Tistory

[Numpy] 파이썬 리스트(배열)에서 0이 아닌 값 위치/개수 찾기 : np.nonzero

Python numpy nonzero 파이썬의 리스트 혹은 배열에서 0이 아닌 원소들의 인덱스 번호나 개수를 찾을 수 있는 방법을 nonzero 함수의 사용법을 기준으로 다루어 보겠습니다. 1차원 리스트/배열의 경우 먼저, 1차원..

Tistory

파이썬 소인수분해 함수 : sympy 모듈의 factorint

Python 소인수분해 라이브러리 함수 파이썬에서 정수에 대한 소인수분해를 손쉽게 바로 진행해줄 수 있는 함수인 sympy 라이브러리의 factorint에 대하여 다루어보도록 하겠습니다. 사용법은 매우 간단합니다. fac..

Tistory

파이썬에서 상수(const) 기능을 사용하는 방법

C++, JAVA 등 다른 언어에서 const로 사용되는 기능인 상수 선언을 Python에서도 사용이 가능할까요? 아쉽게도 파이썬에서는 직접적으로 상수를 선언하는 기능을 제공하고 있지 않습니다. 대신, 값이 변하지 않는..

Tistory

[Pytorch] 파이썬 Domain Adaptation 구현 예제(feat. DANN Loss)

이번 글에서는 파이토치로 DANN Loss를 활용한 Domain Adaptation을 간단하게 구현해보는 실습 코드 예제를 다루어보도록 하겠습니다. DANN Loss는 class label 분류 학습과 함께 domain 분류를 진행하되, domain..

Tistory

[C언어] 문자열 내 특정 문자(열) 등장 횟수 탐색 방법

C언어 특정 문자(열) 개수 세기(1글자, 여러 글자 모두 가능) 문자열 s 내에서 부분 문자열 find의 등장 횟수를 찾는 예시 코드는 아래와 같습니다. #include #include int main(){ char s[30] = "hello world! he..

Tistory

파이썬 과학적 표기법(지수 표현) 출력 양식 지정 방법

Python Scientific Notation 파이썬에서 특정 수를 지수 표현으로 나타내어 1.23e+8, 4.753e-6과 같이 과학적 표기법으로 출력하는 방법을 정리해도록 하겠습니다. 일반적인 소수점 자릿수 출력 양식은 "%.2f"처럼..

Tistory

[R] 데이터프레임 값 변경/수정 방법 정리

R 프로그래밍 과정에서 데이터프레임의 특정 값들을 원하는대로 바꾸는 방법을 정리해보도록 하겠습니다. 예시로 df라는 변수에 아래의 데이터프레임이 저장되어 있다고 가정해보겠습니다. > df A B C 1 10 가 aaa..

Tistory

[Matplotlib] 파이썬 그래프 y축 절단(물결선 효과) 적용 방법

Python plt broken axis 파이썬에서 matplotlib 모듈을 활용하여 그래프를 그릴 때, 축을 중간에서 절단하여 물결선과 비슷한 효과를 낼 수 있는 방법을 살펴보도록 하겠습니다. 참고로, 해당 글은 아래의 matplo..

Tistory

[Scipy] 파이썬 신뢰 구간 구하기 및 시각화 예제

Python에서 표본 집단의 신뢰 구간을 간략하게 구하는 방법을 정리해보고 막대 그래프에서 신뢰 구간 부분을 시각화하는 방법도 같이 살펴보겠습니다. 예시로 아래와 같이 두 샘플에 대한 값이 있다고 가정해보도..

Tistory

[R] 파일 다운로드 과정 'Permission denied', "다운로드의 종료상태(exit status)가 0이 아닙니다." 해결 방법

R 데이터 다운로드 권한 오류 해결 방법 개요 RStudio로 데이터 다운로드를 시도하는 과정에서 다음과 같은 오류가 발생하였습니다. # 실행을 시도했던 코드 > download.file("https://www.openintro.org/stat/dat..

Tistory

파이썬 문자열 인덱싱, 슬라이싱 방법 총정리

python의 string 자료형에서 일부를 추출하는 인덱싱과 슬라이싱에 대하여 경우의 수를 총망라하여 이해하기 쉽게 정리해보도록 하겠습니다. 파이썬 문자열 인덱싱 방법 인덱싱은 문자열 전체에서 특정 위치에 해..

Tistory

TypeError: argument of type 'int' is not iterable 원인, 해결법

개요 숫자 5가 주어진 정수 내에 포함되어 있는지 판단하기 위하여 아래와 같은 조건문을 작성했다고 가정해보도록 하겠습니다. a = 135 if 5 in a: print('5가 포함되어 있습니다.') # 결과 TypeError: argument..

Tistory

[C언어] 배열, 문자열 슬라이싱 구현 예제

파이썬 등의 일부 프로그래밍 언어에서는 다음과 같이 특정 위치 부분을 추출하는 "슬라이싱"이라는 기능을 제공합니다. list_a = [1, 3, 5, 7, 9] str_a = "hello world!" # 파이썬 슬라이싱 예시 print(list_a[1..

Tistory

[Sklearn] 파이썬 feature selection 함수 RFE, RFECV 예제

Python scikit-learn RFE, RFECV 파이썬에서 RFE와 RFECV 함수를 사용하여 feature selection을 진행하는 예제를 다루어보도록 하겠습니다. 데이터셋 로드 및 전처리 우선, 이번 글에서는 사이킷런에서 제공하는..

Tistory

[Sklearn] 파이썬 모델 앙상블 : 배깅 / 부스팅 / 보팅 함수 정리

Python Model Ensemble(Bagging, Boosting, Voting) 파이썬에서 여러 머신러닝 모델의 앙상블을 진행하는 배깅, 부스팅 그리고 보팅과 관련된 사이킷런의 함수들을 간단한 예제를 통하여 이해하기 쉽도록 비교 정..

Tistory

파이썬 한글 또는 영문만 추출하기 / 제거하기

Python에서 정규표현식을 활용하여 한글 혹은 영어만 남기거나 제거하는 코드를 간략하게 정리해 보겠습니다. 한글만 추출, 제거 re.sub 함수 내 정규표현식에서 자모는 ㄱ-ㅣ, 온전한 글자는 가-힣으로 커버하며,..

Tistory

[Numpy] 파이썬 eigenvalue, eigenvector 구하기 : np.linalg.eig

Python에서 주어진 배열의 고윳값(eigenvalue)와 고유벡터(eigenvector)를 쉽게 찾을 수 있는 넘파이 모듈 내 eig 함수에 대하여 사용법 예제를 살펴보겠습니다. np.linalg.eig 함수 기본 사용법 (n, n) 형태의 sh..

Tistory

[Pandas] 파이썬 데이터프레임 랜덤 샘플링 방법 : df.sample

Python의 판다스 모듈로 데이터프레임의 행들을 랜덤 추출할 수 있는 df.sample 기능에 대하여 사용 예제를 정리해보도록 하겠습니다. 이해를 돕기 위하여 아래의 데이터프레임 df에 대하여 행 샘플링을 진행해 보..

Tistory

[Sklearn] 파이썬 ROC 커브, AUC 면적 구하기 예제

Python scikit-learn ROC curve, AUC 파이썬에서 사이킷런을 활용하여 이진 분류 문제의 ROC 커브를 그려보고 AUC 값을 구해보는 방법을 간단한 예제를 통해 알아보도록 하겠습니다. 데이터셋 로드 및 전처리 이번..

Tistory

[Pandas] 파이썬 판다스 isin 함수 및 not isin 조건 사용 방법

Python pandas isin / not isin 파이썬의 판다스 라이브러리에서 특정 목록 중에 있는 값들을 조회하고 싶은 경우 유용하게 사용할 수 있는 함수인 isin과 isin 함수의 반대 조건에 대한 사용 방법을 정리해보도록..

Tistory

[R] 행 추출 및 열 추출 방법 정리(특정 위치, 특정 조건)

R의 데이터프레임, tibble 등의 자료형에서 원하는 위치 혹은 조건을 만족하는 행 / 열만을 가져오는 방법들을 총정리해보도록 하겠습니다. 우선, 아래와 같은 데이터가 df라는 변수에 저장되어 있다고 가정해보고..

Tistory

[R] 행 이름(인덱스) 지정, 초기화 방법

R에서 행 이름 부분인 인덱스를 원하는 벡터나 특정 열로 설정하는 방법과 원래의 숫자 순서로 초기화하는 방법에 대하여 간략하게 요약하여 설명해보도록 하겠습니다. 예시로, 아래와 같은 데이터프레임이 df라는..

Tistory

[Pytorch] 파이토치 과적합 방지(Early Stopping) 구현 방법 정리

파이토치 학습 과정에서 각 epoch가 끝나는 시점에서 validation loss 혹은 validation accuracy 등의 성능 지표를 측정하여 과적합이 의심되는 특정 시점을 넘어가는 경우 조기에 학습을 종료하는 early stopping..

Tistory

파이썬에서 다른 py 파일의 변수 값을 가져오는 방법

파이썬에서 다른 파일에서 선언했던 변수를 그대로 호출하고 싶은 경우가 있습니다. 결론부터 말하면, 변수도 함수나 클래스를 가져올 때처럼 import 혹은 from ~ import로 똑같이 가져올 수 있습니다. 예시를 하..

Tistory

[R] "파일 이름, 디렉터리 이름 또는 볼륨 레이블 구문이 잘못되었습니다" 해결 방법

개요 윈도우에서 R을 이용한 프로그래밍 도중 아래와 같은 경고 메시지가 등장하며 실행이 제대로되지 않는 문제가 있었습니다. Warning message: In normalizePath(path.expand(path), winslash, mustWork) : pat..

Tistory

R 설치 및 R Studio 설치 방법 과정 요약(윈도우 기준)

Windows R / R Studio Install 윈도우 환경을 기준으로 R 및 R 스튜디오를 까는 방법의 과정들을 간단 명료하게 요약하여 설명해보도록 하겠습니다. R 설치 방법 1. 먼저, https://cran.r-project.org/ 사이트에..

Tistory

CLS 토큰이란? / 파이썬 BERT CLS 임베딩 벡터 추출 예제

[CLS] 토큰이란? BERT, RoBERTa 등의 언어 모델에서 문장 토큰들이 인코딩된 결과를 활용하는 것이 유용한 경우가 많은데 가장 첫 위치에 문장 공통 토큰인 [CLS]를 두어 해당 위치의 임베딩 결과를 대표 임베딩으..

Tistory

[R] 열 이름 추출 / 변경(전체 컬럼 동시에, 특정 컬럼만)

R에서 데이터프레임의 열(column) 이름을 확인하는 방법과 컬럼명을 바꾸는 방법에 대하여 정리해보도록 하겠습니다. 먼저, 아래와 같은 score.xlsx 엑셀 파일이 있다고 가정해보겠습니다. 아래 코드를 통하여 엑..

Tistory

코테를 반영한 코딩 자격증 출시 : 프로그래머스 시행 PCCP

프로그래머스 코딩역량인증시험 소개 코딩 테스트를 준비하는 취업 준비생들에게 단비같은 소식이 찾아왔습니다. 바로 코딩 테스트 문제 유형과 유사한 형태의 코딩 자격증이 출시된다는 것인데요! 이번에 출시되..

Tistory

RuntimeError: The expanded size of the tensor (1002) must match the existing size (512) at non-singleton dimension 1. Target sizes: [8, 1002]. Tensor sizes: [1, 512] 해결

Transformers token size error debugging transformers 모듈로 모델 학습 과정 중 너무 긴 토큰 사이즈로 인해 발생가능한 에러를 고치는 방법에 대하여 간략하게 다루어보도록 하겠습니다. 오류 원인 trainer로..

Tistory

[Sklearn] 파이썬 단어 개수 세기 예제 : CountVectorizer 함수

Python scikit-learn word count method 파이썬의 사이킷런 모듈을 활용하여 단어의 개수를 손쉽게 셀 수 있는 CountVectorizer 메소드에 관하여 사용 예제를 간략하게 정리해보도록 하겠습니다. 우선, 아래와 같..

Tistory

[Tensorflow] TFDV 활용 파이썬 데이터 EDA 실습 예제

Python EDA by tensorflow_data_validation 오늘은 파이썬 텐서플로우에서 제공하는 TFDV 모듈을 활용하여 데이터에 대한 EDA 과정을 유용하게 진행하는 방법에 대하여 간략하게 정리해보겠습니다. 데이터셋 로드..

Tistory

[Matplotlib] 파이썬 산점도 텍스트 label 추가 방법

Python scatter plot 라벨 추가하기 예제 파이썬의 matplotlib(plt) 모듈로 산점도를 그린 뒤, 산점도의 각 점에 텍스트 레이블을 추가하는 방법을 간략하게 정리해 보겠습니다. 예시로, 다음과 같은 데이터프레임..

Tistory

파이썬 활용 pdf 파일 내 텍스트 추출 방법 정리(pypdf2, tika)

Python pdf text 읽기 파이썬으로 pdf 파일에서 텍스트를 추출해내는 방법에 대하여 다루어보도록 하겠습니다. 여기에는 매우 다양한 방법이 있지만 여기서는 간편한 방법 예시 2가지로 pypdf2 모듈과 tika 모듈을..

Tistory

구글 코랩(Colab)에서 파일을 업로드하는 3가지 방법

Google Colaboratory 파일 불러오기 방법 정리 구글 코랩을 사용할 때 코딩 환경 내에 텍스트, 이미지 등의 파일을 올리는 대표적인 방법 3가지를 정리해보도록 하겠습니다. 1. 로컬 환경에서 직접 드래그 가장 간..

Tistory

[Pandas] 파이썬 판다스 요일 추출 방법 정리(weekday, day_name(), 한글 요일 이름)

Python pandas 데이터프레임 요일 구하기 파이썬의 판다스 모듈로 데이터프레임 내의 날짜 정보를 다룰 때, 요일 정보를 추출하는 여러 가지 방법들에 대하여 정리해보도록 하겠습니다. 이해를 돕기 위하여 아래와..

Tistory

윈도우 11 시스템 복원 방법(이전 시점 되돌리기)

Windows 11 시스템 복구 과정 정리 윈도우 11에서 특정 때로 시스템을 되돌리는 방법인 시스템 복원 방법을 살펴보도록 하겠습니다. 1. 내 PC -> 속성 탭 들어가기 먼저, 아무 폴더나 들어간 뒤, 좌측의 내 PC 항..

Tistory

개발자, NFT 작가들을 위한 소셜 플랫폼 : 긱하우스(Geek Haus)

아고라스 긱하우스 브랜드 소개 IT 개발자와 NFT 아티스트부터 NFT 아트에 관심있는 모든 사람들까지 네트워크를 형성할 수 있으며, 또 프로그래밍을 위한 영어 공부 교재를 출판하며 글로벌 IT 인재로의 성장을..

Tistory

[OpenCV] 파이썬 사물 인식(Object Detection) 실습 코드 예제

Python OpenCV object detection example 파이썬에서 OpenCV의 기능을 활용하여 이미지 내 사물 검출 결과를 쉽게 반환받을 수 있는 방법을 예시를 통해서 간략하게 정리해보도록 하겠습니다. 먼저, 이번 예제에서..

Tistory

[Pytorch] 텐서를 넘파이 배열, 리스트로 변환하는 방법 정리

파이토치 tensor를 numpy array나 list로 바꾸기 파이썬 파이토치에서 tensor 자료형을 넘파이 배열 또는 리스트 자료형으로 변환하는 방법에 대하여 케이스별로 정리해보도록 하겠습니다. 1. 기본 텐서의 경우 :..

Tistory

[C언어] 배열 내 특정 값 포함 여부 / 원소 위치 인덱스 찾기 구현

C언어 array 원소 존재 여부, 인덱스 번호 탐색 예제 C언어에서 배열 내에 특정 원소가 포함되어 있는지 여부를 탐색하거나 값이 들어있는 위치의 인덱스 번호를 가져오는 방법의 예시를 다루어 보겠습니다. 배열..

Tistory

[Pandas] 판다스 설치 / 버전 확인 / 버전 변경(업데이트, 다운그레이드) 방법 정리

판다스 모듈 설치, 버전 체크 및 변경 pandas 라이브러리를 install하는 명령어를 알아보고 설치된 판다스 모듈의 version을 확인하는 방법과 해당 모듈을 업그레이드 및 다운그레이드 하는 방법에 대하여 정리해..

Tistory

파이썬 예약어 종류 출력 방법, 예약어의 의미(변수명 지정 불가)

Python 예약어 확인하기 / 예약어란? 현재 버전의 파이썬에서 예약어의 종류를 출력해보고 예약어가 갖는 의미에 대하여 정리해보도록 하겠습니다. 예약어 종류 print 방법 파이썬에서 예약어 종류를 출력하는 방..

Tistory

[Numpy] 파이썬 배열 회전 함수 : np.rot90

Python 넘파이 배열 회전 함수 사용법 파이썬에서 배열을 회전한 결과를 쉽게 반환받을 수 있는 넘파이 모듈의 rot90 함수의 사용 방법에 대하여 간략하게 다루어보겠습니다. 참고로, 해당 글은 numpy.rot90 함수..

Tistory

[Matplotlib] 파이썬 그래프 회전 방법 예제

Python plt graph rotation code 파이썬에서 matplotlib을 통하여 그린 그래프를 회전하는 방법을 알아보도록 하겠습니다. 먼저, 아래와 같이 간단한 선 그래프 및 산점도가 있다고 가정해보겠습니다. import matp..

Tistory

파이썬 pop의 시간 복잡도에 대한 고찰(맨 뒤, 중간, 맨 앞 위치 비교 및 remove/del과의 비교)

Python pop() 함수의 시간 복잡도는 O(1)인가? 파이썬으로 원소를 제거하는 pop 함수의 시간 복잡도는 흔히 O(1)으로 알려져있지만 이 사항에는 맨 뒤 원소를 제거하는 상황이라는 조건이 반드시 필요합니다. 이번..

Tistory

TypeError: Object of type int64 is not JSON serializable 해결

JSON 관련 TypeError 디버깅(return 값 인식 오류) 프로그래머스 등의 코딩 테스트 연습 사이트에서의 답안 제출 과정과 같이 return 결과를 다른 곳에 보낼 때 발생할 수 있는 TypeError 종류에 대한 원인과 해결..

Tistory

[논문 요약] A Survey of Deep Learning Approaches for OCR and Document Understanding

OCR / Document Understanding Survey 논문 리뷰 이번 글에서는 NeurIPS2020의 ML-RSA 워크숍에 등재되었던 OCR 및 문서 이해와 관련된 Survey paper의 주요 내용에 대하여 간략하고 이해하기 쉽게 정리해보도록..

Tistory

파이썬 이미지 데이터 증강 모듈 : imgaug

Python image data augmentation library imgaug 여러 종류의 이미지 데이터 augmentation을 쉽고 편리하게 수행할 수 있는 imgaug 라이브러리에 대한 소개 및 간단한 예제 코드를 살펴보도록 하겠습니다. imgaug..

Tistory

[Pytorch] 파이썬 Contrastive Learning 구현 예제(feat. SimCLR)

Python 파이토치 SimCLR Contrastive Learning 실습 이번 글에서는 파이썬에서 파이토치 모듈을 활용하여 SimCLR 논문의 Contrastive Learning 사례를 간략한 버전으로 구현해보도록 하겠습니다. 이번 사례에서는..

Tistory

RuntimeError: expected scalar type Long but found Float / RuntimeError: "log_softmax_lastdim_kernel_impl" not implemented for 'Long' 해결

파이토치 자료형 관련 오류 디버깅 Pytorch 사용 중 자료형 타입과 관련하여 발생할 수 있는 에러 종류 2가지에 대하여 원인 및 해결법을 간단히 정리해보도록 하겠습니다. 1. RuntimeError: expected scalar type..

Tistory

[논문 요약] Vision Transformer(ViT) 주요 특징 정리

비전 트랜스포머 특징 요약 NLP에서 주로 사용되던 트랜스포머 구조를 비전 도메인에 적용하여 vision AI 분야의 판도를 뒤바꾼 vision transformer(ViT)를 소개했던 논문을 바탕으로 ViT에 대한 주요 특징들에 대..

Tistory

[Pytorch] 파이토치 허브(torch.hub) 사용법

파이토치 허브 메소드 정리, 사용 예제 Pytorch에서 github repository 등의 위치에 구현되어 있는 ResNet 등의 pre-train된 모델을 쉽게 불러올 수 있는 hub 기능에 대하여 구현된 함수들의 종류를 살펴보고 간단..

Tistory

[Pytorch] 체크포인트(checkpoint) 설명, 저장 및 불러오기 예제(epoch별, step별, best)

파이썬 파이토치 체크포인트 사용법 python torch 모듈에서 학습된 모델의 저장 및 불러오기 과정에서 자주 보이는 체크포인트(checkpoint) 개념에 대하여 정리해보고 epoch별, step별, best 등의 체크포인트를 직..

Tistory

[논문 요약] Non-Autoregressive Neural Machine Translation

NAT 기계 번역 Paper Review 이번 시간에는 문장의 모든 토큰을 한 번에 parallel하게 생성하는 방법인 Non-Autoregressive 기반의 기계 번역 분야의 지평을 열었던 NAT 논문에 대한 주요 내용 요약을 진행해보도..

Tistory

[논문 요약] Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks

NLP RAG Paper Review 이번 글에서는 Open Domain Question Answering(ODQA) 분야에 Generative Reader를 도입하여 성능 향상의 큰 획을 그은 RAG 논문에 대한 요약을 진행해보도록 하겠습니다. 논문의 제목은 "Re..

Tistory

[논문 요약] Dense Passage Retrieval for Open-Domain Question Answering

NLP DPR Paper Review 이번 글에선 Open Domain Question Answering(ODQA) 분야에서 관련 문서 Retriever로 현재까지도 강력한 성능을 자랑하며 사용되고 있는 DPR 프레임워크에 대하여 발표했던 논문의 주요 내용..

Tistory

[Numpy] 파이썬 넘파이 배열 원소 삭제 : np.delete 사용법

Python numpy delete 함수 사용 방법 예제 파이썬의 넘파이 모듈에서 배열의 원하는 위치와 축 방향을 지정하여 원소를 삭제할 수 있는 np.delete 함수의 사용법을 정리해보도록 하겠습니다. (참고로 이 글은 넘파..

Tistory

[논문 요약] UnitedQA: A Hybrid Approach for Open Domain Question Answering

UnitedQA Paper Review generative reader와 extractive reader 구조의 앙상블을 통하여 Open Domain Question Answering(ODQA) task에서의 성능을 크게 향상시킨 UnitedQA 논문의 주요 내용에 대한 요약을 진행해..

Tistory

[Scipy] 파이썬 p-value 찾기 방법 정리(T-test, 회귀 분석)

Python t검정, 회귀 분석 p value 값 구하기 방법 요약 파이썬에서 p-value 값을 계산해내는 방법들을 t-test와 회귀 분석의 경우에 대하여 간략하게 정리해보도록 하겠습니다. p-value 값 찾기 : t-검정의 경우 t..

Tistory

파이썬 자료형별 '같다'의 기준 정리(비교연산자 == 기준), 클래스에서 == 및 != 구현 방법(__eq__, __ne__)

Python ==, != 자료형별 기준 및 클래스 내 구현 예제 파이썬에서 숫자형, 문자열, 리스트 및 딕셔너리 등 여러 자료형의 비교 연산자에서 같음이 성립하는 기준을 정리해보고, 직접 구현된 클래스 객체 간의 비교..

Tistory

ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all() 해결법

if문 넘파이 배열 비교 연산자 ValueError 디버깅 비교문에서 numpy array 등 자료형에 대한 ==, != 연산 적용 시 등장할 수 있는 "ValueError: The truth value of an array with more than one element is ambig..

Tistory

[Pytorch] 파이썬 파이토치 데이터 병렬 처리 적용 예제 : nn.DataParallel

Python torch data parallelism 함수 사용법 파이토치에서 데이터 병렬 처리를 적용하는 방법에 대한 예제를 살펴보도록 하겠습니다. 해당 글은 아래 링크의 파이토치 공식 사이트의 글을 기반으로 작성되었으며,..

Tistory

[Pandas] 파이썬 데이터프레임 행/열 순서(위치) 변경 방법 정리

Python 판다스 행, 열 순서 바꾸기 예제 파이썬 판다스 모듈에서 데이터프레임 내 행 및 열의 위치를 원하는대로 변경하는 방법들을 정리해보도록 하겠습니다. 용이한 이해를 위하여 아래와 같은 데이터프레임 df..

Tistory

[논문 요약] REALM: Retrieval-Augmented Language Model Pre-Training

REALM Paper Review 이번 글에서는 Open-Domain QA(ODQA) 분야에 한 획을 그었던 REALM 논문에서 설명했던 기법을 간략하게 요약하여 다루어보도록 하겠습니다. 참고로, 해당 논문의 제목은 "REALM: Retrieval-Aug..

Tistory

도커(Docker) 이미지 검색, 다운로드, 조회 및 실행 명령어 정리

도커에서 기본적인 Images 다루기 방법 정리 Docker에서 이미지를 다루는 기초적인 방법들인 검색/다운/확인/실행 명령어들에 대하여 간단하게 요약하여 정리해보도록 하겠습니다. 먼저, 도커 사용 준비를 위하여..

Tistory

[C언어/C++] n제곱, n제곱근 구하기 방법 : pow() 함수

C언어, C++의 pow 함수 사용법 예제 C언어와 C++에서 n제곱, n제곱근 형태를 나타낼 수 있는 pow 함수의 사용 방법에 대하여 정리해보도록 하겠습니다. 참고로, pow 함수를 사용하기 위해서는 C언어에서는 , C++에..

Tistory

파이썬 로또 번호 추출, 당첨 등수 구하기 및 구매 시뮬레이션 구현 예제

Python 로또 프로그램 구현 실습 파이썬으로 로또(Lotto) 복권의 당첨 번호를 추출하고 주어진 상황의 등수를 구해보며 여러 번 구매하는 시뮬레이션의 결과를 출력하는 과정들을 구현하여 간단한 로또 프로그램을..

Tistory

[논문 요약] Leveraging Passage Retrieval with Generative Models for Open Domain Question Answering

Fusion-in-Decoder Paper Review 이번 글에서는 Open Domain QA 분야에서 강력한 성능을 보이는 Reader 구조인 Fusion-in-Decoder(FiD) 모델에 대한 논문의 내용을 요약해보도록 하겠습니다. 논문의 제목은 Levera..

Tistory

[논문 요약] Improving language models by retrieving from trillions of tokens

NLP RETRO Paper Review 2022년 구글 딥마인드에서 공개된 RETRO 논문의 핵심 내용들을 요약해보도록 하겠습니다. 논문의 제목은 "Improving language models by retrieving from trillions of tokens"입니다. 실..

Tistory

파이참(Pycharm) 디버깅 모드 사용 방법 정리(변수 값, 오류 체크)

파이참 디버거 사용법 Pycharm에서 프로그래밍 중 디버깅 모드(디버거)를 사용하는 방법에 대하여 변수의 값과 오류를 확인하는 예시를 중심으로 간단하게 정리해보도록 하겠습니다. 기본 사용법 : 원하는 코드 위..

Tistory

리눅스 다른 서버 vncserver 포트 원격으로 열기 명령어

Linux vncserver 활용 원격으로 다른 서버의 포트 오픈 방법 리눅스에서 vncserver 명령어로 다른 서버의 포트를 개방하는 방법을 정리해 보겠습니다. 상황 가정 : 유저 id가 abc이고 주소가 address인 서버의 100..

Tistory

[Pandas] 파이썬 데이터프레임 행/열 밀기(옮기기) 방법 정리 : df.shift()

Python 판다스 행, 열의 값 밀어내기 : shift 함수 사용법 파이썬의 판다스 모듈에서 데이터프레임 내의 값들을 행 혹은 열을 기준으로 원하는 칸 만큼 밀어내는 shift 함수에 대하여 다루어보도록 하겠습니다. 여..

Tistory

파이썬에서 중복 없이 숫자 뽑기 / 리스트 랜덤 자료 추출

파이썬 중복 없이 난수 추출 / 리스트에서 값 뽑기 방법 정리 파이썬에서 중복을 허가하지 않고 특정 범위 내의 숫자(정수)들 중 원하는 개수의 숫자들을 뽑거나 리스트 내에서 특정 개수의 자료들을 샘플링하는..

Tistory

[Numpy] 넘파이 버전 확인 / 업그레이드 및 다운그레이드

파이썬 넘파이 버전 체크, 높이기/낮추기 방법 정리 파이썬에서 Numpy 라이브러리의 버전(version)을 확인하는 방법과 업그레이드 혹은 다운그레이드를 진행하는 방법에 대해서 간단히 정리해보겠습니다. 넘파이..

Tistory

파이썬 적분 구현, 면적 구하기 예제(부정적분, 정적분, 구분구적법)

Python 적분, 면적 계산하기 파이썬에서 부정적분, 정적분 및 구분구적법을 계산하는 방법을 살펴보고 그래프 아래의 면적을 적분을 통해서 구하는 방법까지 다루어 보겠습니다. 부정적분 계산 예시로, 아래와 같..

Tistory

파이썬 미분 구현 예제(미분계수, 도함수)

Python 미분계수, 도함수 계산하기 파이썬에서 주어진 함수의 특정 점에서 미분계수를 정의를 통해서 구해보고 sympy 모듈을 활용하여 도함수를 직접 얻어내는 방법에 관하여도 다루어 보겠습니다. 미분계수 구하..

Tistory

트랜스포머 모델 텍스트 생성(Text Generation) 원리 설명, 코드 구현

Transformer text generation 원리, 코드 구현 예제 트랜스포머 구조의 모델에서 텍스트를 생성하는 원리를 간단히 정리해보고, 허깅페이스에서 지원하는 Transformers 모듈을 활용하여 텍스트를 생성하는 코드를..

Tistory

도커(Docker) 설치 방법 정리(윈도우 10, 11 기준)

Windows 10/11 기준 Docker Install 과정 윈도우 10 혹은 11 운영체제에서 도커를 설치하는 과정을 정리해보겠습니다. Step 1. 도커 설치 페이지 접속 및 다운로드 시작 아래 링크의 Docker 공식 홈페이지를 접속..

1 2 3 4