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.2, random_state=42) # データの標準化 scaler = StandardScaler() X_train_scaled = scaler.fit_transform(X_train) X_test_scaled = scaler.transform(X_test) # モデルの作成 model = Sequential([ Dense(64, activation=’relu’, input_shape=(X_train_scaled.shape[1],)), Dense(64, activation=’relu’), Dense(1, activation=’linear’) # 線形活性化関数 ]) # モデルのコンパイル model.compile(optimizer=’adam’, loss=’mean_squared_error’, metrics=[‘mae’]) # 回帰タスクのため、損失関数は平均二乗誤差を使用 # モデルのトレーニング history = model.fit(X_train_scaled, y_train, epochs=10, batch_size=32, validation_data=(X_test_scaled, y_test)) # テストデータでの予測と評価 y_pred = model.predict(X_test_scaled) # モデルの評価 loss, mae = model.evaluate(X_test_scaled, y_test) print(“Mean Absolute Error:”, mae)
提供されたコードは、ニューラルネットワークを使用して回帰タスクを実行するための基本的なフレームワークを示しています。以下はその手順の要約です。
- データをトレーニングセットとテストセットに分割します。
- データを標準化します。これにより、各特徴量が平均0、分散1になります。
- ニューラルネットワークモデルを構築します。このモデルでは、入力層として64個のニューロンを持つ隠れ層が2つあり、それぞれReLU活性化関数が適用されています。また、出力層では1つのニューロンを使用し、線形活性化関数を使用しています。
- モデルをコンパイルします。この際、最適化アルゴリズムとしてAdamを使用し、損失関数として平均二乗誤差(Mean Squared Error, MSE)を使用します。また、評価指標として平均絶対誤差(Mean Absolute Error, MAE)を計算します。
- モデルをトレーニングします。この際、トレーニングデータと検証データの損失と評価指標が履歴として保存されます。
- テストデータで予測を行い、モデルの性能を評価します。評価には平均絶対誤差が使用されます。
提供されたコードは、基本的なニューラルネットワークの回帰モデルをトレーニングし、評価する手順を示しています。

ディスカッション
コメント一覧
まだ、コメントがありません