Классификация - получить точное значение метки, чтобы проверить, насколько близко к другому классу (Python) - PullRequest
0 голосов
/ 29 апреля 2020

Я делаю текстовую классификацию в python с 3 алгоритмами: кНН, наивный байесовский и СВМ. У меня 3 класса - легкий, средний и жесткий. Точность вполне в порядке. Есть ли способ проверить для нового текста его точное значение? После кодирования метки 0 легко, 1 - среднее, а 2 - трудно. Так что, основываясь на новом тексте, он классифицируется как средний, но я хочу знать, насколько он близок к легкому / сложному. Некоторые из моих фрагментов кода:

Train_X, Test_X, Train_Y, Test_Y = model_selection.train_test_split(
    df['tokens'], df['class'], test_size=0.3, random_state=42)

Encoder = LabelEncoder()
Train_Y = Encoder.fit_transform(Train_Y)
Test_Y = Encoder.fit_transform(Test_Y)

Tfidf_vect = TfidfVectorizer(max_features=35)
Tfidf_vect.fit([' '.join(arr) for arr in df['tokens']])
Train_X_Tfidf = Tfidf_vect.transform([' '.join(arr) for arr in Train_X])
Test_X_Tfidf = Tfidf_vect.transform([' '.join(arr) for arr in Test_X])
Naive = naive_bayes.MultinomialNB()
Naive.fit(Train_X_Tfidf, Train_Y)
predictions_NB = Naive.predict(Test_X_Tfidf)
print(round(accuracy_score(predictions_NB, Test_Y)*100, 2))

Теперь, когда я использую Naive.predict (), я получаю 0, 1 или 2. Есть ли способ получить значение EXACT, например 0,5897237489, которое равно 1, но Я вижу, что это ближе к 0, чем 2

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...