분류 전체보기

    Tensorflow - 이진 분류 문제의 인공신경망(ANN)

    위 데이터를 사용해 금융상품 갱신 여부를 예측하는 ANN을 만들어보자. import numpy as np import matplotlib.pyplot as plt import pandas as pd import seaborn as sns df = pd.read_csv('Churn_Modelling.csv') 1. nan이 있는지 확인 df.isna().sum() 2. 학습데이터 X와 정답데이터 y로 분리 X = df.loc[: , 'CreditScore':'EstimatedSalary'] y = df['Exited'] 3. 범주형 문자열 데이터를 숫자로 바꿔준다. X['Gender'].unique() X['Geography'].unique() from sklearn.preprocessing import ..

    원핫인코딩 할 시 주의할 점 - Dummy Variable Trap

    어떤 대상의 성질에 따라 0 또는 1로 나타내는 변수를 더미변수 또는 가변수라 한다.(One-Hot encoding) 모든 카테고리에 해당하는 더미변수를 포함하여 회귀분석을 진행할 경우, 독립변수이지만 변수들이 상관성이 있어서, 한 변수가 다른 변수들의 도움으로 쉽게 예측될 수 있다. 예를 들어, 아래 이미지에서 원핫 인코딩한 세 가지 컬럼 중 두 가지 컬럼의 값을 알면 나머지 하나의 값을 예상할 수 있다. 통계학적으로 이런 경우 다중공선성(multicollinearity) 문제가 발생해 회귀분석에 어려움이 생긴다고 한다. 이를 더미변수 함정(dummy variable trap)이라 한다. 따라서, dummy variable trap에 빠지지 않기 위해 데이터 전처리를 할 때 k개의 카테고리가 있다면, ..

    Google Colab - 드라이브 연결하기(마운트)

    Google Colab - Drive 마운트 구글코랩에서는 구글드라이브를 마운트해서 드라이브에 있는 파일들을 가져올 수 있다. 그 방법을 알아보자. 1. 박스친 부분을 클릭한다. 2. 그러면 자동으로 이런 셀이 생기는데 이 코드를 실행한다. 3. 구글드라이브에 연결을 선택하고 구글 로그인을 한다. 4. 허용하면 마운트 완료 5. 드라이브 폴더가 생겼다. 구글드라이브에 있는 파일들을 확인할 수 있다. 파이썬에서 디렉토리 경로 이동하는 방법 import os os.chdir('/content/drive/MyDrive/Colab Notebooks/ml_plus/data') pd.read_csv('Churn_Modelling.csv')

    Back propagation(오차 역전파)

    Back propagation 출력층에서 제시한 값이 실제 원하는 값에 가까워지도록 학습하기 위해 사용하는 기법 동일 입력층에 대해 원하는 값이 출력되도록 개개의 가중치를 조정하는 방법으로 사용 출력층에서 입력층까지 오차를 전달하여 가중치를 수정해나가는 알고리즘 오차를 구하여 오차가 최소가 될 때까지 가중치의 값을 변경 오차 : 데이터에 존재하는 목표 값 - 심층 신경망이 계산한 값

    Gradient Descent(경사하강법), Optimizer 종류

    인공신경망에서 학습을 통해 가중치 W의 값을 구하는 것이 목표다. 오차를 구한다 - 학습 계산을 위해, 가중치 초기값은 랜덤 설정한다. 오차가 최소가 된다는 의미는? - 정확도가 높다, 학습이 잘 되었다, 예측이나 분류가 잘 된다. 오차가 최소가 될 때 까지 가중치 값을 구한다. - 입력 데이터를 계속 넣어서 가중치를 업데이트 해 나간다. 경사하강법 함수의 기울기를 구하고 경사의 반대 방향으로 계속 이동시켜 극값에 이를때까지 반복 오차/손실 함수(error/loss function)를 이용하여 기울기의 크기를 줄임 학습률(Learning rate) 아래 그림에서 보다시피 학습률이 너무 낮으면 학습이 오래 걸리고 학습률이 너무 높으면 이상한 방향으로 튀어 나가 최소값을 못 찾는다. 다양한 옵티마이저

    인공신경망(ANN) 기초

    1. 인공 신경망 (Artificial Neural Network, ANN) 생물학의 신경망(동물의 중추신경계 중 특히 뇌)에서 영감을 얻은 통계학적 학습 알고리즘 시냅스의 결합으로 네트워크를 형성한 인공 뉴런(노드)이 학습을 통해 시냅스의 결합 세기를 변화시켜 문제 해결 능력을 가지는 모델 2. 인공 신경망의 활성 함수 (Activation Function) 인공 신경망에서 입력을 변환하는 함수 대표적으로 ReLU, 시그모이드 함수 등 3. ANN Layers 인풋 > 결과 > 인풋 > 결과 ... 를 통해, 최종 출력까지 간다. (forward propagation) 각 노드 연결을 나타내는 숫자(가중치 w) 값을 구하는 것이 핵심 여러 개의 은닉층으로 이 층이 깊어진 것이 심층신경망(Deep Neu..

    특정 프로젝트에 있는 파이썬 패키지만 requirements.txt 로 만들기 - pipreqs

    개발환경이 변경 되었을때 일일이 패키지를 설치해야 하는데, 이때 일일이 설치하지 않고 현재 사용하는 패키지만 기록해놓을 수 있도록 사용되는 명령어는 pip freeze 이다. pip freeze > requirements.txt 하지만 해당 명령어는 시스템 내의 모든 패키지를 requirements.txt 로 만들어 준다. 내가 원하는 것은 해당 프로젝트에서 사용하는 패키지만 requirements.txt 로 만드는 것이 필요하였다. pipreqs 를 사용하면 해당 프로젝트에서 사용하는 패키지만 requirement.txt 로 만들어 준다. pip install pipreqs pipreqs 경로 Windows 환경에서는 UnicodeDecodeError 에러가 발생할 수 있으므로 아래 명령어를 실행한다...

    git pull 에러 - error: Your local changes to the following files would be overwritten by merge

    간혹 여러 소스를 관리하다보면 위와 같이 git pull 을 사용할때 에러가 발생할 수 있다. 원인은 pull 로 가져오려는 소스와 현재 저장된 코드와 재대로 처리가 되지 않아서 나는 에러다. 이때 간단한 방법은 git stash 을 통하여 처리가 가능하다. stash 는 현재 디렉토리의 파일을 임시로 백업하고 깨끗한 상태로 되돌린다.