当前位置: 首页 > news >正文

如何建一个外贸网站福建省建设工程质量安全网站

如何建一个外贸网站,福建省建设工程质量安全网站,辽宁移动和生活app下载,帝国cms做网站怎样维护#x1f308; 个人主页#xff1a;十二月的猫-CSDN博客 #x1f525; 系列专栏#xff1a; #x1f3c0;深度学习_十二月的猫的博客-CSDN博客 #x1f4aa;#x1f3fb; 十二月的寒冬阻挡不了春天的脚步#xff0c;十二点的黑夜遮蔽不住黎明的曙光 目录 1. 前言 2. 模… 个人主页十二月的猫-CSDN博客  系列专栏 深度学习_十二月的猫的博客-CSDN博客  十二月的寒冬阻挡不了春天的脚步十二点的黑夜遮蔽不住黎明的曙光 目录 1. 前言 2. 模型评估综述 2.1 什么是模型评估 2.2 评估类型 2.3 模型泛化能力 2.4 过拟合与欠拟合 3. 常见的分类模型评估方式 3.1 准确率Accuracy 3.2 精确率(Precision) 3.3 召回率Recall 3.4 F1-score 3.5 ROC曲线及AUC值 3.6 PR曲线 4. 代码实现 5. 总结  1. 前言 本篇针对的是刚刚接触机器学习的友友~~ 在猫猫刚刚入门机器学习时有位学长问我召回率是什么 猫猫那是一脸懵逼然后他又来了三连问。准确率是什么精准率是什么有什么曲线评估模型性能吗 在当时猫猫的脑海中模型好坏不就是看他预测准了多少个样本准确率多少吗哪来那么多东西哈哈哈哈哈哈机器学习还是好玩的。 想到很多刚刚入门的友友也可能苦恼于模型评估指标猫猫便写了这篇博客希望能给大家带来点帮助。 2. 模型评估综述 2.1 什么是模型评估 模型评估是指在机器学习中对于一个具体方法输出的最终模型使用一些指标和方法来评估它的泛化能力。这一步通常在模型训练和模型选择之后正式部署模型之前进行。模型评估不针对模型本身而是针对问题和数据因此可以用来评价不同方法的模型的泛化能力以此决定最终模型的选择。 模型评估量化模型在解决目标问题上的能力 2.2 评估类型 机器学习的基本任务大致分为三类分别是分类(Classification)、回归(Regression)和聚类(Clustering)在本文仅介绍分类的模型评估。 2.3 模型泛化能力 模型的泛化能力是机器学习的一个重要概念和指标。是指一个模型在训练集之外的未知数据上的表现能力泛化能力强的模型能够正确学习到数据的普遍规律并将其运用到新的数据上从而做出准确的预测。 简单地说当模型在训练样本上表现良好并且能在新的数据样本上保持相同的表现我们就可以说这个模型的泛化能力强。 2.4 过拟合与欠拟合 过拟合与欠拟合是机器学习中常见的两个概念描述的是模型在训练数据和未知数据上表现的差异。下图中第一到第三的图分别是欠拟合、正好和过拟合三种状态。 过拟合        过拟合表现为在训练数据上表现优秀的那在新数据集上表现较差通常是因为模型过于复杂学习到了数据集中的细节和噪声而不是数据的真实分布因而泛化能力差。 举个很经典的例子当我们设计一个模型用于判断一个物品是否是树叶而训练集中有几个样本的叶片边缘带有尖刺模型作者希望他的模型能够符合贴近他的每一个样本因而将带有“尖刺边缘”这一不是明显特征的特点纳入了参数中这样一来模型就能够完美贴合训练样本但在应用时会发现模型容易钻牛角尖会将不带尖刺边缘的样本排除无法识别不带尖刺边缘的树叶这就导致了模型的泛化能力差。 解决模型过拟合的问题有以下几种方法 增加数据量以提供更多信息减少噪声的影响简化模型减少模型参数的数量通过交叉验证评估模型的泛化能力 欠拟合        欠拟合则与过拟合相反由于模型过于简单无法学习到数据的足够特征无法正确捕捉数据的复杂性和变化没有学习到数据的规律。这就导致模型不管是在训练样本还是未知样本上的表现都不佳。 常见的解决欠拟合的方法有 增加模型的复杂度如增加更多的特征或使用更复杂的模型收集更多的数据提供更加丰富的信息给模型增加训练时间或者调整模型的超参数 3. 常见的分类模型评估方式 混淆矩阵是分类模型巩固的一个重要工具可以直观展示模型的预测结果和实际结果之间的关系通常由以下四个部分构成 真正类 (True Positives, TP): 模型正确地预测正类的数量。假负类 (False Negatives, FN): 模型错误地将正类预测为负类的数量。假正类 (False Positives, FP): 模型错误地将负类预测为正类的数量。真负类 (True Negatives, TN): 模型正确地预测负类的数量。 二元混淆矩阵格式如下 多元分类矩阵格式如下 3.1 准确率Accuracy 准确率是指模型正确预测的样本总数占总样本总数的比例其计算公式为 3.2 精确率(Precision) 精确率的概念比较容易与准确率的概念混淆准确率的目标是所有样本计算的是所有分类正确样本占总样本的多少而精确率是指在所有被模型预测为正类的样本中实际为正类的样本的比例关注的是被模型分为此类的数据中有多少是正确的。 当我们使用精确率下使用Precision代替作为考量时优点是不容易出现假正类但是当precision值过高时容易出现模型偏向某一类别的情况因为此时模型会倾向于预测多数类别而忽略了少数类别的预测。 举一个例子假设在一个疾病诊断问题中疾病发生的实际情况正类非常罕见。如果模型仅仅通过预测大多数人都是健康的负类来提高Precision那么它可能会忽略真正的病例因为这些病例在数据中占比很小。这样的模型虽然精确度高但其实用性非常有限因为它未能有效识别和预测少数但重要的正类样本。 在混淆矩阵中这表现为某一行的T除以本行上所有数字的和如下列表格标注了颜色的A行就是红色的TA值除以TA加FA的和。 其公式为 3.3 召回率Recall 召回率下使用Recall替代衡量的是模型正确识别为正类的实例真正类占所有实际正类实例的比例。当recall值高时模型会更容易捕捉到正类但也会导致假正类出现的比例增加的情况。 举个例子说明假设我们有一个用于检测信用卡欺诈的模型其中正类欺诈非常罕见。在10,000个交易中可能只有100个是欺诈性的。如果我们只关注召回率模型可能会被调整为将更多的交易标记为欺诈以确保它不会错过那些真正的欺诈案例。例如模型可能会将1,000个交易标记为欺诈其中包括所有100个真正的欺诈案例和900个实际上是合法的交易。在这种情况下召回率是100%因为所有的欺诈交易都被正确地识别了。然而这样做的代价是产生了很多假正类False Positives—那些被错误标记为欺诈的合法交易。这会导致很多不必要的麻烦比如客户满意度下降和增加的客户服务成本。 在混淆矩阵中这表现为某一列中的T除以本列上左右数字的和如下列表格,计算recall即红色字体的值除以红色和绿色字体的值的和,计算设计的数据包括正确分类的本类型样本的值和被错误分类至本类型的样本的值。 其公式为 3.4 F1-score 正如上面所说的当我们单独地使Precision值或者Recall值增高都会使模型走向极端因而我们引入了F1值即Recall和Precision的调和平均数因为F1值综合考虑了Recall和Precision因而其尤其适合在数据不平衡不同类别的样本数据量差异很大的情况时进行使用。当分数更高时说明模型再识别少数类方面的能力更强同时保持了较高的Recall和Precision平衡。其公式如下 值得一提的是这是在Recall和Precision的比重相同的同属情况下使用的如果你认为其中某个值更加重要你可以使用Fβ-score,其公式为 其中的β是Recall和Precision的比值当β大于1时该分数会给予Recall更高的权重。 3.5 ROC曲线及AUC值 在二分类的过程中我们通常会设置一个阈值取值为0到1之间大于阈值的会被归于正类小于阈值的会被归为负类当我们降低阈值时样本会更容易地被归为正类但也会更容易出现假正类反之则更容易出现遗漏的情况而随着阈值的变化混淆矩阵也会出现变化为了直观地体现这种变化我们引入了ROC曲线。 在ROC曲线中x和y轴分别为假阳性率TPR和真阳性率FPR其中假阳性率表示在所有阴性即Negative样本中被错误地预测为阳性即Positive的比例计算公式为 而真阳性率又称召回率表示所有实际阳性样本被正确预测为阳性的比例计算公式为 通过ROC曲线我们可以明确地直观地看出模型的好坏为了模型准确率更高我们自然而然地希望真阳性率更高而假阳性率更低因此当曲线越靠近左上角我们会认定这条曲线所代表的模型判断准确率更高如下图所示 这是通过KNN算法和决策树算法对sklearn库内置的乳腺癌库进行训练预测的ROC曲线结果图如图所示由于代表KNN算法的折线更靠近左上角因而我们可以说在这个数据集上使用了KNN算法的模型表现更好。 而AUC(Area Under the Curve)值就是指曲线下的面积当AUC值越接近1可说明模型的分类性能更好。如下图涂黄的部分就是该曲线的AUC值。 3.6 PR曲线 PR曲线即精确率-召回率曲线它是以召回率Recall为x轴精确率Precision为y轴的曲线在机器学习中尤其在再不平衡数据集中非常有用。 当我们在改变模型的分类阈值时TP、FP和FN等都会发生变化从而导致Recall和Precision发生变化PR曲线展示了这种变化关系可以帮助我们理解模型在不同阈值下的性能表现。通常来说曲线越靠近右上方代表模型的表现越好。 其AUC值同样是一个重要的性能指标反映了模型在所有可能的分类阈值上的平均效果当AUC值越大表示模型性能越好。 如下图所示的是KNN算法和决策树算法对sklearn库内置的乳腺癌库进行训练预测的PR曲线的结果图 4. 代码实现 使用sklearn库中内置的算法和数据集进行实操仅仅作为一个补充练习 from sklearn.datasets import load_breast_cancer # 导入乳腺癌数据集 from sklearn.model_selection import train_test_split # 导入数据集分割工具 from sklearn.neighbors import KNeighborsClassifier # 导入K近邻分类器 from sklearn.tree import DecisionTreeClassifier # 导入决策树分类器 from sklearn.metrics import roc_curve, auc, precision_recall_curve, average_precision_score # 导入性能评估工具 import matplotlib.pyplot as plt # 导入绘图库# 加载乳腺癌数据集 data load_breast_cancer() X data.data # 特征数据 y data.target # 标签数据# 将数据集分割为训练集和测试集 X_train, X_test, y_train, y_test train_test_split(X, y, test_size0.2) # 将训练集和测试集按8:2的比例拆分# 初始化并训练K近邻分类器 knn_classifier KNeighborsClassifier(n_neighbors5) knn_classifier.fit(X_train, y_train)# 初始化并训练决策树分类器 tree_classifier DecisionTreeClassifier(random_state42) tree_classifier.fit(X_train, y_train)# 预测测试集的概率 y_scores_knn knn_classifier.predict_proba(X_test)[:, 1] y_scores_tree tree_classifier.predict_proba(X_test)[:, 1]# 计算KNN的ROC曲线和AUC值 fpr_knn, tpr_knn, _ roc_curve(y_test, y_scores_knn) roc_auc_knn auc(fpr_knn, tpr_knn)# 计算决策树的ROC曲线和AUC值 fpr_tree, tpr_tree, _ roc_curve(y_test, y_scores_tree) roc_auc_tree auc(fpr_tree, tpr_tree)# 计算KNN的精确度-召回率曲线和平均精确度 precision_knn, recall_knn, _ precision_recall_curve(y_test, y_scores_knn) average_precision_knn average_precision_score(y_test, y_scores_knn)# 计算决策树的精确度-召回率曲线和平均精确度 precision_tree, recall_tree, _ precision_recall_curve(y_test, y_scores_tree) average_precision_tree average_precision_score(y_test, y_scores_tree)# 绘制ROC曲线 plt.figure(figsize(14, 6))plt.subplot(1, 2, 1) plt.plot(fpr_knn, tpr_knn, colordarkorange, lw2, labelKNN (AUC %0.2f) % roc_auc_knn) plt.plot(fpr_tree, tpr_tree, colorgreen, lw2, labelDecision Tree (AUC %0.2f) % roc_auc_tree) plt.plot([0, 1], [0, 1], colornavy, lw2, linestyle--) plt.xlim([0.0, 1.0]) plt.ylim([0.0, 1.05]) plt.xlabel(False Positive Rate) plt.ylabel(True Positive Rate) plt.title(ROC Curve) plt.legend(loclower right)# 绘制精确度-召回率曲线 plt.subplot(1, 2, 2) plt.plot(recall_knn, precision_knn, colorblue, lw2, labelKNN (AP %0.2f) % average_precision_knn) plt.plot(recall_tree, precision_tree, colorpurple, lw2, labelDecision Tree (AP %0.2f) % average_precision_tree) plt.xlabel(Recall) plt.ylabel(Precision) plt.title(P-R Curve) plt.legend(loclower left)plt.tight_layout() plt.show() 5. 总结  如果想要学习更多深度学习知识大家可以点个关注并订阅持续学习、天天进步 你的点赞就是我更新的动力如果觉得对你有帮助辛苦友友点个赞收个藏呀~~~ 本篇文章转载自 机器学习——常见模型评估指标 - Dronnnnn - 博客园
http://www.hkea.cn/news/14390344/

