728x90

머신러닝&딥러닝/Python 10

연산자 종류와 의미

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 ..

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..

[패턴] 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..

[Jupyter notebook] 아나콘다 가상 환경 생성 및 활용

파이썬을 사용하면서 여러 패키지들을 설치하다보면 어느 순간 에러가 뜨는 경우가 생기게 됩니다. 또 다양한 프로젝트들을 진행함에 따라 사용하는 패키지들의 버전이 달라지게 되는데 이때 서로 의존하는 버전이 달라지면서 충돌하는 경우가 종종 발생합니다. 그런 경우 패키지를 삭제하고 재설치하는 경우가 생기게 되는데 이런 버전 문제를 막기 위해 가상환경을 사용하게 됩니다. python과 anaconda를 설치하고 Anaconda Prompt를 키면 아래와 같은 첫 화면을 보시게 될겁니다. 가장 기본은 base로 가상환경을 설정해서 attach하게 되면 해당 부분이 변경되게 됩니다. 1. 아나콘다 가상 환경 생성 conda create -n XAI python=3.6 anaconda 설치하고자 하는 python 버전..

[matplotlib] Line chart 기본 옵션

본 포스팅은 Python line chart를 활용하여 주로 사용했던 방법과 옵션을 정리하였습니다. line chart는 아래 두 줄 만으로도 차트가 그려집니다. import matplotlib.pyplot as plt import numpy as np x = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]) y = np.array([3, 3, 5, 6, 7, 11, 22, 21, 3, 5]) plt.plot(x, y) plt.show() 1. 단일 차트 plt.figure(figsize=(20, 4)) plt.plot(x, y, label = 'y') plt.xlabel("x") plt.ylabel("y") plt.title("example") plt.legend() plt.s..

[GitHub] 내 코드 관리하기!

그동안 데이터 분석을 하면서 사용했던 코드를 따로 외장하드에 저장하곤 했었는데 github를 통해 서로 소스코드를 공유하는 것을 보고 저도 요즘 시대에 맞게 github 계정을 만들었습니다 ^0^ (뒷북........) 개념을 잘 모르다보니 소스코드 업로드 하는게 왜이리 힘든지.... 그래서 제가 성공한 방법을 공유하려고 합니다!! 1. Git 다운로드 https://git-scm.com/downloads Git - Downloads Downloads Mac OS X Windows Linux/Unix Older releases are available and the Git source repository is on GitHub. GUI Clients Git comes with built-in GUI to..

[R과 Python 비교] 범주형변수 처리(OneHotEncoding)

데이터는 크게 수치형 데이터와 범주형 데이터로 나뉜다. 오늘은 데이터가 범주형일 경우 분석을 위해 처리해야 하는 방법에 대해 정리해보도록 한다. 볌주형 데이터의 경우 일반적으로 회귀분석과 같은 연속형 변수를 다루는 분석기법에서는 사용할 수 없기 때문에 형태를 변환하여 가능하도록 만들어 줘야한다. R에서 제공하는 iris 데이터로 예를 들어보자. 여기서 Species 변수를 범주형 데이터라고 하고, 분석을 위해 'setosa', 'versicolor', 'virginica'을 수치형 데이터로 변환하여 처리할 것이다. 이렇게 수치로 변환한 데이터를 더미변수라고 한다. R과 Python을 통해 범주형 변수를 수치형 데이터로 변환하는 방법은 아래와 같다. R 코드 1. transform 함수 n개의 범주가 있을..

728x90
loading