Funciones de Predicción
¡Felicidades! ¡Acabas de hacer tu primera predicción! Basándonos en el precio medio de otros listados que alojan a tres personas, deberíamos cobrar 156,6 dólares por noche para que un huésped se aloje en nuestro espacio vital, escribamos una función más general que pueda sugerir el precio óptimo para otros valores de la columna accommodates.
El DataFrame dc_listings tiene información específica de nuestro espacio vital (por ejemplo, la columna distance); para ahorrar tiempo, hemos vuelto a poner el DataFrame dc_listings a cero y solo hemos mantenido la limpieza de datos y la aleatorización que hicimos, ya que no eran exclusivas de la predicción que estábamos haciendo para nuestro espacio vital.
Instrucciones
- Escriba una función llamada predict_price que pueda utilizar la técnica de aprendizaje automático k-nearest neighbors para calcular el precio sugerido para cualquier valor de los accommodates, esta función debería hacer lo siguiente:
- Toma un único parámetro, new_listing, que describe el número de habitaciones
- (Hemos añadido código que asigna dc_listings a un nuevo DataFrame llamado temp_df. Hemos utilizado el método pandas. DataFrame.copy(), para que el DataFrame subyacente se asigne a temp_df, en lugar de ser solo una referencia a dc_listings)
- Calcular la distancia entre cada valor de la columna accommodates y el valor de new_listing que se pasó. Asignar el objeto Serie resultante a la columna distance en temp_df
- Ordene temp_df por la columna distance y seleccione los cinco primeros valores de la columna price. No ordene temp_df de forma aleatoria
- Calcule la media de estos cinco valores y utilícela como valor de retorno para toda la función predict_ price
- Utilice la función predict_price para sugerir un precio para un espacio vital que haga lo siguiente:
- Si tiene capacidad para 1 persona, asigna el precio sugerido a acc_one
- Si tiene capacidad para 2 personas, asigna el precio sugerido a acc_two
- Si tiene capacidad para 4 personas, asigne el precio sugerido a acc_four
Soluciones
|

|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36 | #Brought along the changes we made to the 'dc_listings'
Dataframe.
de_listings = pd.read_esv('dc_airbnb.csv")
stripped_commas = de_listings['price'].str.replace(',',
'')
stripped_dollars = stripped_commas.str.replace('$', '')
dc_listings['price'] = stripped_dollars.astype('float')
dc_Listings =
dc_Listings.loc[np.random.permutation(len(dc_listings))]
def predict_price(new_listing):
temp_df = dc_listings.copy()
## Complete the function.
return(new_listing)
acc_one = predict_price(1)
acc_two = predict_price(2)
acc_four = predict_price(4)
def predict_price(new_listing):
temp_df = de_listings.copy()
temp_df ['distance'] =
temp_df ['accommodates'].apply(lambda x: np.abs(x -
new_Listing))
temp_df = temp_df.sort_values('distance")
nearest_neighbors = temp_df.iloc[0:5]['price']
predicted_price = nearest_neighbors.mean()
return(predicted_price)
acc_one = predict_price(1)
acc_two = predict_price(2)
acc_four = predict_price(4)
print(acc_one)
print(acc_two)
print(ace_four)
|
|
- En esta lección, exploramos el problema de predecir el precio óptimo de un anuncio de alquiler de AirBnB basándonos en el precio de anuncios similares en el sitio, hemos trabajado en todo el flujo de trabajo del aprendizaje automático, desde la selección
de una característica hasta la prueba del modelo, para explorar los fundamentos del aprendizaje automático, nos limitamos a utilizar una sola característica (el caso univariante) y un valor k fijo de 5
- En la próxima lección, aprenderemos a evaluar el rendimiento de un modelo
Última modificación: miércoles, 27 de abril de 2022, 14:48