반응형

Python 411

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

Python t검정, 회귀 분석 p value 값 구하기 방법 요약 파이썬에서 p-value 값을 계산해내는 방법들을 t-test와 회귀 분석의 경우에 대하여 간략하게 정리해보도록 하겠습니다. p-value 값 찾기 : t-검정의 경우 ttest 함수 실행 후 반환 결과의 1번 인덱스(두 번째) 값에 p-value가 들어있으므로, 해당 값을 인덱싱해주시면 됩니다. from scipy import stats import numpy as np X = np.random.random(50) # 데이터 가정 # X의 평균이 0인 경우에 대한 p-value stats.ttest_1samp(X, 0)[1] # 4.530894030802283e-17 # X의 평균이 0.5인 경우에 대한 p-value stats.tte..

Python/Scipy 2022.07.13

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

Python 판다스 행, 열 순서 바꾸기 예제 파이썬 판다스 모듈에서 데이터프레임 내 행 및 열의 위치를 원하는대로 변경하는 방법들을 정리해보도록 하겠습니다. 용이한 이해를 위하여 아래와 같은 데이터프레임 df를 예시로 들어 설명드려 보겠습니다. import pandas as pd a = {'A' : ['0', '1', '2', '3', '4'], 'B' : ['00', '11', '22', '33', '44'], 'C' : ['000', '111', '222', '333', '444'], 'D' : ['0000', '1111', '2222', '3333', '4444']} df = pd.DataFrame(a) df 데이터프레임 행 위치 바꾸기 1. reindex 함수를 사용하는 방법 df.reindex..

Python/Pandas 2022.07.10

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

Python 로또 프로그램 구현 실습 파이썬으로 로또(Lotto) 복권의 당첨 번호를 추출하고 주어진 상황의 등수를 구해보며 여러 번 구매하는 시뮬레이션의 결과를 출력하는 과정들을 구현하여 간단한 로또 프로그램을 만들어보는 예시를 다루어 보겠습니다. 로또 당첨 번호 추출 1~45 번호 중 중복 없이 7개를 뽑아 6개는 당첨 번호, 1개는 보너스 번호로 사용하게 됩니다. 이는 넘파이 모듈의 np.random.choice 함수를 활용하면 쉽게 번호를 뽑을 수 있습니다. import numpy as np numbers = np.random.choice(np.arange(1, 46), 7, replace = False) # 1~45 중 7개 추출 win_numbers = numbers[:-1] # 당첨 번호 6..

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

파이참 디버거 사용법 Pycharm에서 프로그래밍 중 디버깅 모드(디버거)를 사용하는 방법에 대하여 변수의 값과 오류를 확인하는 예시를 중심으로 간단하게 정리해보도록 하겠습니다. 기본 사용법 : 원하는 코드 위치에서 변수 값 확인 먼저, 파이참 디버거로 특정 코드 줄에서의 변수 값을 체크하는 방법을 살펴보겠습니다. 예시로 아래와 같은 간단한 코드로 구성된 main.py 파일이 있다고 가정해 보겠습니다. 변수 값을 알기를 원하는 코드 위치의 줄 번호 부분(붉은색 동그라미 부분)을 클릭하게 되면, 아래와 같이 동그라미 표시가 등장하게 됩니다. 이후, 오른쪽 위에서 벌레 모양의 아이콘을 클릭해주시거나, 혹은 메뉴바에서 Run 메뉴 > Debug 항목을 눌러주시면 디버거 실행이 완료됩니다. 디버깅 모드 실행 뒤..

Python/Utils 2022.07.05

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

Transformer text generation 원리, 코드 구현 예제 트랜스포머 구조의 모델에서 텍스트를 생성하는 원리를 간단히 정리해보고, 허깅페이스에서 지원하는 Transformers 모듈을 활용하여 텍스트를 생성하는 코드를 구현하는 과정에 대하여 다루어보도록 하겠습니다. 트랜스포머 모델 텍스트 생성 원리(인코더-디코더 기반) Transformer 구조 모델에서 텍스트를 생성하는 원리를 간단하게 먼저 정리해보겠습니다. Encoder-Decoder 기반 구조로 이루어져있는 트랜스포머 기반 모델의 특징을 활용하여 인코더에서 input text를 임베딩한 결과와 이전 단계까지에서 생성된 output token을 디코더에서 받아들여 예측된 토큰 확률 분포에서 가장 확률이 높은 토큰 or 확률에 따른 샘플..

Python/NLP Code 2022.07.03

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

