Librería para obtener valores estadísticos para pruebas de distribución de signos, determinación de outliers y pruebas Durbin-Watson
Project description
StadisticsML
StadisticsML es una librería de Python diseñada para facilitar el uso de modelos de aprendizaje automático, específicamente redes neuronales y máquinas de soporte vectorial (SVR), con un enfoque en la predicción y análisis de datos. Esta librería permite al usuario crear modelos personalizables, ajustar hiperparámetros y obtener predicciones y evaluaciones del rendimiento.
Características
- Red Neuronal Personalizable: Permite crear redes neuronales con múltiples capas y activaciones, especificar el número de épocas y la función de optimización.
- SVR: Implementación de la máquina de soporte vectorial para regresión, con fácil ajuste de parámetros como el valor de
C,gammayepsilon. - Evaluación de Modelos: Genera métricas de rendimiento como el MSE y RMSE para evaluar la precisión de los modelos entrenados.
- Interfaz Sencilla: Funciones fáciles de usar para entrenar modelos y hacer predicciones sobre datos nuevos.
Instalación
Para instalar la librería, utiliza el siguiente comando de pip:
pip install StadisticsML
Requisitos
numpyscipyscikit-learntensorflow
Estos paquetes se instalarán automáticamente como dependencias cuando instales StadisticsML.
Funciones
1. Red Neuronal Personalizable (train_neural_network)
Esta función permite al usuario crear y entrenar una red neuronal para regresión. Los parámetros ajustables incluyen:
- X: Datos de entrada para el entrenamiento.
- y: Etiquetas o resultados esperados.
- hidden_layers_config: Configuración de las capas ocultas con el número de neuronas y funciones de activación.
- output_neurons: Número de neuronas en la capa de salida.
- output_activation: Función de activación para la capa de salida.
- optimizer: Optimizador a utilizar (e.g.,
adam,sgd). - loss: Función de pérdida a utilizar (e.g.,
mean_squared_error). - metrics: Métricas adicionales para evaluar el modelo (e.g.,
mae,mse). - epochs: Número de épocas para el entrenamiento.
- test_size: Porcentaje de los datos destinados a la prueba.
- random_state: Semilla para la aleatorización.
Ejemplo:
from StadisticsML import train_neural_network
# Datos de ejemplo
X = [[1], [2], [3], [4], [5]]
y = [1.1, 2.0, 2.9, 4.0, 5.1]
# Configuración de las capas ocultas: [(neuronas, función de activación)]
hidden_layers_config = [(12, 'relu'), (8, 'relu')]
# Entrenar la red neuronal
model, history, test_loss, predictions = train_neural_network(
X=X, y=y,
hidden_layers_config=hidden_layers_config,
epochs=100,
test_size=0.2,
random_state=42
)
print("Predicciones:", predictions)
print("Test Loss:", test_loss)
2. Máquina de Soporte Vectorial para Regresión (SVR) (train_svr)
Esta función entrena un modelo de soporte vectorial para regresión utilizando parámetros personalizables.
- X: Datos de entrada para el entrenamiento.
- y: Etiquetas o resultados esperados.
- C: Parámetro de penalización.
- gamma: Coeficiente de la función kernel.
- epsilon: Margen de tolerancia.
- test_size: Porcentaje de los datos destinados a la prueba.
Ejemplo:
from StadisticsML import train_svr
# Datos de ejemplo
X = [[1], [2], [3], [4], [5]]
y = [1.1, 2.0, 2.9, 4.0, 5.1]
# Entrenar el modelo SVR
mse, rmse, predictions = train_svr(X=X, y=y, C=100, gamma=0.001, epsilon=0.001, test_size=0.2)
print("Predicciones SVR:", predictions)
print("RMSE:", rmse)
Contribución
Si deseas contribuir a este proyecto, por favor sigue estos pasos:
- Haz un fork del repositorio.
- Crea una nueva rama (
git checkout -b feature/nueva-funcionalidad). - Realiza tus cambios y haz commit de ellos (
git commit -am 'Agrega nueva funcionalidad'). - Haz push a la rama (
git push origin feature/nueva-funcionalidad). - Abre un pull request.
Contribución esperada: Implementación de más modelos de aprendizaje automático.
Licencia
Este proyecto está bajo la licencia MIT. Para más detalles, consulta el archivo LICENSE.
Contacto
- Autor: Jorge Eduardo Londoño Arango
- Email: joelondonoar@unal.edu.co - jorge.nebulanoir@gmail.com
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file StadisticsML-0.1.3.tar.gz.
File metadata
- Download URL: StadisticsML-0.1.3.tar.gz
- Upload date:
- Size: 6.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.11.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7df1d97ce4fa957ee669219e7ba48b4c9c5e2ba0b65e7eef3944b290139dc388
|
|
| MD5 |
be9eca721e5064480a5202c39a37fddf
|
|
| BLAKE2b-256 |
f8f2d3c3390b3dfb74688878a6c0847be2848df4d866d91a8919bd932b859132
|
File details
Details for the file StadisticsML-0.1.3-py3-none-any.whl.
File metadata
- Download URL: StadisticsML-0.1.3-py3-none-any.whl
- Upload date:
- Size: 6.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.11.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f7ebe3b9060f7e4bc20017e884c196d76708b6e3db57ab7f9c0c4cbb10c64e62
|
|
| MD5 |
d14786a2e7847b17e42ffcdaf856443a
|
|
| BLAKE2b-256 |
93f3a91795b610fbe5a6750e309354976fc934e5f578a79e49a2a326cef2bb26
|