# 必要なライブラリのインポート import pandas as pd import numpy as np from sklearn.model_selection import train_test_split from sklearn.preprocessing import LabelEncoder from keras.models import Sequential from keras.layers import Dense # データの読み込み # data = pd.read_csv(‘your_data.csv’) # データのファイルパスを指定してください # カテゴリカル変数のエンコード label_encoder = LabelEncoder() data[‘category_encoded’] = label_encoder.fit_transform(data[‘category’]) # 目的変数と説明変数の分割 X = data.drop([‘size’, ‘product_name’, ‘original_product_code’], axis=1) # 説明変数 y = data[‘size’] # 目的変数 # 訓練データとテストデータに分割 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) # モデルの構築 model = Sequential([ Dense(64, activation=’relu’, input_shape=(X_train.shape[1],)), Dense(64, activation=’relu’), Dense(len(np.unique(y)), activation=’softmax’) ]) # モデルのコンパイル model.compile(optimizer=’adam’, loss=’sparse_categorical_crossentropy’, metrics=[‘accuracy’]) # モデルのトレーニング model.fit(X_train, y_train, epochs=10, batch_size=32, validation_data=(X_test, y_test)) # モデルの評価 loss, accuracy = model.evaluate(X_test, y_test) print(“Test Loss:”, loss) print(“Test Accuracy:”, accuracy)
提供されたコードにいくつかの修正が必要です。
dataデータフレームが定義されていないため、データの読み込みが必要です。- カテゴリカル変数のエンコードを実行する前にデータを読み込む必要があります。
修正されたコードは以下のようになります。
python
# 必要なライブラリのインポート import pandas as pd import numpy as np from sklearn.model_selection import train_test_split from sklearn.preprocessing import LabelEncoder from keras.models import Sequential from keras.layers import Dense # データの読み込み data = pd.read_csv('your_data.csv') # データのファイルパスを指定してください # カテゴリカル変数のエンコード label_encoder = LabelEncoder() data['category_encoded'] = label_encoder.fit_transform(data['category']) # 目的変数と説明変数の分割 X = data.drop(['size', 'product_name', 'original_product_code'], axis=1) # 説明変数 y = data['size'] # 目的変数 # 訓練データとテストデータに分割 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) # モデルの構築 model = Sequential([ Dense(64, activation='relu', input_shape=(X_train.shape[1],)), Dense(64, activation='relu'), Dense(len(np.unique(y)), activation='softmax') ]) # モデルのコンパイル model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy']) # モデルのトレーニング model.fit(X_train, y_train, epochs=10, batch_size=32, validation_data=(X_test, y_test)) # モデルの評価 loss, accuracy = model.evaluate(X_test, y_test) print("Test Loss:", loss) print("Test Accuracy:", accuracy)
これにより、提供されたデータを元にサイズを予測するニューラルネットワーク分類モデルが構築され、トレーニングおよび評価されます。

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