Я выполняю исследовательскую работу, в которой я должен классифицировать кухню на основе ее ингредиентов.Предоставляется набор данных для обучения ингредиентов и тестовый набор данных.Все работает нормально.Модель была обучена с использованием наилучшего подхода в соответствии с точностью среди SGD, RandomForest и Naive Bayes.Я использую Random Forest, потому что его точность лучше, чем у NB и SGD.Тестирование набора данных проверено, и прогноз работает абсолютно нормально.Теперь я хочу предсказать кухню, вручную вводя (используя input()
python) ингредиенты.Здесь проблема возникает, когда я пытаюсь искать в серии / Dataframe панд, названных здесь Y = train_data['all_ingredients'] OR Y = train_data['ingredients']
.
def check_ing(ing):
if ing in train_data['all_ingredients'].values:
return True
return False
no_of_ingredients = input("Total Number Of Ingredients: ")
no_of_ingredients = int(no_of_ingredients)
ingredient = []
for i in range(no_of_ingredients):
ing = input("Enter Ingredient " + str(i) + " : ")
if check_ing(ing) is True:
ingredient.append(ing)
print(ingredient)
Проблема в операторе if функции check_ing(ing)
.Как это улучшить для поиска введенного пользователем ингредиента, который, если он действителен или нет.
Результат Y.head()
равен: