ZIPML es una biblioteca Automl liviana diseñada para pequeños conjuntos de datos, que ofrece funciones esenciales de ayuda como la división de la prueba de tren, la comparación de modelos y la generación de matriz de confusión.
zipml/
│
├── data/
│ ├── encoding.py
│ ├── file_operations.py
│ ├── split_data.py
│
├── model/
│ ├── analyze_model_predictions.py
│ ├── calculate_model_results.py
│ ├── measure_prediction_time.py
│
├── utils/
│ ├── calculate_sentence_length_percentile.py
│ ├── read_time_series_data.py
│
├── visualization/
│ ├── combine_and_plot_model_results.py
│ ├── plot_random_image.py
│ ├── plot_time_series.py
│ ├── save_and_plot_confusion_matrix.py
│
└── zipml.pyzipml El paquete zipml proporciona una variedad de utilidades para preprocesar datos, analizar modelos y visualizar resultados, todos diseñados para simplificar los flujos de trabajo de AI y el aprendizaje automático. A continuación se presentan las instrucciones para usar algunas de las funciones clave.
analyze_model_predictions.py : evalúa las predicciones del modelo comparándolas con valores reales y devuelve un marco de datos detallado de las predicciones junto con las predicciones más incorrectas. from zipml . model import analyze_model_predictions
val_df , most_wrong = analyze_model_predictions ( best_model , X_test , y_test )Instale el paquete a través de PIP:
pip install zipmlAlternativamente, clona el repositorio:
git clone https://github.com/abdozmantar/zipml.git
cd zipml
pip install . Aquí hay un ejemplo práctico de cómo usar ZIPML:
import pandas as pd
from zipml . model import analyze_model_predictions
from zipml . model import calculate_model_results
from zipml . visualization import save_and_plot_confusion_matrix
from zipml . data import split_data
from zipml import compare_models
from sklearn . ensemble import RandomForestClassifier , GradientBoostingClassifier
from sklearn . linear_model import LogisticRegression
# Sample dataset
data = {
'feature_1' : [ 0.517 , 0.648 , 0.105 , 0.331 , 0.781 , 0.026 , 0.048 ],
'feature_2' : [ 0.202 , 0.425 , 0.643 , 0.721 , 0.646 , 0.827 , 0.303 ],
'feature_3' : [ 0.897 , 0.579 , 0.014 , 0.167 , 0.015 , 0.358 , 0.744 ],
'feature_4' : [ 0.457 , 0.856 , 0.376 , 0.527 , 0.648 , 0.534 , 0.047 ],
'feature_5' : [ 0.046 , 0.118 , 0.222 , 0.001 , 0.969 , 0.239 , 0.203 ],
'target' : [ 0 , 1 , 1 , 1 , 1 , 1 , 0 ]
}
# Creating DataFrame
df = pd . DataFrame ( data )
# Splitting data into features (X) and target (y)
X = df . drop ( 'target' , axis = 1 )
y = df [ 'target' ]
# Split the data into training and test sets
X_train , X_test , y_train , y_test = split_data ( X , y )
# Define models
models = [
RandomForestClassifier (),
LogisticRegression (),
GradientBoostingClassifier ()
]
# Compare models and select the best one
best_model , performance = compare_models ( models , X_train , X_test , y_train , y_test )
print ( f"Best model: { best_model } with performance: { performance } " )
# Calculate performance metrics for the best model
best_model_metrics = calculate_model_results ( y_test , best_model . predict ( X_test ))
# Analyze model predictions
val_df , most_wrong = analyze_model_predictions ( best_model , X_test , y_test )
# Save and plot confusion matrix
save_and_plot_confusion_matrix ( y_test , best_model . predict ( X_test ), save_path = "confusion_matrix.png" )Puede ejecutar ZIPML desde la línea de comando usando los siguientes comandos:
zipml --train train.csv --test test.csv --model randomforest --result results.json--train : ruta al archivo CSV del conjunto de datos de capacitación.--test : ruta al archivo CSV del conjunto de datos de prueba.--model : Nombre del modelo a ser entrenado (por ejemplo, randomforest , logisticregression , gradientboosting ).--result : ruta al archivo JSON donde se guardarán los resultados. zipml --train train.csv --test test.csv --compare --compare_models randomforest svc knn --result results.json--compare : una bandera para indicar una comparación de modelos múltiples.--compare_models : una lista de modelos para comparar (por ejemplo, randomforest , logisticregression , gradientboosting ).--result : ruta al archivo JSON donde se guardarán los resultados de la comparación. zipml --load_model trained_model.pkl --test test.csv --result predictions.json--load_model : ruta al archivo de modelo guardado.--test : ruta al archivo CSV del conjunto de datos de prueba.--result : ruta al archivo json donde se guardarán las predicciones. Para guardar el modelo entrenado después del entrenamiento:
zipml --train train.csv --test test.csv --model randomforest --save_model trained_model.pkl--result : ruta al archivo donde se guardará el modelo capacitado.git checkout -b feature/foo ).git commit -am 'Add some foo' ).git push origin feature/foo ).Abdullah Ozmantar Github: @abdozmantar
Este proyecto tiene licencia bajo la licencia MIT; consulte el archivo de licencia para obtener más detalles.