En primer lugar importar los datos, los datos se divide en un conjunto de entrenamiento y un conjunto de pruebas:
importación pandas como pd # datos de carga melbourne_file_path = ' ../input/melbourne-housing-snapshot/melb_data.csv ' melbourne_data = pd.read_csv (melbourne_file_path) # filas de filtro con la falta de valores melbourne_data = melbourne_data.dropna (eje = 0) # Elige destino y las características y = melbourne_data.Price melbourne_features = [ ' Habitaciones ' , ' baño ' , ' Landsize ' , ' BuildingArea ', ' YearBuilt ' , ' Lattitude ' , ' Longtitude ' ] X = melbourne_data [melbourne_features] de sklearn.model_selection importación train_test_split # datos divididos en datos de entrenamiento y de validación, para ambas características y objetivo # La división se basa en un generador de números aleatorios. El suministro de un valor numérico a # las garantías de argumentos random_state obtenemos la misma división cada vez que # Ejecutar este proceso. train_X, val_X, train_y, val_y = train_test_split (X, Y, random_state = 0)
Entre sklearn introducido SEN LI packet algoritmo aleatorio implementado, y calcula el error promedio modelo apropiada:
de sklearn.ensemble importación RandomForestRegressor de sklearn.metrics importar mean_absolute_error forest_model = RandomForestRegressor (random_state = 1 ) forest_model.fit (train_X, train_y) melb_preds = forest_model.predict (val_X) de impresión (mean_absolute_error (val_y, melb_preds))
salida:
202,888.18157951365 /opt/conda/lib/python3.6/site-packages/sklearn/ensemble/forest.py:245: FutureWarning: El valor por defecto de n_estimators cambiará de 10 en versión de 0,20 a 100 en 0,22 . " 10 en la versión 0.20 a 100 en 0,22. " , FutureWarning)
Tenemos soluciones.