Deep Binary Classification
1. 데이터 준비
import numpy as np
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
from copy import deepcopy
from sklearn.preprocessing import StandardScaler
from sklearn.datasets import load_breast_cancer
cancer = load_breast_cancer()
df = pd.DataFrame(cancer.data, columns = cancer.feature_names)
df["class"] = cancer.target
2. 데이터셋 분할
import torch
import torch.nn as nn
import torch.nn.functional as F
import torch.optim as optim
data = torch.from_numpy(df.values).float()
x = data[:,:-1]
y= data[:, -1:]
print(x.shape, y.shape)
3. 학습/검증/테스트 데이터셋으로 나누기
ratios = [.6,.2,.2]
train_cnt = int(data.size(0)*ratios[0])
val_cnt = int(data.size(0)*ratios[1])
test_cnt = data.size(0) - train_cnt - val_cnt
cnts = [train_cnt, val_cnt, test_cnt]
print(cnts)
4. 랜덤하게 섞기
indices = torch.randperm(data.size(0))
x = torch.index_select(x, dim = 0, index = indices)
y = torch.index_select(y, dim = 0, index = indices)
x = x.split(cnts, dim = 0) #
y = y.split(cnts, dim = 0) #
for x_i, y_i in zip(x, y) :
print(x_i.size(), y_i.size())
5. 학습데이터 기준 표준 스케일링 후 해당 스케일러를 학습/검증/테스트 데이터셋에 똑같이 적용