python - 分类 - 获取准确的标签值以检查与另一个类的接近程度(Python)
问题描述
我正在使用 3 种算法在 python 中进行文本分类:kNN、朴素贝叶斯和 SVM。我有 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,但我发现它比 2 更接近 0
解决方案
推荐阅读
- javascript - Redux Persist looses data when I redirect to a different page
- java - Nifi stuck at "Launched Apache NiFi with Process ID 41"
- java - Two swagger endpoints inside a spring application
- flutter - 有没有办法让 TextSpan.text 在颤动中可选?
- html - 使用 -webkit-... 创建自定义文本颜色在 Safari 中创建边框
- vba - 如何使用 VBA (2013) 从 Enterprise projectserver 打开 MS Project 文件
- amazon-web-services - AWS QuickSight:计算列中的值
- python - 如何将 '2021-08-24T11:00:19Z' 转换为 datetime 并在 django 中找到它与当前时间之间的天数
- docker - 如何在 Dockerfile 中使用 ARG 和 ENV 的组合来防止不支持的修饰符被替换?
- decimal - Magento 2 / 价格和小计 4 位小数 但增值税和总计 2 位小数