X имеет 8 функций, но RandomForestRegressor ожидает на входе 2924 функции.Python

Программы на Python
Anonymous
X имеет 8 функций, но RandomForestRegressor ожидает на входе 2924 функции.

Сообщение Anonymous »

Это может показаться тривиальным, но я просто не понимаю этой проблемы. По сути, я создаю рекомендацию ресторана для своего города, используя набор данных Kaggle и RandomForestRegressor.
Я создал модель и теперь хочу, чтобы она рекомендовала хороший ресторан, когда он будет предоставлен. 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
= (41373, 2924)

Код: Выделить всё

y_train.shape
= (41373,)
Вот как выглядит мой набор данных
Я новичок в этом, пожалуйста, помогите мне! Спасибо!

Подробнее здесь: https://stackoverflow.com/questions/790 ... s-as-input

Вернуться в «Python»