DSLR
Clasifica a los estudiantes de Hogwarts en una de cuatro casas a partir de sus calificaciones, con regresión logística one-vs-all y descenso de gradiente escritos desde cero — sin ninguna librería de ML.
- 4 casas
- 13 características de asignaturas
Mi contribuciónReimplementé un describe estilo pandas desde cero: recuento, media, desviación estándar, cuartiles con interpolación, varianza, asimetría y curtosis — sin NumPy ni pandas.
- ROL
- Solo
- CONTEXTO
- École 42 · Proyectos de IA
- ESTADO
- Terminado
- STACK
- PythonMatplotlib
- RESULTADO
- Sobre los 1,600 estudiantes de entrenamiento, el modelo reproduce las etiquetas de casa con un 97.9 % de precisión (34 errores). Es una puntuación sobre el conjunto de entrenamiento, medida sobre los mismos datos con los que se entrenó — no hay conjunto de test reservado.
- ACTUALIZADO
- 26 sept 2026
Datos
Registros de estudiantes de Hogwarts: 1,600 estudiantes de entrenamiento etiquetados, 13 calificaciones de asignaturas, 4 casas; el conjunto de test oficial de 400 estudiantes no está etiquetado.
Lo que construí
Solo
- Reimplementé un describe estilo pandas desde cero: recuento, media, desviación estándar, cuartiles con interpolación, varianza, asimetría y curtosis — sin NumPy ni pandas.
- Implementé la regresión logística desde cero: sigmoide, log-loss, gradiente y estandarización z-score, con descenso de gradiente por lotes, estocástico y mini-batch como variantes intercambiables.
- Construí el esquema multiclase one-vs-all: un clasificador binario por casa, predicción por argmax sobre las cuatro probabilidades sigmoides, pesos exportados a JSON.
- Escribí a mano las tres visualizaciones exploratorias con Matplotlib (histogramas, diagramas de dispersión, un pair plot coloreado) para la selección de características.
Decisiones clave
- Regresión logística one-vs-all
- Cuatro clasificadores binarios independientes, uno por casa, y a cada estudiante se le asigna la casa con la mayor probabilidad sigmoide.
- Tres variantes de descenso de gradiente seleccionables
- Por lotes, estocástico y mini-batch, elegidos en tiempo de ejecución, para poder comparar las estrategias de optimización.
- Estandarización z-score manual
- Cada característica se estandariza a mano antes del entrenamiento y la predicción, para que las calificaciones en escalas muy distintas sigan siendo comparables.
Resultados
Sobre los 1,600 estudiantes de entrenamiento, el modelo reproduce las etiquetas de casa con un 97.9 % de precisión (34 errores). Es una puntuación sobre el conjunto de entrenamiento, medida sobre los mismos datos con los que se entrenó — no hay conjunto de test reservado.
Límites
- Sin evaluación reservada: el conjunto de test oficial no está etiquetado, así que la única precisión se mide sobre el propio conjunto de entrenamiento — no es una puntuación de generalización.
- Sin regularización ni early stopping; una tasa de aprendizaje fija y números de iteraciones ajustados a mano.
- El modelo entregado usa las trece características; el código de selección de características se deja comentado.
- Limpieza mínima: los valores no numéricos o faltantes se reemplazan por cero en lugar de imputarse.
¿Preguntas sobre este proyecto? → Escríbeme