Clasificador de Calidad de Agua - Modelo SVM
Este repositorio contiene un modelo de clasificación entrenado para predecir la calidad del agua en base a varios parámetros. El modelo ha sido entrenado usando un Support Vector Machine (SVM) con un kernel RBF.
Descripción del Modelo
El modelo utiliza un Support Vector Classifier (SVC) de scikit-learn con un kernel RBF para clasificar la calidad del agua. El objetivo es predecir la variable Calidad_Agua basada en 4 características:
pH: El nivel de acidez del agua.Turbidez: La medida de la transparencia del agua.Temperatura: La temperatura del agua.Contaminantes: La cantidad de contaminantes presentes en el agua.
Parámetros del modelo
kernel='rbf': Se utilizó un kernel radial base (RBF), ideal para problemas no lineales como este.C=10: Este parámetro controla el grado de penalización por errores de clasificación. Un valor más alto implica un menor margen de error, lo que puede llevar a un mejor ajuste del modelo a los datos de entrenamiento.random_state=200: Se establece una semilla fija para garantizar la reproducibilidad en la partición de los datos y el entrenamiento del modelo.test_size=0.25: El 25% de los datos se reservaron para evaluar el modelo, mientras que el 75% restante se usó para entrenamiento.
El modelo fue entrenado utilizando el siguiente dataset: iabd06/agua_dataset.
Procedimiento de Entrenamiento
Carga del dataset:
- Se cargó el dataset
agua_datasetdesde Hugging Face utilizando la libreríadatasets.
- Se cargó el dataset
Preprocesamiento de datos:
- Las características (
pH,Turbidez,Temperatura) se extrajeron y se separaron de la variable objetivoCalidad_Agua. - Los datos fueron normalizados utilizando MinMaxScaler, que escala las características entre 0 y 1 para que el modelo pueda trabajar de manera más eficiente.
- Codificación de
Contaminantes: Si los datos ya están codificados en el CSV, no es necesario usar elOrdinalEncoder. Los valores deContaminantesya están en formato numérico.
- Las características (
Entrenamiento del modelo:
- Se utilizó un Support Vector Machine (SVM) con un kernel RBF y el parámetro
C=10, que controla la penalización de los errores. El modelo se entrenó con el 75% de los datos, y el 25% restante se utilizó para evaluar su rendimiento.
- Se utilizó un Support Vector Machine (SVM) con un kernel RBF y el parámetro
Evaluación del modelo:
- El rendimiento del modelo se evaluó utilizando el 25% de los datos que no se usaron para entrenar el modelo, lo que permitió verificar la precisión y eficacia del clasificador.
Guardado del modelo:
- El modelo entrenado, el escalador utilizado para normalizar los datos se guardaron usando la librería joblib. Esto permite cargar el modelo más tarde y hacer predicciones sin necesidad de volver a entrenarlo.
Puedes encontrar el script para entrenar el modelo aquí.
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support