from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from keras.models import Sequential
from keras.layers import Dense
# データをトレーニングセットとテストセットに分割
X_train, X_test, y_train, y_test = train_test_split(X_combined, y, test_size=0.3, random_state=42)
# データの標準化
scaler = StandardScaler(with_mean=False) # with_mean=Falseを追加
X_train_scaled = scaler.fit_transform(X_train)
X_test_scaled = scaler.transform(X_test)
X_train_scaled = X_train.toarray()
X_test_scaled = X_test.toarray()
# クラス数を取得
num_classes = len(np.unique(y_train))
# モデルの作成
model = Sequential([
Dense(64, activation='relu', input_shape=(X_train_scaled.shape[1],)),
Dense(64, activation='relu'),
Dense(num_classes, activation='softmax') # 多クラス分類用の出力層
])
# モデルのコンパイル
model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])
# モデルのトレーニング
history = model.fit(X_train_scaled, y_train, epochs=5, batch_size=32, validation_data=(X_test_scaled, y_test))
# テストデータでの予測と評価
loss, accuracy = model.evaluate(X_test_scaled, y_test)
print("Test Loss:", loss)
print("Test Accuracy:", accuracy)
Prev
ディスカッション
コメント一覧
まだ、コメントがありません