网站的二级目录怎么做,招聘简历模板,建网站需要哪些知识,如何免费建立自己的网站#x1f4dc;用例
#x1f4dc;Python社群纽带关系谱和图神经 | #x1f4dc;多标签混淆矩阵模型 | #x1f4dc;二元分类分层混淆矩阵模型 | #x1f4dc;混淆矩阵评估特征归因
✒️梗概
混淆矩阵是评估分类模型性能的有用工具。 该矩阵通过将预测值与实际值进行比较用例
Python社群纽带关系谱和图神经 | 多标签混淆矩阵模型 | 二元分类分层混淆矩阵模型 | 混淆矩阵评估特征归因
✒️梗概
混淆矩阵是评估分类模型性能的有用工具。 该矩阵通过将预测值与实际值进行比较可以深入了解模型对数据进行分类的程度。 理解和解释混淆矩阵可能具有挑战性特别是对于机器学习的初学者来说。 然而理解每个单元代表的内容至关重要因为它可以帮助您评估模型的优点和缺点。
我们将使用 Python 中的 Scikit-learn 库深入讨论混淆矩阵。 我们将带您了解混淆矩阵到底是什么、为什么它很重要以及如何有效地解释其结果。 此外我们将引导您构建一个简单的机器学习模型作为示例该模型根据花卉的测量值对花卉种类进行分类。
混淆矩阵是用于评估机器学习算法性能的表格。它显示了算法在每个类别中正确或错误分类的样本数量。混淆矩阵有两个维度实际维度和预测维度。在二元分类中只有两个类正类和负类它看起来像这样 Predicted Positive Predicted Negative Actual Positive True Positive (TP) False Negative (FN) Actual Negative False Positive (FP) True Negative (TN) \begin{array}{|l|c|l|} \hline \text { Predicted Positive } \text { Predicted Negative } \\ \hline \text { Actual Positive } \text { True Positive (TP) } \text { False Negative (FN) } \\ \hline \text { Actual Negative } \text { False Positive (FP) } \text { True Negative (TN) } \\ \hline \end{array} Actual Positive Actual Negative Predicted Positive True Positive (TP) False Positive (FP) Predicted Negative False Negative (FN) True Negative (TN) 让我们考虑一个二元分类问题其中有两个类“正”和“负”。
真正例TP这是指模型在实际情况下正确预测实例属于正类。换句话说TP是指被模型正确预测为正例的正例实例的数量。真负例TN这是指模型在实际情况下正确预测实例属于负类。换句话说TN是指被模型正确预测为负例的负例数量。假负例FP这是指模型错误地预测某个实例属于正类而实际上它属于负类。 换句话说FP指的是被模型错误预测为正例的负例的数量。假负例FN这是指模型错误地预测某个实例属于负类而实际上它属于正类。 换句话说FN 指的是被模型错误预测为负例的正例数量。
混淆矩阵是机器学习中评估分类模型性能的常用工具。以下是一些现实世界或业务用例混淆矩阵可能会有所帮助
欺诈检测银行使用机器学习模型来识别欺诈交易。 混淆矩阵通过显示真阳性、真阴性、假阳性和假阴性的数量帮助银行了解模型的执行情况医疗诊断医院使用机器学习模型来诊断患有某种疾病的患者。 混淆矩阵通过显示真阳性、真阴性、假阳性和假阴性的数量帮助医生了解模型的准确性。客户流失预测公司使用机器学习模型来预测哪些客户可能会流失停止使用他们的服务。 混淆矩阵通过显示真阳性、真阴性、假阳性和假阴性的数量帮助公司了解模型的表现如何。情绪分析社交媒体平台使用机器学习模型来分析用户评论并确定它们是正面还是负面。 混淆矩阵通过显示真阳性、真阴性、假阳性和假阴性的数量帮助平台了解模型的准确性。图像分类电子商务网站使用机器学习模型自动将产品图像分类为不同类别例如服装或电子产品。 混淆矩阵通过显示每个类别的真阳性、真阴性、假阳性和假阴性的数量帮助他们了解图像分类算法的执行情况。
让我们看一个对 Scikit-Learn 的乳腺癌数据集进行二元分类的示例。
from sklearn.datasets import load_breast_cancer
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import confusion_matrixdata load_breast_cancer()X_train, X_test, y_train, y_test train_test_split(data.data, data.target, random_state0)model LogisticRegression()
model.fit(X_train, y_train)y_pred model.predict(X_test)cm confusion_matrix(y_test, y_pred)print(Confusion Matrix:)
print(cm)
使用Scikit-Learn中的confusion_matrix只会显示混淆矩阵的Numpy数组但如果想绘制它我们可以使用Scikit-Learn中的plot_confusion_matrix函数如下所示
from sklearn.metrics import plot_confusion_matrix
plot_confusion_matrix(model, X_test, y_test)这将使用 Matplotlib 输出混淆矩阵图
现在让我们探讨一个使用多个类而不仅仅是 2 个二元类的混淆矩阵的示例。
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.metrics import confusion_matrix, plot_confusion_matrix
from sklearn.tree import DecisionTreeClassifier
import matplotlib.pyplot as pltiris load_iris()
X iris.data
y iris.targetX_train, X_test, y_train, y_test train_test_split(X, y, test_size0.3)clf DecisionTreeClassifier()
clf.fit(X_train, y_train)y_pred clf.predict(X_test)cm confusion_matrix(y_test, y_pred)
plot_confusion_matrix(clf, X_test, y_test) 行代表真实类别列代表预测类别。 对角线元素从左上到右下显示每个类别的正确预测数量。 非对角线元素显示错误分类。 例如在我们的例子中我们可以看到 0 类的 15 个样本被正确预测没有错误但是我们可以看到 1 类有两个错误分类为 2 类。
参阅亚图跨际