Scikit Learn - Representación de datos
Como sabemos, el aprendizaje automático está a punto de crear un modelo a partir de datos. Para este propósito, la computadora debe comprender los datos primero. A continuación, vamos a discutir varias formas de representar los datos para que los entienda la computadora:
Datos como tabla
La mejor forma de representar datos en Scikit-learn es en forma de tablas. Una tabla representa una cuadrícula de datos 2-D donde las filas representan los elementos individuales del conjunto de datos y las columnas representan las cantidades relacionadas con esos elementos individuales.
Ejemplo
Con el ejemplo que se da a continuación, podemos descargar iris dataset en forma de Pandas DataFrame con la ayuda de python seaborn biblioteca.
import seaborn as sns
iris = sns.load_dataset('iris')
iris.head()
Salida
sepal_length sepal_width petal_length petal_width species
0 5.1 3.5 1.4 0.2 setosa
1 4.9 3.0 1.4 0.2 setosa
2 4.7 3.2 1.3 0.2 setosa
3 4.6 3.1 1.5 0.2 setosa
4 5.0 3.6 1.4 0.2 setosa
De la salida anterior, podemos ver que cada fila de los datos representa una sola flor observada y el número de filas representa el número total de flores en el conjunto de datos. Generalmente, nos referimos a las filas de la matriz como muestras.
Por otro lado, cada columna de datos representa una información cuantitativa que describe cada muestra. Generalmente, nos referimos a las columnas de la matriz como características.
Datos como matriz de características
La matriz de características se puede definir como el diseño de la tabla donde la información se puede considerar como una matriz 2-D. Se almacena en una variable llamadaXy se supone que es bidimensional con forma [n_samples, n_features]. En su mayoría, está contenido en una matriz NumPy o en un Pandas DataFrame. Como se dijo anteriormente, las muestras siempre representan los objetos individuales descritos por el conjunto de datos y las características representan las distintas observaciones que describen cada muestra de manera cuantitativa.
Datos como matriz de destino
Junto con la matriz de características, denotada por X, también tenemos la matriz de destino. También se le llama etiqueta. Se denota por y. La etiqueta o matriz de destino suele ser unidimensional y tiene una longitud de n_samples. Generalmente está contenido en NumPyarray o pandas Series. La matriz de destino puede tener tanto los valores, valores numéricos continuos como valores discretos.
¿En qué se diferencia la matriz de destino de las columnas de características?
Podemos distinguir tanto por un punto que la matriz de destino suele ser la cantidad que queremos predecir a partir de los datos, es decir, en términos estadísticos, es la variable dependiente.
Ejemplo
En el siguiente ejemplo, a partir del conjunto de datos de iris predecimos la especie de flor en función de las otras mediciones. En este caso, la columna Especies se consideraría como característica.
import seaborn as sns
iris = sns.load_dataset('iris')
%matplotlib inline
import seaborn as sns; sns.set()
sns.pairplot(iris, hue='species', height=3);
Salida
X_iris = iris.drop('species', axis=1)
X_iris.shape
y_iris = iris['species']
y_iris.shape
Salida
(150,4)
(150,)