Python 미분계수, 도함수 계산하기 파이썬에서 주어진 함수의 특정 점에서 미분계수를 정의를 통해서 구해보고 sympy 모듈을 활용하여 도함수를 직접 얻어내는 방법에 관하여도 다루어 보겠습니다. 미분계수 구하기 우선 예시로, 아래와 같은 간단한 함수 f(x)를 가정해 보겠습니다. $$ f(x) = e^x + 5x^2 - 6x - 5 $$ 함수 f(x)에 대한 x = a에서의 미분계수는 아래와 같이 정의가 됩니다. $$ f'(a) = \lim_{h \to 0} \frac{f(a + h) - f(a)}{h}$$ 위의 정의를 통하여 미분계수를 계산하는 과정을 파이썬으로 구현하면 다음과 같습니다. import numpy as np def f(x): # 함수 선언 return np.exp(x) + 5 * x *..

Python/Utils 2022.06.30

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

Python 적분, 면적 계산하기 파이썬에서 부정적분, 정적분 및 구분구적법을 계산하는 방법을 살펴보고 그래프 아래의 면적을 적분을 통해서 구하는 방법까지 다루어 보겠습니다. 부정적분 계산 예시로, 아래와 같은 간단한 함수를 적분하는 예시를 살펴보겠습니다. $$\ f(x) = e^x + 2 x^2 + 3x + 4$$ 적분 계산은 sympy 모듈을 통하여 진행되는데, 먼저 식 표현은 아래와 같이 해주시면 됩니다. import sympy as sy x = sy.symbols('x') # x를 변수로 사용함을 선언 f = sy.exp(x) + 2 * x ** 2 + 3 * x + 4 f 이제 표현해둔 식에서 다음과 같은 부정적분의 계산을 해보겠습니다. $$\ \int e^x + 2 x^2 + 3x + 4\; ..

Python/Utils 2022.06.29

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

파이썬 넘파이 버전 체크, 높이기/낮추기 방법 정리 파이썬에서 Numpy 라이브러리의 버전(version)을 확인하는 방법과 업그레이드 혹은 다운그레이드를 진행하는 방법에 대해서 간단히 정리해보겠습니다. 넘파이 버전 확인 넘파이 모듈 임포트 후에 __version__ 속성을 확인해주시면 현재 설치된 numpy의 버전 체크가 가능합니다. import numpy as np print(np.__version__) # 1.21.6 넘파이 버전 업그레이드, 다운그레이드 !pip install numpy==원하는 버전 명령어를 코드 셀이나 터미널 창에서 실행시켜 numpy의 버전을 높이거나 낮출 수 있습니다.(단, 터미널에서는 맨 앞 ! 제외하고 입력) # 1.20.3 버전으로 다운그레이드 예시 !pip insta..

Python/Numpy 2022.06.23

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

파이썬 중복 없이 난수 추출 / 리스트에서 값 뽑기 방법 정리 파이썬에서 중복을 허가하지 않고 특정 범위 내의 숫자(정수)들 중 원하는 개수의 숫자들을 뽑거나 리스트 내에서 특정 개수의 자료들을 샘플링하는 방법을 정리해보겠습니다. 중복되지 않게 숫자들을 뽑기 이 과정은 넘파이의 random.choice 함수를 사용하시면 편리한데, np.random.choice(range(시작 숫자, 끝 숫자+1), 개수, replace = False) 형태의 코드로 원하는 시작 숫자 ~ 끝 숫자 범위 내에서 특정 개수만큼 중복 없이 난수 샘플링이 가능합니다. 가령, 로또 번호의 예시로 1~45의 숫자들 중 6개를 뽑는 방법은 다음과 같습니다. import numpy as np # 1~45 중 중복 없이 6개 숫자 추출 ..

Python/Numpy 2022.06.22

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

Python 판다스 행, 열의 값 밀어내기 : shift 함수 사용법 파이썬의 판다스 모듈에서 데이터프레임 내의 값들을 행 혹은 열을 기준으로 원하는 칸 만큼 밀어내는 shift 함수에 대하여 다루어보도록 하겠습니다. 여기서는 아래와 같은 데이터프레임 df를 예시로 설명을 진행하여 이해를 돕도록 하겠습니다. import pandas as pd a = {'A' : [1111, 2222, 3333, 4444, 5555], 'B' : ['AAAA', 'BBBB', 'CCCC','DDDD', 'EEEE']} df = pd.DataFrame(a) df 전체 n칸씩 아래(혹은 위)방향으로 밀기 : df.shift(n) 기본적인 shift 메소드의 사용법으로, df.shift(n) 형태로 실행 시에 모든 열의 행들이..

Python/Pandas 2022.06.21
반응형