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

手机网站建设设计什么网站可以接图做图

手机网站建设设计,什么网站可以接图做图,阿里云的wordpress如何设置密码,音乐网站开发思路1.混淆矩阵2.ROC曲线 AUC指标 理解混淆矩阵和ROC曲线之前#xff0c;先区分几个概念。对于分类问题#xff0c;不论是多分类还是二分类#xff0c;对于某个关注类来说#xff0c;都可以看成是二分类问题#xff0c;当前的这个关注类为正类#xff0c;所有其他非关注… 1.混淆矩阵2.ROC曲线 AUC指标 理解混淆矩阵和ROC曲线之前先区分几个概念。对于分类问题不论是多分类还是二分类对于某个关注类来说都可以看成是二分类问题当前的这个关注类为正类所有其他非关注类为负类。因为样本的真实值有正负两类而模型的预测值也有正负两类因此样本的真实值和模型的预测值之间产生了下面4种组合 真正例(True Positives/TP)在所有真实值为正类的样本中模型预测值也为正类的样本数。假正例(False Positives/FP)在所有真实值为负类的样本中模型预测值为正类的样本数。真负例(True Negatives/TN)所有真实值为负类的样本中模型预测值也为负类的样本数。假负例(False Negatives/FN)所有真实值为正类的样本中模型预测值为负类的样本数。 从上面几个定义可以知道 1样本总数 TPFPTNFN 2所有真实值为正类的样本总数 TPFN 3所有真实值为负类的样本总数 TNFP 1.混淆矩阵 使用sklearn自带的鸢尾花数据集数据集里鸢尾花包含3个分类。 import numpy as np from sklearn.datasets import load_iris from sklearn.preprocessing import MinMaxScaler from sklearn.model_selection import train_test_split from sklearn.linear_model import LogisticRegression from sklearn.metrics import accuracy_score, classification_report, confusion_matrix# 获取特征值与目标值 data load_iris() X, y data[data], data[target]# 自带的数据集分类准确率为1为了后面更好的基于混淆矩阵验证相关指标的计算为训练集添加均值0标准差2的高斯噪声 np.random.seed(42) noise np.random.normal(0, 2, (len(X), len(X[0]))) X noise# 特征值归一化到区间[-1,1] scaler MinMaxScaler(feature_range(-1, 1)) X_scaled scaler.fit_transform(X)# 划分训练集与测试集 X_train, X_test, y_train, y_test train_test_split(X_scaled, y, test_size0.2, random_state42)# 创建逻辑回归模型、训练并预测 model LogisticRegression(multi_classmultinomial, max_iter1000) model.fit(X_train, y_train) y_pred model.predict(X_test)# 获取模型混淆矩阵、分类报告、准确率 print(f混淆矩阵\n{confusion_matrix(y_test, y_pred)}) print(f分类报告\n{classification_report(y_test, y_pred)}) print(f准确率\n{accuracy_score(y_test, y_pred)})output 混淆矩阵中横向表示真实值纵向表示预测值。比如第一个位置7表示实际类别为0且预测类别为0的样本有7个。基于此混淆矩阵可以衍生下面相关指标 1准确率(accuracy)准确率表示模型对一个样本类别预测正确的可能性是相对整体来说的。计算方式为所有预测正确的样本斜对角线之和/ 样本总数本例中accuracy(748)/300.63… 2精确率(precision)精确率是针对某个具体关注类来说的精确率关注的是对于所有预测值为该类的样本中真实值也属于该类的样本所占的比例计算公式为 T P T P F P \frac{TP}{TPFP} TPFPTP​。比如对于类别0模型预测的该类样本数(702)9而真实值为该类的样本数为7那么类别0的precision7/90.77…。精确率反映了“模型找的对不对” 3召回率(recall)同样召回率也是针对某个具体关注类来说的关注的是所有真实值为该类的样本中模型能正确预测为该类的样本所占的比例计算公式 T P T P F N \frac{TP}{TPFN} TPFNTP​。还是拿类别0来说真实值为0的样本总数(730)10模型能正确预测为该类的样本总数为7所以类别0的召回率7/100.7。召回率代表了“模型找的全不全” 4F1-scoreF1分数是精确率与召回率的调和平均数计算公式为 2 ∗ p r e c i s i o n ∗ r e c a l l p r e c i s i o n r e c a l l \frac{2*precision*recall}{precisionrecall} precisionrecall2∗precision∗recall​。对于类别0的F1-score 2 ∗ 0.78 ∗ 0.7 0.78 0.7 \frac{2*0.78*0.7}{0.780.7} 0.780.72∗0.78∗0.7​0.737…F1分数用来表示模型在关注的类上识别正类的综合表现最大值1表示分类效果最好完全正确最小值0表示分类效果最差完全错误。 分类报告直接提供了每个分类下的精确率、召回率、F1分数等指标。最下面两行的macro avg和weighted avg分别表示对每个指标的算术平均和加权平均最后一列的support表示对应的样本数量。 2.ROC曲线 AUC指标 ROCReceiver Operating Characteristic。 AUCArea Under the [ROC] CurveROC曲线下的面积。 ROC曲线的绘制中需要用到两个指标 真正率(True Positive Rate/TPR)在所有真实类别为正类的样本中模型正确识别为正类的样本所占的比例也就是把正类样本识别成正类样本的概率。反映了模型识别正类的能力可以看成是模型在识别正类样本时的收获能力计算公式 T P T P F N \frac{TP}{TPFN} TPFNTP​。假正率(False Positive Rate/FPR)在所有真实类别为负类的样本中模型错误识别为正类的样本所占的比例即把负类样本识别为正类样本的概率。反映了模型识别为正类样本时的错误程度可以理解成模型在识别正类样本时付出的代价计算公式 F P T N F P \frac{FP}{TNFP} TNFPFP​。 大多数分类模型都是通过计算出每个样本属于正类的概率和属于正类的概率阈值进行比较来对样本进行分类的。正类的概率阈值判定为正类反之判定为负类。 ROC曲线是由不同概率阈值下真正率(y轴)和假正率(x轴)对应的一系列点所构成的曲线x轴从左到右判定为正类的概率阈值从1到0逐渐递减。ROC曲线用来描述二分类模型预测效果对于多分类问题是将关注类视为正类其他类视为负类。 ROC曲线的具体绘制过程可以理解为 对于测试集中的每个样本利用分类器预测其为正类的概率值。将这些概率值按照从大到小的顺序排列作为阈值。对于每个阈值分别计算真正率和假正率对应坐标轴上的一个点。连接这些点。 从真正率和假正率的计算可以看出曲线越往右判定为正类的概率阈值越低那么就有更多的样本被归类到正类当中因为分母是不变的分子(TP/FP)随着正类样本增多都会逐渐增大因此ROC的曲线走势应该是一个从(0, 0)到(1, 1)逐渐上升的曲线。 同时因为x轴代表了在识别正类时付出的代价y轴代表了在识别正类时的收获因此当x值越小y值越大即曲线越靠近左上角(0, 1)说明模型的分类效果越好。 而AUC是ROC曲线下的面积它衡量的是模型在所有概率阈值下识别正类时“收获”与“代价”的比重因此AUC值越大越好值域范围[0, 1]。 AUC0.5模型不具有分类效果相当于盲猜。 AUC0.5分类效果最差不如盲猜。 AUC0.5有一定的分类效果值越接近1分类效果越好。 下面还是以鸢尾花的数据集为例通过一个demo对ROC和AUC进行计算和绘制。 import numpy as np import matplotlib.pyplot as plt from sklearn.datasets import load_iris from sklearn.preprocessing import MinMaxScaler from sklearn.model_selection import train_test_split from sklearn.linear_model import LogisticRegression from sklearn.metrics import roc_curve, auc# 获取特征值与目标值 data load_iris() X, y data[data], data[target]# 仅使用两个类别0 1 X X[y ! 2] y y[y ! 2]# 训练集添加噪声 np.random.seed(42) noise np.random.normal(0, 2, (len(X), len(X[0]))) X noise# 归一化 scaler MinMaxScaler(feature_range(-1, 1)) X_scaled scaler.fit_transform(X)# 划分数据集、创建逻辑回归模型、训练 X_train, X_test, y_train, y_test train_test_split(X_scaled, y, test_size0.2, random_state42) model LogisticRegression(multi_classmultinomial, max_iter1000) model.fit(X_train, y_train) y_pred model.predict(X_test)# 获取每个样本预测为正类样本的概率[:, 0]是负类样本的概率 y_pred_prob model.predict_proba(X_test)[:, 1]# 计算FPR、TPR和AUC值 fpr, tpr, thresholds roc_curve(y_test, y_pred_prob) roc_auc auc(fpr, tpr)# 绘制ROC曲线 plt.figure() plt.plot(fpr, tpr, colorgreen, lw1, labelfROC Curve (AUC{roc_auc:.2f})) plt.plot([0, 1], [0, 1], colorred, lw1, linestyle--) plt.xlim([0.0, 1]) plt.ylim([0.0, 1.05]) plt.xlabel(FPR) plt.ylabel(TPR) plt.title(ROC Curve) plt.legend(loclower right) plt.show()output 绿线代表ROC曲线红线相当于盲猜绿线在红线上方距离红线越远模型分类效果越好。
http://www.pierceye.com/news/351334/

