엔드 투 엔드 Machine Learning
Joshua Stapleton
Machine Learning Engineer
특성 생성
기법
이점

from sklearn.model_selection import train_test_split
from sklearn.preprocessing import Normalizer
# 데이터 분할
X_train, X_test = train_test_split(df, test_size=0.2, random_state=42)
# 정규화 객체 생성, 학습 데이터로 적합 후 변환, 테스트 세트 변환
norm = Normalizer()
X_train_norm = norm.fit_transform(X_train)
X_test_norm = norm.transform(X_test)
from sklearn.preprocessing import StandardScaler
# 데이터 분할
X_train, X_test = train_test_split(df, test_size=0.2, random_state=42)
# 스케일러 생성 후 학습 데이터에 적합해 표준화
sc = StandardScaler()
X_train_stzd = sc.fit_transform(X_train)
# 테스트 데이터는 변환만
X_test_stzd = sc.transform(X_test)


from sklearn.ensemble import RandomForestClassifier from sklearn.feature_selection import SelectFromModel from sklearn.model_selection import train_test_split# 데이터 누수를 피하려면 먼저 학습/테스트로 분할 X_train, X_test, y_train, y_test = train_test_split( heart_disease_df_X, heart_disease_df_y, test_size=0.2, random_state=42)
# 랜덤 포레스트 모델 정의 및 학습 rf = RandomForestClassifier(n_jobs=-1, class_weight='balanced', max_depth=5) rf.fit(X_train, y_train)# 특성 선택 정의 및 실행 model = SelectFromModel(rf, prefit=True) features_bool = model.get_support() features = heart_disease_df.columns[features_bool]
엔드 투 엔드 Machine Learning