728x90

AI모델/AI기술방법론 24

[git] 깃허브 사용법

자료를 깃허브에 업로드하여 관리해보고자 사용해보았으며 업무 특성상 자주 사용할 것 같진 않지만 나중에 다시 참고하기 위하여 정리해 보았습니다. 1. Git(깃) 이란? 로컬에서 관리되는 버전 관리 시스템으로 원격저장소(Remote Repository)에 영구적인 백업과 다양한 협업이 가능하도록 지원하는 기능을 가리킨다. git의 대표적인 서비스를 지원하는 서비스로 github와 gitlab이 있다. git hub vs git lab 클라우드 방식으로 관리되는 무로 시스템으로 대신 자신의 소스 코드가 오픈되어 수많은 사람들이 보며 활용 가능하고, 서로 다른 위치에 있는 개발자와 함께 작업할 수 있도록 하여 프로그래밍을 더욱 확산시켜주는 환경으로 자리하고 있다. 깃랩은 깃허브와 가장 큰 차이점은 데브옵스 요..

연산자 종류와 의미

1. 기본 연산자 종류 연산자 의미 예제 + 덧셈 10+4 = 14 - 뺄셈 10-4 = 6 * 곱셈 10*4 = 40 / 나눗셈 10/4 = 2.5 ** 거듭제곱 10**4 = 10000 // 몫 10//4 = 2 % 나머지 10%4 = 2 2. 비교 연산자 종류 대소 관계와 상등 관계를 나타내는 연산자로 True, False와 같은 논리값으로 출력합니다. 연산자 의미 예제 == 양변이 같다 10==4 = False != 양변이 같지 않다 10!=4 = True =4 = True 3. 복합 대입 연산자 종류 복합 연산자는 연산과 할당을 합쳐 놓은 것으로 간결하게 사용이 가능합니다. x = 4, y=3인 경우 각 연산자의 출력값을 확인 해 보겠습니다. 연산자 의미 예제 x+=y x = x+y x +=3 ..

TF-IDF(Term Frequency - Inverse Document Frequency)

Fastcampus 추천시스템 구현하는 방법을 공부하면서 컨텐츠기반 추천알고리즘의 대표적인 TF-IDF(Term Frequency - Inverse Document Frequency) 추천알고리즘에 대해 정리해보도록 하겠습니다. TF-IDF는 단어의 빈도와 문서의 빈도에 특정 식을 취하여 DTM(문서 단어 행렬) 내의 각 단어들마다 중요한 정도를 가중치로 주는 방법입니다. 우선 DTM을 만든 후, TF-IDF 가중치를 부여합니다. 1. Vector Representation m개의 review 문서가 있다고 가정 review 문서 전체에 등장하는 단어의 수는 n개 각 항목은 해당 단어가 review에 등장하는 빈도수를 의미 (Review 1, Word0) = 2 → Review 1에 Word 0은 2번 ..

나이브 베이즈(Naive Bayes)

Fastcampus 추천시스템 구현하는 방법을 공부하면서 컨텐츠기반 추천알고리즘의 대표적인 나이브 베이즈 추천알고리즘에 대해 정리해보도록 하겠습니다. 1. 시작하기 전에 1) 확률(Probability) 사건(Event) A가 발생할 가능성 $P(A) = \frac{사건A의 경우의 수}{전체경우의수}$ 2) 조건부 확률(Cpnditional Probability) ① 사건B가 발생했을 때, 사건A가 발생할 확률 $P(A|B) = \frac{P(A\cap B)}{P(B)}$ ② 사건A가 발생했을 때, 사건B가 발생할 확률 $P(B|A) = \frac{P(A\cap B)}{P(A)}$ ③ $P(A\cap B) = P(A|B)P(B) = P(B|A)P(A)$ 사건A와 사건B가 독립이면, $P(A\cap B) ..

tqdm을 사용하여 처리 진행상황 확인하는 방법(for문, apply문)

