Spaces:
Build error
Build error
| import pandas as pd | |
| from sklearn.model_selection import train_test_split | |
| from sklearn.svm import SVC | |
| from sklearn.metrics import classification_report | |
| import os | |
| import joblib | |
| # Rutas relativas para el archivo Excel y la ubicaci贸n del modelo | |
| excel_path = os.path.join('data', 'Rice_Spectral_2.xlsx') | |
| model_path = os.path.join('model', 'svm_model.joblib') | |
| # Cargar datos desde Excel especificando que los decimales est谩n separados por comas | |
| data = pd.read_excel(excel_path, sheet_name="Spectral", decimal=',') | |
| # Asignar etiquetas: '0' para Java y '1' para Bangka Belitung | |
| labels = [0 if "Java" in col else 1 for col in data.columns] | |
| # Transponer el DataFrame para tener las firmas en filas y las caracter铆sticas en columnas | |
| data_transposed = data.T | |
| # Dividir los datos en conjuntos de entrenamiento y prueba | |
| X_train, X_test, y_train, y_test = train_test_split(data_transposed, labels, test_size=0.001, random_state=42) | |
| # Crear y entrenar el modelo SVM | |
| svm_model = SVC(kernel='linear', random_state=42) | |
| svm_model.fit(X_train, y_train) | |
| # Evaluar el modelo | |
| y_pred = svm_model.predict(X_test) | |
| report = classification_report(y_test, y_pred) | |
| print("Evaluaci贸n del Modelo:") | |
| print(report) | |
| # Asegurarse de que el directorio para guardar el modelo existe | |
| os.makedirs('model', exist_ok=True) | |
| # Guardar el modelo en la carpeta del modelo | |
| joblib.dump(svm_model, model_path) | |
| print(f"Modelo guardado en {model_path}") | |