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

唐山建站公司seo诊断分析

唐山建站公司,seo诊断分析,企业品牌网站建设应该怎么做,网站生成系统文章目录 样本不均衡的概念及影响样本不均衡的解决方法样本层面欠采样 #xff08;undersampling#xff09;过采样数据增强 损失函数层面模型层面采样集成学习 决策及评估指标 样本不均衡的概念及影响 机器学习中#xff0c;样本不均衡问题经常遇到#xff0c;比如在金融… 文章目录 样本不均衡的概念及影响样本不均衡的解决方法样本层面欠采样 undersampling过采样数据增强 损失函数层面模型层面采样集成学习 决策及评估指标 样本不均衡的概念及影响 机器学习中样本不均衡问题经常遇到比如在金融风险人员二分类问题中绝大部分的样本均为正常人群可用的风险样本较少。如果拿全量样本去训练一个严重高准确率的二分类模型那结果毫无疑问会严重偏向于正常人群从而导致模型的失效所以说训练样本比例均衡对模型的结果准确性至关重要。 首先来看概念 【样本不均衡】所谓的样本不平衡问题指的是数据集中正负样本比例极不均衡样本比例超过4:1的数据就可以称为不平衡数据。 样本不均衡的解决方法 常用的解决方法主要从样本层面、损失函数层面、模型层面以及评价指标等4方面进行优化。 样本层面 欠采样 undersampling imblearn imblearn库中的欠采样方法包含 随机欠采样 下面是一个使用随机欠采样的示例代码 from imblearn.under_sampling import RandomUnderSampler# 创建RandomUnderSampler对象 sampler RandomUnderSampler(random_state42)# 对训练数据进行欠采样 X_resampled, y_resampled sampler.fit_resample(X_train, y_train)在上述代码中X_train和y_train分别表示训练数据的特征和标签。fit_resample()方法将返回欠采样后的特征和标签。 2.集群中心欠采样 集群中心选择欠采样Cluster Centroids Undersampling这是一种基于聚类的欠采样方法它通过聚类算法将多数类别样本聚集到少数类别样本的中心点从而减少多数类别的数量。同样地可以使用imbalanced-learn库来实现集群中心选择欠采样。 下面是一个使用集群中心选择欠采样的示例代码 from imblearn.under_sampling import ClusterCentroids# 创建ClusterCentroids对象 sampler ClusterCentroids(random_state42)# 对训练数据进行欠采样 X_resampled, y_resampled sampler.fit_resample(X_train, y_train) 在上述代码中X_train和y_train分别表示训练数据的特征和标签。fit_resample()方法将返回欠采样后的特征和标签。这些方法都可以根据具体情况选择合适的欠采样策略。值得注意的是欠采样可能会导致信息丢失因此在应用欠采样之前需要仔细评估其对模型性能的影响并选择适当的评估指标来评估模型的效果。 过采样 过采样Oversampling是一种处理样本不均衡问题的方法它通过增加少数类别样本的数量来平衡数据集。在Python中有多种过采样方法可供选择。以下是几种常用的过采样方法及其示例代码 1. 复制样本Duplicate Samples这是一种简单直接的过采样方法它通过复制少数类别样本来增加其数量。 import numpy as np# 找出少数类别样本的索引 minority_indices np.where(y minority_class_label)[0]# 复制少数类别样本 duplicated_samples X[minority_indices]# 将复制的样本添加到原始数据集中 X_oversampled np.concatenate((X, duplicated_samples), axis0) y_oversampled np.concatenate((y, np.ones(len(duplicated_samples))), axis0)在上述代码中X和y分别表示原始数据集的特征和标签。minority_class_label是少数类别的标签。通过复制少数类别样本并将其添加到原始数据集中我们可以实现过采样。 2.SMOTESynthetic Minority Over-sampling TechniqueSMOTE是一种基于合成样本的过采样方法它通过在特征空间中插入新的合成样本来增加少数类别样本的数量。 from imblearn.over_sampling import SMOTE# 创建SMOTE对象 smote SMOTE(random_state42)# 对训练数据进行过采样 X_oversampled, y_oversampled smote.fit_resample(X_train, y_train) 在上述代码中X_train和y_train分别表示训练数据的特征和标签。fit_resample()方法将返回过采样后的特征和标签。3. ADASYNAdaptive Synthetic SamplingADASYN是一种基于合成样本的自适应过采样方法它根据样本密度来生成合成样本更关注于那些在决策边界附近的少数类别样本。 from imblearn.over_sampling import ADASYN# 创建ADASYN对象 adasyn ADASYN(random_state42)# 对训练数据进行过采样 X_oversampled, y_oversampled adasyn.fit_resample(X_train, y_train) 在上述代码中X_train和y_train分别表示训练数据的特征和标签。fit_resample()方法将返回过采样后的特征和标签。这些方法都可以根据具体情况选择合适的过采样策略。需要注意的是过采样可能会导致模型对少数类别样本过拟合的问题因此在应用过采样之前需要仔细评估其对模型性能的影响并选择适当的评估指标来评估模型的效果。 数据增强 损失函数层面 损失函数层面主流的方法也就是常用的代价敏感学习cost-sensitive为不同的分类错误给予不同惩罚力度权重在调节类别平衡的同时也不会增加计算复杂度。如下常用方法 这最常用也就是scikit模型的’class weight‘方法If ‘balanced’, class weights will be given by n_samples / (n_classes * np.bincount(y)). If a dictionary is given, keys are classes and values are corresponding class weights. If None is given, the class weights will be uniform.class weight可以为不同类别的样本提供不同的权重少数类有更高的权重从而模型可以平衡各类别的学习。如下图通过为少数类做更高的权重以避免决策偏重多数类的现象类别权重除了设定为balanced还可以作为一个超参搜索。示例代码请见github.com/aialgorithm clf2 LogisticRegression(class_weight{0:1,1:10}) # 代价敏感学习模型层面 模型方面主要是选择一些对不均衡比较不敏感的模型比如对比逻辑回归模型lr学习的是全量训练样本的最小损失自然会比较偏向去减少多数类样本造成的损失决策树在不平衡数据上面表现相对好一些树模型是按照增益递归地划分数据如下图划分过程考虑的是局部的增益全局样本是不均衡局部空间就不一定所以比较不敏感一些但还是会有偏向性. 采样集成学习 BalanceCascade BalanceCascade基于Adaboost作为基分类器核心思路是在每一轮训练时都使用多数类与少数类数量上相等的训练集然后使用该分类器对全体多数类进行预测通过控制分类阈值来控制FPFalse Positive率将所有判断正确的类删除然后进入下一轮迭代继续降低多数类数量。 在Python中BalanceCascade是一个用于处理样本不均衡问题的集成学习方法它基于级联分类器。BalanceCascade通过多次迭代地训练和删除错误分类的样本来减少多数类别的数量从而实现欠采样。 你可以使用imbalanced-learn库来实现BalanceCascade方法。下面是一个使用BalanceCascade的示例代码 python from imblearn.ensemble import BalanceCascade from sklearn.tree import DecisionTreeClassifier# 创建BalanceCascade对象并指定基分类器 bc BalanceCascade(estimatorDecisionTreeClassifier(random_state42))# 对训练数据进行欠采样 X_resampled, y_resampled bc.fit_resample(X_train, y_train) 在上述代码中X_train和y_train分别表示训练数据的特征和标签。fit_resample()方法将返回欠采样后的特征和标签。BalanceCascade方法会自动进行多轮迭代每轮迭代都会训练一个基分类器并删除错误分类的样本。这样多数类别的样本数量会逐步减少直到达到平衡。 请注意BalanceCascade方法可能需要较长的时间来运行因为它涉及多轮迭代和训练多个分类器。此外选择合适的基分类器也是很重要的你可以根据具体情况选择适合的分类器。 你可以在imbalanced-learn官方文档中找到更多关于BalanceCascade方法的详细信息和示例代码。 EasyEnsemble EasyEnsemble也是基于Adaboost作为基分类器就是将多数类样本集随机分成 N 个子集且每一个子集样本与少数类样本相同然后分别将各个多数类样本子集与少数类样本进行组合使用AdaBoost基分类模型进行训练最后bagging集成各基分类器得到最终模型。示例代码可见http://www.kaggle.com/orange90/ensemble-test-credit-score-model-example 在Python中EasyEnsemble是一种用于处理样本不均衡问题的集成学习方法。它通过将原始数据集划分为多个子集并在每个子集上训练一个基分类器来实现欠采样。 你可以使用imbalanced-learn库来实现EasyEnsemble方法。下面是一个使用EasyEnsemble的示例代码 from imblearn.ensemble import EasyEnsemble from sklearn.tree import DecisionTreeClassifier# 创建EasyEnsemble对象并指定基分类器和子集数量 ee EasyEnsemble(n_estimators10, base_estimatorDecisionTreeClassifier(random_state42))# 对训练数据进行欠采样 X_resampled, y_resampled ee.fit_resample(X_train, y_train) 在上述代码中X_train和y_train分别表示训练数据的特征和标签。n_estimators参数表示要生成的子集数量base_estimator参数表示用于训练每个子集的基分类器。EasyEnsemble方法会生成多个子集并在每个子集上训练一个基分类器。最终的预测结果是所有基分类器的投票结果或平均结果以达到平衡样本不均衡的效果。 请注意EasyEnsemble方法可能需要较长的时间来运行因为它涉及生成多个子集并训练多个分类器。同样地选择合适的基分类器也是很重要的你可以根据具体情况选择适合的分类器。 你可以在imbalanced-learn官方文档中找到更多关于EasyEnsemble方法的详细信息和示例代码。 通常在数据集噪声较小的情况下可以用BalanceCascade可以用较少的基分类器数量得到较好的表现基于串行的集成学习方法对噪声敏感容易过拟合。噪声大的情况下可以用EasyEnsemble基于串行并行的集成学习方法bagging多个Adaboost过程可以抵消一些噪声影响。此外还有RUSB、SmoteBoost、balanced RF等其他集成方法可以自行了解。 决策及评估指标 在处理不平衡样本问题时传统的评价指标如准确率可能会给出误导性的结果。因此为了更准确地评估模型在不平衡数据上的性能我们通常使用以下评价指标 1.混淆矩阵Confusion Matrix混淆矩阵是一个二维矩阵用于显示分类器在每个类别上的预测结果。它包含四个重要的指标真阳性True Positive, TP真阴性True Negative, TN假阳性False Positive, FP和假阴性False Negative, FN。根据这些指标可以计算其他评价指标。 2.精确率Precision精确率是指模型预测为正例的样本中实际为正例的比例。它可以通过以下公式计算Precision TP / (TP FP)。精确率越高表示模型对于正例的判断越准确。 3.召回率Recall召回率是指实际为正例的样本中模型正确预测为正例的比例。它可以通过以下公式计算Recall TP / (TP FN)。召回率越高表示模型对于正例的识别能力越强。 4.F1值F1-ScoreF1值是精确率和召回率的调和平均值用于综合评估模型的性能。它可以通过以下公式计算F1 2 * (Precision * Recall) / (Precision Recall)。F1值越高表示模型在精确率和召回率之间取得了更好的平衡。 5.ROC曲线和AUCReceiver Operating Characteristic Curve and Area Under the CurveROC曲线是以假阳性率False Positive Rate, FPR为横轴真阳性率True Positive Rate, TPR为纵轴绘制的曲线。AUC表示ROC曲线下的面积用于衡量模型在不同阈值下的分类性能。AUC的取值范围在0到1之间越接近1表示模型性能越好。 以上评价指标可以帮助我们更全面地评估模型在不平衡样本上的性能。根据具体问题的需求选择适当的评价指标来评估模型的效果是非常重要的。
http://www.w-s-a.com/news/288931/

