p̂
es el valor de estimación e ŷ
es la clasificación:y
y p
. Este símbolo se utiliza a menudo para denotar una estimación de un modelo.-------------------------------------------------------------------------------------------------------------------------------------------------------------
Survived
es 0,38. Dado que las entidades de esta columna contienen un 1 (sobrevivió) o un 0 (no sobrevivió), esto significa que el 38 % de los pasajeros del conjunto de entrenamiento sobrevivieron.Age
mínimo muestra que el pasajero más joven del conjunto tenía menos de un año (0,42). El valor Age
máximo era de 80 años.29.36
años.Pclass
, SexEncoding
, SizeOfFamily
y EmbarkedEncoding
.SexEncoding
y Age
que muestran el número de sobrevivientes para cada una.Survived
se quitó de las matrices X
y se colocó en su propio vector y
.X_train/val/test
y y_train/val/test
es un esquema de nomenclatura convencional para las divisiones de conjuntos de datos en el aprendizaje automático. A veces, los profesionales utilizarán variables más descriptivas en su lugar.ProbPerished
es mayor que ProbSurvived
, entonces el modelo habrá predicho un 0 para ese pasajero en particular (es decir, no sobrevivió).- solver
es ahora 'liblinear'
.- C
es ahora 0.10
.penalty = 'l2'
como un nuevo hiperparámetro.- max_iter
sigue siendo 10000
.k
-NN clasificará el ejemplo como un océano.k
-NN abreviado como KNN.k
en k
-NN define el número de ejemplos de datos que son los vecinos más cercanos del ejemplo en cuestión. “Más cercano” en este caso se refiere a la distancia entre los puntos de datos cuando se asignan al espacio de la característica. Mediante k
, k
-NN realiza una votación de estos puntos vecinos para determinar cómo clasificar el ejemplo en cuestión. En la siguiente figura, k = 3
, por lo que el algoritmo toma un voto de los tres vecinos más cercanos al ejemplo de datos (la X verde). Dado que dos de los tres vecinos están en la clase 0 (círculos azules oscuros), el ejemplo de datos se clasifica como 0 (lago).
k
-NN es más fácil de implementar porque en realidad no “aprende” de la misma manera que los algoritmos de aprendizaje automático típicos; en otras palabras, no mejora su capacidad de clasificación a través del entrenamiento. También genera una clasificación directamente en lugar de una probabilidad (es decir, genera un 0 o 1). Sin embargo, k
-NN puede tardar mucho tiempo en calcular las clasificaciones de los conjuntos de datos grandes, por lo que se prefiere la regresión logística en esos casos.k
-NN también puede resolver problemas de regresión, pero se utiliza con mayor frecuencia en la clasificación.k
-NN, consulte este sitio.k
en k
-NN depende en última instancia de la naturaleza de los datos de entrenamiento y la salida que está buscando. No hay necesariamente un valor perfecto para k
en todas las circunstancias conocidas. Cuanto más grande sea k
, menos “ruidoso” se vuelve el conjunto de datos con respecto a la clasificación; en otras palabras, se reduce el efecto de anomalías o ejemplos mal etiquetados. Sin embargo, esto también conduce a límites menos distintos entre las clases, y puede aumentar el costo computacional. Los valores más bajos de k
son mejores para mantener estos límites distintos, pero son menos efectivos para minimizar el efecto del ruido en los datos.k
de antes (3) se ha ajustado a un nuevo valor (5) en el mismo conjunto de entrenamiento. El modelo ahora clasifica el ejemplo como un 1 (océano) en lugar de un 0 (lago) porque hay más votos de 1 (triángulos azul claro) que votos de 0 entre los cinco vecinos más cercanos. Un cambio de k
como este puede cambiar totalmente la clasificación que recibe un ejemplo de datos.k
es hacer que k
sea siempre impar cuando se tiene un problema de clasificación binaria; esto elimina la posibilidad de que haya un empate en la votación. Otro enfoque para seleccionar k
se denomina bootstrapping e implica tomar la raíz cuadrada del número total de ejemplos de datos en el conjunto de entrenamiento. El valor resultante es aproximadamente la k
que debe considerar usar. También puede utilizar una técnica de prueba de rendimiento como la validación cruzada para ayudar a determinar un valor aceptable para k
.k
vecinos más cercanos. No hay, necesariamente, un mejor algoritmo para el problema en cuestión, por lo que es una buena idea experimentar siempre que sea posible.
k
vecinos más cercanos y mostrará el tiempo que se tardó en generar y la puntuación del modelo.k
vecinos más cercanos es de alrededor del 75 %. Esto parece tener un rendimiento más bajo que el modelo de regresión logística, por lo que utilizará el modelo de regresión logística para el conjunto de pruebas real.k
se genera mediante un método de bootstrapping, tomando la raíz cuadrada del número total de ejemplos de datos en el conjunto de entrenamiento. Para ayudar a evitar votos de empate en un clasificador binario, k
se incrementa por 1 si es par.k
vecinos más cercanos para predecir la supervivencia de los pasajeros.k
-NN no genera probabilidades de predicción de la misma manera que lo hace la regresión logística, el método predict_proba()
muestra la fracción de vecinos que votaron por cada etiqueta. Así, en la primera fila de resultados, el ~93 % de los vecinos votaron por pereció (25 de un total de 27).k
vecinos más cercanos utilizando un valor de hiperparámetro diferente para k
(n_neighbors
). En este caso, el valor que era 27
ahora se incrementa por 10 a 37
.k
-NN ajustado para predecir la supervivencia de los pasajeros en el conjunto de validación.k
-NN produjo resultados diferentes. Por ejemplo, en la tercera fila, el modelo ajustado predijo incorrectamente que el pasajero sobrevivió, mientras que el modelo original no lo hizo.- pi
es la probabilidad de que un ejemplo de datos se ubique en la clase i
, mediante una única característica y la etiqueta.- c
es el número total de clases.G = 0
), y por lo tanto el índice de Gini más bajo, se elige como el nodo de decisión raíz.Hiperparámetro | Descripción |
---|---|
max_depth |
Utilice esto para especificar qué tan “profundo” debe ir el árbol, es decir, el número de nodos de decisión de la raíz a la salida más lejana, que se relaciona con el número de veces que se dividen los datos. Si no especifica una profundidad máxima, CART seguirá dividiendo el conjunto de datos hasta que En su búsqueda por lograr altos niveles de pureza de decisión, los árboles de decisión tienden a ser víctimas del sobreajuste, especialmente cuando el conjunto de datos tiene muchas características. El parámetro |
min_samples_split |
Utilice esta opción para especificar cuántas muestras (por ejemplo, ejemplos de datos) son necesarias para dividir un nodo de decisión. Al aumentar este valor, se restringe el modelo porque cada nodo debe contener muchos ejemplos antes de que se pueda dividir. Esto puede ayudar a minimizar el sobreajuste, pero restringir demasiado el modelo puede conducir a un ajuste insuficiente. |
min_samples_leaf |
Utilícelo para especificar cuántas muestras deben estar en un nodo de salida. Una vez más, aumentar este valor puede reducir el sobreajuste, pero también tiene la oportunidad de conducir a un ajuste insuficiente. |
k
-NN que creó anteriormente.-------------------------------------------------------------------------------------------------------------------------------------------------------------
1.Cree un modelo básico de árbol de decisión.
1. Desplácese hacia abajo y vea la celda titulada Crear un modelo básico de árbol de decisión y examine la lista de código que aparece debajo de ella.
random_state
, que simplemente garantiza que los resultados sean los mismos cada vez que se ejecuta el código. De lo contrario, dado que no se especifica ningún otro hiperparámetro, el algoritmo utilizará los valores predeterminados:- criterion
se establece como gini
de forma predeterminada, que es el índice Gini utilizado por CART.- max_depth
se establece como None
de forma predeterminada; el árbol seguirá dividiéndose hasta que el índice de Gini sea 0 o hasta que todas las hojas contengan menos que número de muestras especificado por min_samples_split
.- min_samples_split
se establece como 2
de forma predeterminada.- min_samples_leaf
se establece como 1
de forma predeterminada.- max_depth
ahora se define explícitamente como 6
. Por lo tanto, el árbol no seguirá dividiéndose más allá de una profundidad de 6 ramas.SexEncoding
del usuario. Recuerde que las pasajeras están codificadas como 1 y los pasajeros masculinos como 2. Por lo tanto, el nodo raíz evalúa si el valor codificado del pasajero es menor o igual que 1,5. Si es así, entonces esto significa que el pasajero es femenino. Si no, entonces el pasajero es masculino. En este punto del árbol, la decisión es que el pasajero pereció, simplemente porque más personas perecieron que sobrevivieron.- n_estimators
especifica cuántos árboles de decisión se crearán en el bosque. Tener más de unos pocos cientos de árboles por lo general solo hará que el proceso de entrenamiento sea más lento sin proporcionar ninguna ganancia significativa, por lo que 100 debería ser un número adecuado.- bootstrap
especifica si se realizará o no el embolsado. True
, el valor predeterminado, significa que existirá. Si es False
, todo el conjunto de entrenamiento se utilizará para cada árbol.-------------------------------------------------------------------------------------------------------------------------------------------------------------
5. Ajuste un modelo de bosque aleatorio.
n_estimators
se cambió de 100
a 150
.max_depth
se cambió de 6
a 10
.min_samples_leaf
se cambió de 10
a 12
.SexEncoding
como lo hizo con el árbol de decisión solitario anteriormente. Sin embargo, los nodos de decisión se dividen en diferentes características. Por ejemplo, el primer nodo de decisión para las pasajeras femeninas se divide en Parch
(número de padres más hijos que el pasajero tenía a bordo), mientras que el primer nodo de decisión para los pasajeros masculinos se divide en el título del pasajero.SexEncoding
. Cualquier persona en primera clase se mueve por el lado izquierdo del árbol en una decisión de división basada en su título. Cualquier persona que no esté en la primera clase viaja por el lado derecho del árbol, donde se evalúa como hombre o mujer. Como antes, el árbol continúa tomando decisiones de división después de esto.