본문 바로가기
728x90
반응형
SMALL

전체 글1632

원핫 인코딩 (One-Hot-Encoding) Encoding Categorical Values as Dummies 범주형 값을 부호화하는 전통적인 방법은 더미 변수로 만드는 것이다. 이 기법은 one-hot-encoding이라고도 한다. csv를 다운 받는다. import pandas as pd df = pd.read_csv('jh-simple-dataset.csv', na_values = ['NA', '?']) pd.set_option('display.max_columns', 7) pd.set_option('display.max_rows', 5) display(df) area 열은 숫자가 아니므로 원핫 인코딩으로 인코딩해야 한다. 영역 수와 개별 값을 표시한다. 이 경우 영역 범주형 변수에는 4개의 값만 있다. areas = list(df['ar.. 2023. 7. 27.
범주형 (Categorical) 및 연속형 (Continuous) 값 Categorical and Continuous Values 신경망은 고정된 수의 열이 입력되어야 한다. 이 입력 형식은 스프레드시트 데이터와 매우 유사하다. 신경망이 데이터로부터 학습할 수 있도록 데이터를 표현하는 것이 필수적이다. 데이터를 전처리하는 구체적인 방법을 위해 정의된 4가지 기본 유형의 데이터를 고려하는 것이 중요하다. 통계학자들은 일반적으로 다음과 같은 측정 수준을 말한다. 문자 데이터 (문자열) Nominal : 개별 이산 항목, 순서가 없다. 예를 들어, 색상, 우편 번호 및 모양 Ordinal : 개별 고유 항목에는 순서가 내포되어 있다. 예를 들어, 등급 수준, 직책, 스타벅스 커피 사이즈 (tall, venti, grande) 수치 데이터 (Numeric Data) 간격 (Int.. 2023. 7. 27.
데이터프레임 저장 Saving a Dataframe to CSV import os import numpy as np import pandas as pd path = "." df = pd.read_csv('auto-mpg.csv', na_values = ['NA', '?']) filename_write = os.path.join(path, "auto−mpg−shuffle.csv") df = df.reindex(np.random.permutation(df.index)) # Specify index = false to not write row numbers df.to_csv(filename_write, index = False) Saving a Dataframe to Pickle 다양한 소프트웨어 프로그램은 CSV로 저장된 텍.. 2023. 7. 27.
데이터프레임 전처리 Training and Validation 기계 학습 모델이 이전에 본 적이 없는 값을 예측하는 능력을 기반으로 기계 학습 모델을 평가해야 한다. 이 때문에 종종 훈련 데이터를 유효성 검증 및 훈련 세트로 나눈다. 기계 학습 모델은 훈련 데이터로부터 학습하지만 궁극적으로는 유효성 검사 데이터를 기반으로 평가된다. • 훈련 데이터 : (표본 데이터 내) 신경망이 훈련하던 데이터 • 검증 데이터 : (표본 데이터 외) 기계 학습 모델이 훈련 데이터에 fit 후 평가되는 데이터 훈련 및 유효성 검증 데이터를 처리하는 데는 두 가지 효과적인 방법이 있다. • 훈련 및 검증 데이터 분할 : 프로그램은 훈련 및 검증 (홀드 아웃) 세트 간의 비율에 따라 데이터를 분할한다. 일반적인 비율은 80%의 훈련 및 20%의.. 2023. 7. 27.
Dropping / Concatenating Dropping Fields 값이 없는 필드를 신경망에 삭제해야 한다. 다음 코드는 MPG 데이터 세트에서 이름 열을 제거한다. import os import pandas as pd df = pd.read_csv('auto-mpg.csv', na_values = ['NA', '?']) print(f"Before drop : {list(df.columns)}") df.drop('name', 1, inplace=True) print(f"After drop : {list(df.columns)}") Before drop : ['mpg', 'cylinders', 'displacement', 'horsepower', 'weight', 'acceleration', 'year', 'origin', 'name'] Aft.. 2023. 7. 27.
[FastAPI] 객체 탐지하기 FastAPI 서버 구축 GET 요청을 수락하고 localhost:8000에서 사용자가 이미지를 업로드한다. 그 다음 yolo 모델을 선택하고 POST를 통해 해당 데이터를 제출한다. POST 요청을 수락하고 입력 이미지에서 yolo 모델을 실행하고 JSON 출력을 반환한다. from fastapi import FastAPI, Request, Form, File, UploadFile from fastapi.responses import HTMLResponse from PIL import Image from io import BytesIO import torch app = FastAPI() @app.get("/") def read_root(): return "FastAPI" @app.post("/predi.. 2023. 7. 25.
자동 기계 학습 (AutoML) 자동 기계 학습 (AutoML) 자동 기계 학습 (Automatic Machine Learning)은 기계 학습을 사용하여 자동화를 시도한다. 데이터는 원시 형태로 AutoML 애플리케이션에 전달되고 모델이 자동으로 생성된다. AutoML 어플리케이션 • AutoKeras • Auto-SKLearn • Auto PyTorch • TPOT • Google Cloud AutoML Tutorial • Azure AutoML AutoKeras AutoKeras는 Keras 기반의 AutoML 시스템이다. AutoKeras의 목표는 모든 사람이 기계 학습에 접근할 수 있도록 하는 것이다. import os import pandas as pd URL = "https://github.com/jeffheaton/dat.. 2023. 7. 24.
정규화 기술 벤치마킹 (2) (분류) Bootstrapping for Classification 분류 부트스트래핑은 StratifiedShuffleSplit 클래스를 사용하여 분할을 수행한다. 이 클래스는 표본 추출이 비율에 영향을 미치지 않도록 클래스가 균형을 이루므로 교차 검증을 위한 StratifiedKFold와 유사하다. import pandas as pd import os import numpy as np import time import statistics from sklearn import metrics from sklearn.model_selection import StratifiedKFold from tensorflow.keras.models import Sequential from tensorflow.keras.layers.. 2023. 7. 24.
정규화 기술 벤치마킹 (1) (회귀) Benchmarking Regularization Techniques 하이퍼 파라미터 값을 각각 조정하면 신경망에서 얻은 점수에 영향을 미칠 수 있다. 하이퍼 파라미터 중 일부는 다음과 같다. • 신경망의 레이어 수 • 각 레이어에서 사용할 뉴런 수 • 각 레이어에서 사용할 활성화 기능 • 각 레이어의 드롭아웃 비율 • 각 레이어의 L1 및 L2 값 이 하이퍼 파라미터를 사용하기 위해 여러 설정을 사용하여 신경망을 훈련해야 한다. 그러나 신경망은 여러 번 훈련할 때 종종 다소 다른 결과를 낸다는 것이다. 이것은 신경망이 무작위 가중치로 시작하기 때문이다. 이 때문에 한 세트의 하이퍼 파라미터가 실제로 다른 세트보다 더 낫다는 것을 보장하기 위해 신경망 시간을 맞추고 평가해야 한다. 부트스트래핑은 두 개의.. 2023. 7. 24.
과적합을 줄이기 위한 드롭아웃 Dropout to Decrease Overfitting Hinton, Srivastava, Krizhevsky, Sutskever, Salakhutdinov (2012)는 드롭아웃 정규화 알고리즘을 도입했다. 드롭아웃은 L1과 L2와는 다르게 작용하지만 과적합 방지라는 동일한 목표를 달성한다. 하지만, 이 알고리즘은 실제로 뉴런과 연결을 제거함으로써 이 작업을 수행한다. 적어도 L1, L2와 달리 일시적으로 가중치 페널티가 추가되지 않는다. 드롭아웃은 직접적으로 작은 체중을 훈련시키는 것을 추구하지 않는다. 드롭아웃은 훈련의 일부 동안 신경망의 숨겨진 뉴런을 사용할 수 없게 함으로써 작동한다. 신경망의 일부를 떨어뜨리면 나머지 부분은 떨어진 뉴런이 없어도 좋은 점수를 얻을 수 있도록 훈련된다. 이 기술.. 2023. 7. 24.
728x90
반응형
LIST