python - 从逻辑回归绘制预测
问题描述
我想在散点图中绘制 y_test 和预测。我使用逻辑回归作为模型。
from sklearn.linear_model import LogisticRegression
vectorizer = CountVectorizer()
X = vectorizer.fit_transform(df['Spam'])
y = df['Label']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.30, random_state=27)
lr = LogisticRegression(solver='liblinear').fit(X_train, y_train)
pred_log = lr.predict(X_test)
我试过如下
## Plot the model
plt.scatter(y_test, pred_log)
plt.xlabel("True Values")
plt.ylabel("Predictions")
我得到了这个:
我不认为这是我应该期待的。
y_test
是 (250,),同样pred_log
是 (250,)
我是在考虑绘制错误的变量,还是它们是正确的?我不知道这四个值的情节是什么意思。我本来希望情节中有更多的点,但也许我错了。
如果您需要更多信息,请告诉我。谢谢
解决方案
我想你知道 LogisticRegression 是一种分类算法。如果您进行二元分类,它将预测预测类别是 0 还是 1。如果您想可视化模型预制的方式,您应该考虑混淆矩阵。您不能使用散点图来可视化分类结果。
import seaborn as sns
cm = confusion_matrix(y_true, y_pred)
sns.heatmap(cf_matrix, annot=True)
混淆矩阵显示有多少标签有正确的预测,有多少是错误的。查看混淆矩阵,您可以计算模型的准确程度。我们可以使用不同的指标,如精度、召回率和 F1 分数。
推荐阅读
- javascript - 将带有 HTML DOM 的 SDK 加载到 nodejs 中
- azure-data-factory - Azure 数据工厂:管道失败时发送电子邮件
- java - 如何使用枚举获取星期几
- d3.js - wrap 未定义 D3.js 文本
- javascript - 通过 JavaScript 向 Openproject 发送 Web 请求
- c# - C# - 多对一关系 Automapper
- python - 实时人脸识别
- java - 从 java 运行 shell 脚本并捕获返回值
- c++ - -vec.rbegin 在我的二进制搜索代码中的含义?
- elasticsearch - Elasticsearch 按列值查找重复文档