Я создал модель и теперь хочу, чтобы она рекомендовала хороший ресторан, когда он будет предоставлен. 4 параметра: местоположение, примерная стоимость, тип ресторана и количество голосов. Однако он возвращает ошибку значения: X имеет 8 объектов, но RandomForestRegressor ожидает на входе 2924 объекта.
Вот что я пытаюсь запустить:
Код: Выделить всё
import joblib
import numpy as np
from sklearn.preprocessing import StandardScaler
model = joblib.load('my_model.pkl')
scaler = joblib.load('scaler.pkl')
def preprocess_input(location, type_, cost, votes):
one_hot_location = [1 if loc == location else 0 for loc in ['Whitefield', 'Koramangala', 'Indiranagar']]
one_hot_type = [1 if t == type_ else 0 for t in ['Casual Dining', 'Quick Bites', 'Cafe']]
scaled_features = scaler.transform([[cost, votes]])
return np.array(one_hot_location + one_hot_type + list(scaled_features[0])).reshape(1, -1)
input_data = preprocess_input('Whitefield', 'Casual Dining', 1000, 500)
prediction = model.predict(input_data)
print(f"Predicted restaurant: {prediction}")
Код: Выделить всё
X_train.shapeКод: Выделить всё
y_train.shapeВот как выглядит мой набор данных
Я новичок в этом, пожалуйста, помогите мне!
Подробнее здесь: https://stackoverflow.com/questions/790 ... s-as-input