相关文章:

  • 济南seo网站推广公司帮别人做彩票网站吗
  • 郑州市网站建设怎么样wordpress wp editor
  • 台州网站建设 推广公司网络营销课程总结范文
  • 网站 外包 版权杭州做官网的有哪些公司
  • 微信网站html5中山平面设计公司
  • 建站网站教程视频世界网站排名
  • 做小程序的流程seo 整站优化
  • 网站前台代码国内网站主机
  • 网站后台asp源码高明顺德网站建设
  • 网站建设推广软文网络规划设计师考试全程指导(第2版) pdf
  • 备案网站多少钱支持wordpress的空间
  • 哈尔滨网页模板建站wordpress网页设定
  • 哔哩哔哩网站怎么做视频软件进入公众号会不会泄露个人信息
  • 域名过期做的网站怎么办wap网站前景
  • 网站设计公司 宁波少儿编程课
  • 建设信用卡银行积分商城网站网站关键词优化培训
  • 网站建设对电子商务的意义深圳网站设计兴田德润简介
  • 门设计的网站建设北京最大专业网站建设
  • 黄埔建网站公司长沙 网页制作
  • 网站页面海珠网站建设方案
  • 东宁网站制作公司产品彩页设计
  • 郑州大搜索网站为什么要建立网站
  • 广东网站建设公司排名网页设计模板网站免费
  • 佛山网站建设小程序注册营业执照申请
  • 网站建设文案策划鞍山兼职吧
  • 手机投资网站合肥seo优化排名公司
  • 上海网站制作公司的排名药品网站如何建设
  • 模板网站建设包括哪些wordpress怎么加关键词和描述
  • 温岭专业自适应网站建设响应式网站 模版
  • 高端包装设计优化 英语