import numpy as np import pandas as pd from sklearn.model_selection import train_test_split from sklearn.preprocessing import LabelEncoder from keras.models import Sequential from keras.layers import Dense from keras.utils import to_categorical
# 가상의 데이터 생성 data = { 'feature_1': np.random.rand(1000), 'feature_2': np.random.rand(1000), 'label': np.random.choice(['A', 'B', 'C'], 1000) } df = pd.DataFrame(data)
# 레이블 인코딩 label_encoder = LabelEncoder() df['label_encoded'] = label_encoder.fit_transform(df['label'])
# 특성과 레이블 분리 X = df[['feature_1', 'feature_2']].values y = df['label_encoded'].values
# 레이블을 원-핫 인코딩 y_categorical = to_categorical(y)
# 학습 데이터와 테스트 데이터 분리 X_train, X_test, y_train, y_test = train_test_split(X, y_categorical, test_size=0.2, random_state=42)
# 모델 구성 model = Sequential() model.add(Dense(64, input_dim=X_train.shape[1], activation='relu')) model.add(Dense(64, activation='relu')) model.add(Dense(len(label_encoder.classes_), activation='softmax')) # 출력 노드 수는 클래스 수와 동일해야 함
# 모델 컴파일 model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])
# 모델 학습 history = model.fit(X_train, y_train, epochs=20, batch_size=32, validation_split=0.2)