El siguiente código realizará una limpieza de datos en nuestros datos en bruto. Tenemos que preparar los datos antes de visualizar y predecir. Este es un paso significativo en el flujo de trabajo del análisis de datos. Aquí usaremos la biblioteca de pandas, específicamente las clases drop, isull, fillna y transform.
1data.drop([$0027id$0027,$0027id_de_host$0027,$0027nombre_de_host$0027,$0027apellido_revisión$0027],axis=1,inplace=True)
pitón
1datos.isull().sum()
pitón
Hay diferentes maneras de llenar los valores. La práctica más común es llenar ya sea por media o mediana de la variable. Realizaremos el test z para saber cuál encaja mejor.
Una distribución de datos sesgada tiene una cola larga hacia la derecha (sesgada positivamente) o izquierda (sesgada negativamente). Por ejemplo, supongamos que queremos determinar la renta de un estado, que no está distribuida uniformemente. Un puñado de personas que ganan significativamente más que la media producirá valores atípicos («se encuentra fuera») en el conjunto de datos. Los valores atípicos son una grave amenaza para cualquier análisis de datos. En esos casos, el ingreso mediano estará más cerca del ingreso medio de la clase media (mayoría).
Los medios son útiles cuando los datos están distribuidos uniformemente.
1234data_check_distrib=data.drop(data[pd.isull(data.reviews_per_month)].index){"Mean":np.nanmean(data.reviews_per_month), "Median":np.nanmedian(data.reviews_per_month), "Standard Dev":np.nanstd(data.reviews_per_month)}
pitón
La media> mediana . Trazamos la curva de distribución.
12defimpute_median(series):return series.fillna(series.median())
python
1234# dibujar un histograma plt.hist(data_check_distrib.reviews_per_month, bins=50)plt.title("Distribution of reviews_per_month")plt.xlim((min(data_check_distrib.reviews_per_month),max(data_check_distrib.reviews_per_month)))
pitón
¡Está bien torcido! Llenemos los valores.
12defimpute_median(series):return series.fillna(series.median())
python
1data.reviews_per_month=data["reviews_per_month"].transform(impute_median)
pitón
Diagrama de la matriz de correlación
Para un conjunto dado de características, la matriz de correlación muestra la correlación, o la relación mutua entre los coeficientes. Cada variable aleatoria está correlacionada con cada uno de sus otros valores. Los elementos diagonales son siempre 1 porque la correlación entre una variable y ella misma es siempre del 100%. Una excelente forma de comprobar las correlaciones entre los elementos es visualizando la matriz de correlación como un mapa de calor.
12345data[$0027reviews_per_month$0027].fillna(value=0, inplace=True)f,ax=plt.subplots(figsize=(10,10))sns.heatmap(data.corr(),annot=True,linewidths=5,fmt=$0027.1f$0027,ax=ax, cmap=$0027Reds$0027)plt.show()
pitón
Fíjate en los tonos pastel. Cuanto más oscuro es el tono, mejor es la correlación. En consecuencia, el número de reseñas está altamente correlacionado con las reseñas por mes, lo cual es bastante lógico. También encontramos una correlación entre el precio, el número de reseñas y la longitud con la disponibilidad.