데이터 전처리를 하다보면 반복작업을 하는 경우가 생기고 데이터 양이 많으면 어느 정도 진행되었는지, 언제 끝나는지 모르는 경우도 생깁니다. 그럴때 tqdm를 사용하여 현재 진행상황을 확인할 수 있습니다. 먼저 tqdm 패키지를 conda install tqdm으로 설치하고, 불러옵니다. from tqdm import tqdm 1. for문 적용 for문에 적용하는 경우 in 우측 반복할 변수에 씌워주면 됩니다. for x in tqdm(range(10000000)): x2 = x^2 2. apply문 적용 apply는 주로 pandas row를 처리하는 경우 사용하는데 이때는 tqdm.pandas()를 선언해준 후 progress_apply 함수를 이용해야합니다. tqdm.pandas() x['colum..

데이터 자료 형태에 따른 상관분석 방법

1. 상관분석(Correlation Analysis) 두 확률 변수 간에 어떤 선형적 관계를 가지는지 분석하는 기법으로 상관계수를 이용하여 측정합니다. 하지만 두 변수간에 선형적인 관계가 있다고 해서 인과관계까지 있다는 것은 아닙니다. 2. 상관계수(Correlation Coefficient) 상관관계를 분석하는데 있어서 가장 직관적인 방법은 산점도를 그려 직선의 형태와 가까운지 확인하는 것입니다. 상관계수는 비교하고자 하는 두 확률 변수 X와 Y가 함께 변하는 정도를 의미하며 $r$ 이라고 표현합니다. X가 증가할때 Y도 같은 방향으로 증가하면 상관계수($r$)는 +1, 반대 방향으로 증가하면 $r$ = -1입니다. 아래 가운데 그림처럼 $r$ = 0인 경우는 X와 Y가 상관관계가 없다는 뜻이 아니라 ..

[패턴] Timeseries 데이터에서 유사한 패턴 index 찾기

시계열 데이터에서 정상 패턴 구간만 추출 하기 위해 특정 패턴과 유사한 구간의 index를 찾는 방법을 알아보고자 합니다. 아래 그림은 타겟 라벨 값이 정상 구간의 데이터이나 후반부에 일정한 연속값이 들어오고 있는 등 정상적인 형태가 아닌 데이터가 들어오고 있는 것을 알 수 있습니다. 정상적인 패턴의 형태만 학습하기 위해서 정상 패턴을 정의하고 해당하는 데이터만 추출하고자 합니다. 1. 기준이 되는 특정 패턴 설정 base = tmp[360:550] base = (base - base.min()) / (base.max() - base.min()) fig = plt.figure(figsize=(4, 4)) base.plot() plt.show() 위의 그림과 같은 형태를 기준 패턴(base)으로 잡고 다른..

[scikit-learn] 다항회귀 PolynomialFeatures

데이터의 분포가 곡선으로 나타나는 경우 일반적으로 선형회귀모형을 사용할 수 없으나 다항 회귀 모형을 사용할 수 있습니다. 다항 회귀는 데이터 각 특성의 제곱을 추가하여 확장된 특성을 포함하여 선형 회귀 모델을 훈련 시키는 방법입니다. 일반적인 Linear Regression은 $y = ax+b$ 와 같이 표현할 수 있는데 아래 샘플 데이터와 같이 곡선 형태의 데이터를 학습하게 된다면 직선의 모델이 생성되어 오차가 커지게 될 것입니다. 특성의 제곱을 추가하는 다항회귀는 $y = w_0+w_1x+w_2x^2+…+w_nx^n$ 과 같이 표현할 수 있으며 선형 회귀 모델보다 오차를 줄일 수 있습니다. 기존 데이터의 특성을 제곱하는 방법으로 sklearn 라이브러리 preprocessing 패키지의 Polynom..

[R과 Python 비교] 데이터 프레임 병합하는 다양한 방법

데이터 분석 혹은 지도학습 모델을 학습하기 위해서는 반드시 하나의 통합된 데이터셋이 필요합니다. 많은 경우 데이터는 두 개 이상으로 나뉘어져 있고 이들을 병합해야하는 전처리를 수행해야합니다. 센서, 로그, 거래 데이터 등과 같이 크기가 매우 큰 데이터는 시간과 ID 등에 따라 분할되어 저장되어 있습니다. 통합해야하는 데이터가 많은 경우 빈 데이터 프레임을 생성하는데 반복문을 사용하여 불러온 데이터를 함수를 이용하면 효율적으로 통합할 수 있습니다. 오늘은 데이터를 병합하는 방법에 대해서 R과 python 명령어를 비교해보도록 하겠습니다. 1. R코드 예제로 사용할 데이터프레임을 생성해보겠습니다. CLASS

[scikit-learn] PCA 기능

PCA(Principal Component Aanalysis)를 공부하면서 machine learning 페이지를 참고하여 정리한 내용입니다. 주성분 분석(PCA)은 데이터의 여러 feature를 주성분(PC)이라고 하는 대표적인 feature로 차원을 축소하는 알고리즘입니다. 이 방법은 데이터의 많은 정보를 축약하여 효과적으로 높은 차원의 데이터값의 변화를 설명할 수 있습니다. 이 튜토리얼에서는 먼저 Scikit-learn을 사용하여 PCA를 구현한 다음 코드를 사용하여 단계별 구현과 PCA 알고리즘 이면의 완전한 개념을 이해하기 쉬운 방법으로 설명하고 있습니다. 1. scikit-learn을 사용하여 PCA 구축 scikit-learn 패키지의 decomposition 모듈은 데이터를 principa..

728x90
loading