相关文章:

  • 漳州市住房建设局网站网站一般多长
  • 国外做网站推广小程序制作二维码签到
  • 做网站需要域名网站建设诚信服务
  • 做物品租赁网站网站建设的完整流程
  • 响应式企业网站开发所用的平台西安知名网站推广
  • 高端响应式网站建设wordpress 全屏主题
  • 国内工程机械行业网站建设现状ui是什么意思
  • 成都网站开发哪家公司好出售家教网站模板
  • 订阅号做流量 那些电影如何链接网站温州市建设监理协会网站
  • 成都网站建设成功案例单招网商丘网站建设大全
  • 受欢迎的购物网站建设网推专员是做什么的
  • 商城网站前期准备湖南郴州建设局网站
  • 企业如何在自己的网站上做宣传外贸自建站可以自己做网站吗
  • 甘肃网站建设制作商网站空间哪家公司的好
  • 思途旅游网站建设系统用vscode做网站
  • 广州站改造最新消息半年工作总结ppt模板
  • logo模板下载网站推荐哪家网站开发培训好
  • 做外贸网站效果图页面关键词优化
  • 广平网站建设成都活动轨迹
  • 小型网站网站建设需要网络公司是什么行业
  • 滑动 手机网站 代码网页制作与设计讨论
  • 自己做网站处理图片用什么软件wordpress html5支持
  • 校园网站怎么建软文文案范文
  • 中国建设官方网站如何创建自己的软件
  • 来宾住房与城乡建设网站天津西青区怎么样
  • 西安网站建设培训班鄂州网页定制
  • 西部数码网站备份自己怎么做网站啊
  • h5网站开发用什么软件制作公司网站建设代理怎么做
  • 网站建设资料准备网上购物app有哪些
  • 沧州做网站优化哪家公司便宜国内百度云网站建设