Я пытаюсь классифицировать данные на основе предварительно заданных меток.
Получил два столбца и показано ниже:
room_class room_cluster
Standard single sea view Standard
Deluxe twin Single Deluxe
Suite Superior room ocean view Suite
Superior Double twin Superior
Deluxe Double room Deluxe
Как видно выше, room_cluster в наборе меток.
Фрагмент кода выглядит следующим образом:
le = preprocessing.LabelEncoder()
datar = df
#### Separate data into feature and Labels
x = datar.room_class
y = datar.room_cluster
#### Using Label encoder to change string onto 'int'
le.fit(x)
addv = le.transform(x)
asb = addv.reshape(-1,1)
#### Splitting into training and testing set adn then using Knn
x_train,x_test,y_train,y_test=train_test_split(asb,y,test_size=0.40)
classifier=neighbors.KNeighborsClassifier(n_neighbors=3)
classifier.fit(x_train,y_train)
predictions = classifier.predict(x_test)
#### Checking the accuracy
print(accuracy_score(y_test,predictions))
Точность, которую я получаю на тестовых данных, составляет всего 78%, что-то не так в коде, который мешает уровню точности.
Как использовать эту модель для прогнозирования пользовательских функций, например:
Ввод: «Люкс с видом на море»
Выход: «Люкс»
Ввод: «Улучшенный люкс твин»
Ввод: «Улучшенный»