Spaces:
Runtime error
Runtime error
| # pages/train_model.py | |
| import pandas as pd | |
| from sklearn.model_selection import train_test_split | |
| from sklearn.preprocessing import LabelEncoder, StandardScaler | |
| from sklearn.neural_network import MLPClassifier | |
| from sklearn.pipeline import Pipeline | |
| import joblib | |
| # Load dataset | |
| data = pd.read_csv("size_dataset.csv") | |
| # Features | |
| X = data[[ | |
| "gender", | |
| "shoulder", | |
| "chest", | |
| "waist", | |
| "hip", | |
| "chest_depth", | |
| "hip_depth", | |
| "height", | |
| "weight" | |
| ]] | |
| # Target | |
| y = data["size"] | |
| # Encode labels | |
| le = LabelEncoder() | |
| y_encoded = le.fit_transform(y) | |
| # Train-test split | |
| X_train, X_test, y_train, y_test = train_test_split( | |
| X, y_encoded, test_size=0.2, random_state=42 | |
| ) | |
| # Scaling + MLP in Pipeline | |
| model = Pipeline([ | |
| ("scaler", StandardScaler()), | |
| ("mlp", MLPClassifier( | |
| hidden_layer_sizes=(128, 64, 32), | |
| max_iter=2000, | |
| random_state=42 | |
| )) | |
| ]) | |
| # Train | |
| model.fit(X_train, y_train) | |
| # Accuracy | |
| accuracy = model.score(X_test, y_test) | |
| print("Model Accuracy:", accuracy) | |
| # Save model + encoder | |
| joblib.dump(model, "size_model.pkl") | |
| joblib.dump(le, "label_encoder.pkl") | |
| print("Model saved successfully!") |