相关文章:

  • php做投票网站沪浙网站
  • 景山网站建设公司网站程序风格
  • 咸阳学校网站建设公司公司网站制作哪家公司好
  • python wordpress建站一个完整的网站建设
  • 江津网站建设上海大学生兼职做网站
  • 秦皇岛做网站的公司选汉狮嘉兴网站建设维护
  • 怎么做网站和艺龙对接重庆企业建站模板
  • 免费不良正能量网站链接网站设计技术有哪些
  • 河间米各庄网站建设制作纵横天下网站建设
  • 网站优化软件下载注册永久免费域名
  • 深圳设计品牌网站工业设计网站免费
  • 网站建设负责那内容上传吗淘宝图片做链接的网站
  • 广东省优质高职院校建设网站百度推广话术全流程
  • c 小说网站开发教程企业微信app开发
  • 江苏商城网站制作公司互联网保险发展现状
  • 网站添加定位怎么做玖玖玖人力资源有限公司
  • 网站优化 英文wordpress博客伪静态
  • 医院网站加快建设方案阿里云快速建站教程
  • 合肥市建设工程合同备案网站网站部署步骤网站开发
  • 罗湖商城网站建设哪家技术好网站微信二维码侧边栏漂浮框
  • 从seo角度去建设网站网站的开发是使用什么技术
  • 制作宝安网站建设c .net 做网站
  • 排版设计模板免费seo岗位有哪些
  • 做的网站怎才能被别人访问到如何建设大型电子商务网站
  • 网站设计不包括插画师零基础自学
  • 山东网站营销推广费用大气学校网站
  • 微商自己做网站宜兴网站开发
  • 网站图片 原则企业网站的搭建流程
  • 网站编辑没有经验可以做吗电商网站销售数据分析
  • 网站快速排名优化报价网站优化锚文本链接之精髓