728x90 반응형 SMALL 머신러닝38 [Data Science] Random UnderSampling Random UnderSampling 무작위 언더샘플링에는 다수 클래스에서 무작위로 예제를 선택하고 훈련 데이터 세트에서 삭제하는 작업이 포함된다. 무작위 언더샘플링에서는 보다 균형 잡힌 분포에 도달할 때까지 다수의 클래스 인스턴스가 무작위로 삭제된다. RandomUnderSampler sampling_strategy 데이터 세트를 샘플링하기 위한 샘플링 정보이다. float인 경우, 리샘플링 후 다수 클래스의 샘플 수에 대한 소수 클래스의 샘플 수의 원하는 비율에 해당한다. 따라서, 비율은 어디가 소수 클래스의 샘플 수이고 가 리샘플링 후 다수 클래스의 샘플 수인지로 표현된다. sampling_strategy는 다음과 같은 방법으로 사용할 수 있다. 'majority' : 다수 클래스만 다시 샘플링 '.. 2023. 10. 4. [FL] 수평적 연합 학습 (Horizontal Federated Learning) 수평적 연합 학습 (Horizontal Federated Learning) HFL, 일명 샘플 분할 연합 학습 또는 예제 분할 연합 학습은 서로 다른 사이트의 데이터 세트가 겹치는 기능 공간을 공유하지만 샘플 공간이 다른 시나리오에 적용될 수 있다. 이는 테이블 형식 뷰 내에서 데이터가 수평으로 분할되는 상황과 유사하다. 실제로 "수평"이라는 단어는 "수평 파티션"이라는 용어에서 유래했다. 이는 데이터베이스의 전통적인 테이블 형식 보기의 맥락에서 널리 사용된다 (ex: 테이블의 행은 서로 다른 그룹으로 수평으로 분할되고 각 행에는 완전한 데이터와 기능이 포함됨). 예를 들어, 두 지역 은행은 해당 지역과 매우 다른 사용자 그룹을 가질 수 있으며 사용자의 교차 집합은 매우 작다. 그러나 그들의 비즈니스.. 2023. 9. 26. [Machine Learning] 클래스 가중치 (Class Weight) 클래스 가중치 (Class Weight) from sklearn.model_selection import GridSearchCV from sklearn.ensemble import RandomForestClassifier # 분류기와 파라미터 그리드 정의 classifier = RandomForestClassifier() param_grid = { 'class_weight': ['balanced', None], 'max_depth': [3, 5, 10], 'n_estimators': [80, 100, 150] } # GridSearchCV를 사용하여 최적의 파라미터 찾기 grid_search = GridSearchCV(classifier, param_grid, cv=5) grid_search.fit(X_.. 2023. 9. 22. 그룹화, 정렬 및 섞기 (2) Sorting a Data Set 모델을 학습하기 전에, 훈련 및 전처리 중에 데이터 세트를 셔플하는 것이 항상 좋지만, 데이터 세트를 정렬할 수도 있다. 데이터 세트를 정렬하면 하나 이상의 열에 대해 오름차순 또는 내림차순으로 행을 정렬할 수 있다. import os import pandas as pd import numpy as np np.random.seed(42) df = pd.read_csv('auto-mpg.csv', na_values = ['NA', '?']) df = df.sort_values(by = 'name', ascending = True) print(f"The first car is : {df['name'].iloc[0]}" ) pd.set_option('display.max_co.. 2023. 7. 27. 그룹화, 정렬 및 섞기 (1) Grouping, Sorting, and Shuffling 전체 판다스 데이터 프레임에 영향을 미치는 몇 가지 방법이 있다. 이러한 기술을 통해 데이터 세트를 그룹화, 정렬 및 셔플할 수 있다. 이는 모두 데이터 전처리 및 평가를 위한 필수 작업이다. Shuffling a Dataset 데이터 세트의 행 순서대로 숨어 있는 정보가 있을 수 있다. 시계열 데이터를 다루고 있지 않는 한 행의 순서는 유의하지 않아야 한다. 그러나 순서의 데이터를 가지고 있는 것이 문제가 될 수 있다. 데이터를 훈 및 검증으로 분할하는 경우를 고려해야 한다. 데이터를 k겹 교차 검증으로 분리하는 경우에도 문제가 발생할 수 있다. 이러한 문제 때문에 데이터 세트를 셔플하는 것이 중요하다. 종종 셔플과 재인덱싱이 함께 수행된다. .. 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. 자동 기계 학습 (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. [Deep Learning] Perplexity Perplexity 정보 이론에서 Perplexity는 확률 분포 또는 확률 모델이 샘플을 얼마나 잘 예측하는지를 측정하는 것이다. 그리고 확률 모델을 비교하는 데 사용할 수 있다. Perplexity가 낮다는 것은 확률 분포가 샘플을 예측하는 데 능숙하다는 것을 나타낸다. ▪ 언어 모델에서 Perplexity은 모델의 성능을 측정하는 데 사용▪ 외재적 평가 (extirnsic evaluation) : 실제 작업으로 입력에 대한 결과를 확인하는 평가 방식 ▪ 내재적 평가 (intrinsic evaluation) : 모델 내에서 자신의 성능을 수치화하여 결과를 내놓는 평가 방식▪ Perplexity는 일반적으로 단어에서 사용 범주 분류에서 교차 엔트로피는 경계 엔트로피 기반 라벨의 합산이다. Chain .. 2023. 6. 27. 결측치 (Missing Values) / 특이치 (Outliers) 결측치 (Missing Values) 결측치는 기계 학습의 현실이다. 모든 데이터 행에는 모든 열에 대한 값이 있는 것이 이상적이다. 하지만, 이것은 거의 그렇지 않다. 일반적인 방법은 결측값을 해당 열의 중앙값으로 바꾸는 것이다. 이 프로그램은 중앙값 (median)을 계산한다. csv 파일을 다운받는다. import os import pandas as pd df = pd.read_csv('auto-mpg.csv', na_values = ['NA', '?']) print(f"horsepower has na? {pd.isnull(df['horsepower']).values.any()}") print("Filling missing values ...") med = df['horsepower'].median.. 2023. 5. 1. [Machine Learning] K겹 교차 검증 (K-fold cross validation) K겹 교차 검증 (K-fold cross validation) k-fold cross-validation (k-겹 교차 검증)은 가장 널리 사용되는 교차 검증 방법의 하나로, 데이터를 k개로 분할한 뒤, k-1개를 학습용 데이터 세트로, 1개를 평가용 데이터 세트로 사용하는데, 이 방법을 k번 반복하여 k개의 성능 지표를 얻어내는 방법이다. k를 4로 설정하는 경우, 데이터를 폴드 (fold)라고 하는 거의 비슷한 크기의 부분 집합 네 개로 나눈다. 그 다음 일련의 모델을 만든다. 첫 번째 모델은 첫 번째 폴드를 평가용 데이터셋으로 사용하고, 두 번째부터 네 번째까지의 폴드 (3개의 폴드)를 학습용 데이터셋으로 사용한다. 그 다음 모델을 두 번째 폴드를 평가용, 1, 3, 4 폴드를 학습용 데이터셋으로 .. 2023. 4. 27. 이전 1 2 3 4 다음 728x90 반응형 LIST