본문 바로가기

정보

(25)
프로그램 실행 속도를 개선하는 방법 (중복 연산 제거, 벡터 연산, 병렬 처리) 오늘은 제가 프로그램 실행 속도를 개선했던 경험에 기반하여 몇 가지 팁을 알려드리려 합니다. 학부연구생을 하면서 데이터 처리와 같은 업무를 맡았는데 어떤 프로그램의 실행 시간이 과도하게 오래 소요되는 문제가 있었습니다. 이를테면 어떤 변수를 구하는 프로그램의 경우 약 2주 정도의 시간이 소요되었습니다. 제가 프로그램을 짜는 방법은 대체적으로 어떤 파생 변수를 구하는 함수를 만들고 중첩 for문 안에 넣는 방식이었습니다. # 예시 python 코드 all_lst = [] for s in lst1: for r in lst1: for i in lst2: for j in lst2: example = foo(s, r, i, j) all_lst.append(example) 연구에 사용할 데이터 셋이 이전의 데이터 ..
SSH 연결 오류 간단 해결법 (ssh: connect to host github.com port 22: Connection refused) 깃허브의 레포지토리를 복제하기 위해서는 SSH 연결이 필요합니다. 그래서 로컬 저장소에 SSH 키를 생성하고 깃허브에 SSH키(public key)를 올려놓는 절차가 필요합니다. 하지만, 위의 절차를 모두 완료했음에도 위와 같은 SSH 연결 오류가 발생하였습니다. 정확히는 저의 경우에는 로컬 환경이 아닌 서버 환경에서 진행하였습니다. 그래서 아마 서버 환경에서 SSH 포트와의 연결을 차단시킨 것 같습니다. 해결 방법 먼저, 정말로 SSH 연결이 안되어서 발생한 오류인지를 더블 체크해봅니다. ssh -T git@github.com 위의 코드를 입력했을 때, SSH 연결이 refused 되었다고 뜨는 경우, 아래와 같은 방법을 사용해봅시다. 로컬 저장소에 생성된 .ssh 폴더에 들어간다 config라는 이름..
[Python, R] 사용자가 지정한 순서로 정렬하기 오늘은 파이썬과 R에서 사용자가 지정한 순서로 정렬하는 방법을 알아보겠습니다. 두 언어에서 위와 같은 방법을 실행하는 방법은 유사합니다. 먼저 데이터를 순서형 변수로 변환 후 정렬하면 됩니다. 코드를 보겠습니다. 파이썬 import pandas as pd df = pd.DataFrame({ 'Year': [2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2021, 2021, 2021, 2021, 2021, 2021, 2021, 2021, 2021], 'Country1': ["USA", "USA", "USA", "KOR", "KOR", "JPN", "KOR", "JPN", "JPN", "USA", "USA", "USA", "KOR", "KOR", "JPN",..
회귀 모수에 대한 검정: 유의성검정과 p-값 오늘은 회귀 모수에 대한 유의성검정과 p-값에 대해 알아보도록 하겠습니다. 유의성검정을 통해 회귀 모수가 통계적으로 유의한 지 검정할 수 있습니다. p-값은 유의 확률이라고도 부르며 가설검정에서 제1종 오류가 발생할 확률, 즉 귀무가설이 맞는데 기각할 확률을 의미합니다. 유의성검정 회귀 분석을 한 뒤 우선적으로 관심을 가져야 할 사항은 회귀 모수 추정값이 통계적으로 유의한 지입니다. 통계적으로 유의하다는 것은 회귀 분석 결과 구한 추정값이 실제로도 의미가 있는 값이고 우연에 의해 구해진 값이 아님을 나타냅니다. 회귀 모수 추정치에는 y절편 b1과 회귀 계수 b2가 있습니다. 보통 유의성검정 실행 시 회귀 계수 b2에 더 관심을 갖습니다. 회귀 계수 b2는 변수들 사이에 어떤 관계가 있는 지를 추정한 값이..
회귀 모수에 대한 검정: 가설검정 오늘은 회귀 모수에 대한 가설검정에 대해 알아보도록 하겠습니다. 가설검정을 통해 회귀 모수에 대한 가설을 설정하여 그 가설이 타당한지를 검정할 수 있습니다. 가설검정이란? 가설검정은 표본의 정보를 통해 모집단의 실제 값에 대한 가설을 검정하는 방법입니다. 예를 들면 "A회사에서의 경력이 1년 증가하면 소득이 100만원 이상 증가할 것이다"라는 가설을 검정하는 것입니다. 다만 유의할 점은 가설검정에서는 사실여부를 판단하고 싶은 가설이 틀릴 확률을 계산하여 그 확률이 적을 때, 그 가설을 채택한다는 것입니다. 오지선다형 문제에서 4개의 보기가 틀렸으니 나머지 1개의 보기가 정답일 것이라 추론하는 것과 같은 맥락입니다. 이전의 예시를 들면 "표본들을 살펴보았을때 A회사에서의 경력이 1년 증가할 때, 소득이 1..
회귀 모수 추정: 표준오차(se)를 통한 구간 추정 오늘은 단순 선형회귀의 회귀 모수를 구간추정 하는 방법을 알아보도록 하겠습니다. 구간추정이란 모수가 속할 수 있는 구간을 추정하는 방법입니다. 신뢰도를 통해 모수를 가질 수 있는 특정 확률의 구간을 추정할 수 있습니다. 회귀 모수에 대한 점 추정값을 구하는 과정은 이전 포스팅에 담겨있습니다. https://bigdata-doctrine.tistory.com/41 회귀 모수 추정: 최소제곱법(OLS) 활용 오늘은 단순 선형회귀 모형의 회귀모수를 추정하는 방법을 알아보도록 하겠습니다. 회귀 모수를 찾는 대표적인 방법으로는 최소제곱법(OLS)과 경사하강법(Gredient Descent)이 있습니다. 최소제곱법 bigdata-doctrine.tistory.com 회귀모수 추정량의 확률분포 회귀모수의 구간 추정값..
회귀 모수 추정: 최소제곱법(OLS) 활용 오늘은 단순 선형회귀 모형의 회귀모수를 추정하는 방법을 알아보도록 하겠습니다. 회귀 모수를 찾는 대표적인 방법으로는 최소제곱법(OLS)이 있습니다. 최소제곱법은 통계적인 모수 추정 방법으로 추정량(공식)을 사용하여 추정값을 찾아내는 방식입니다. 오늘은 최소제곱법(OLS)에 대해 살펴보도록 하겠습니다. 회귀 모수란? 관측값 쌍들이 단순 선형회귀의 가정을 모두 만족한다면 회귀함수의 모수를 추정해 볼 수 있습니다. 위의 회귀 함수에서 회귀 모수는 β1과 β2입니다. 회귀 모수를 추정한 값이 b1과 b2입니다. 관측값 쌍들에 의해 회귀 모수 추정값이 변하므로 b1과 b2는 확률변수입니다. 관측값 쌍들이 모두 정해지면 추정량(공식)을 통해 추정값을 구할 수 있습니다. 회귀 모수를 추정하는 과정은 각 관측쌍들을 대..
[Python] 가우스 소거법 알고리즘 오늘은 선형대수학에서의 가우스 소거법의 의미와 방법을 알아보고 알고리즘으로 구현해 보는 시간을 갖도록 하겠습니다. 가우스 소거법이란? 가우스 소거법이란 선형대수학에서 연립일차방정식의 해를 구하는 방법입니다. 예를 들어 다음의 식을 모두 만족하는 해를 구한다고 생각해 봅시다. x + y + z = 9 2x + 4y - 3z = 1 3x + 6y - 5z = 0 가우스 소거법은 행렬 연산을 이용해 연립일차방정식의 해를 구하는 대표적인 방법 중 하나입니다. 먼저 각 미지수의 계수와 상수를 넣은 확대계수행렬을 만듭니다. 이후 기본행연산을 통해 행사다리꼴행렬로 만들어줍니다. 기본행연산이란 행렬에 다음과 같은 연산을 적용하는 것을 의미합니다. 두 행을 교환한다. 한 행에 상수배를 곱한다. 한 행에 상수배를 곱하여 ..

반응형