如何处理 SVM 中的数据不平衡问题?

2024-01-12

如果我在较大的训练集上训练 SVM,并且类变量为 True 或 False,那么与训练集中的 False 值数量相比,True 值很少会影响训练模型/结果吗?它们应该相等吗?如果我的训练集 True 和 False 的分布不相等,我该如何解决这个问题,以便我的训练尽可能高效地完成?


数据不平衡很好,因为 SVM 应该能够对与不太可能的实例相关的错误分类错误分配更大的惩罚(例如,在您的情况下为“True”),而不是分配相同的错误权重,这会导致不良的分类器把一切都分配给多数人。然而,你会probably通过平衡数据获得更好的结果。这实际上完全取决于您的数据。

您可以人为地扭曲数据以获得更平衡的数据。你为什么不看看这篇论文:http://pages.stern.nyu.edu/~fprovost/Papers/skew.PDF http://pages.stern.nyu.edu/~fprovost/Papers/skew.PDF.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何处理 SVM 中的数据不平衡问题? 的相关文章

  • (在 R 中)为什么使用用户定义的线性内核的 ksvm 的结果与使用“vanilladot”的 ksvm 的结果不同?

    我想在 R 中为 Ksvm 使用用户定义的内核函数 所以 我尝试制作一个 vanilladot 内核 并与 kernlab 中内置的 vanilladot 进行比较作为实践 我按如下方式编写内核 vanilla kernel with cl
  • OPencv SVM预测概率

    我正在使用 BOW 模型和 SVM 开发一个图像分类项目 我想找出SVM预测概率 但opencv svm中没有这样的函数 有什么办法可以做到这一点吗 我想找出 n 类 SVM 的预测概率 不 你不能用 CvSVM 做到这一点 OpenCV
  • SciKit One-class SVM 分类器训练时间随着训练数据的大小呈指数增长

    我正在使用 Python SciKit OneClass SVM 分类器来检测文本行中的异常值 首先使用词袋和 TF IDF 将文本转换为数字特征 当我训练 拟合 在计算机上运行的分类器时 时间似乎随着训练集中的项目数量呈指数增长 训练数据
  • Sklearn LinearSVC库中惩罚参数和损失参数的区别

    我对 SVM 理论不太熟悉 我在 python 中使用这个 LinearSVC 类 http scikit learn org stable modules generated sklearn svm LinearSVC html skle
  • 用于多对象分类的支持向量机

    我正在尝试使用线性支持向量机进行多类对象类别识别 到目前为止 我了解到主要使用两种方法 一对一 OVA 和一对一 OVO 但我很难理解它的实现 我的意思是我认为使用的步骤是 首先 特征描述符是通过 SIFT 准备的 所以我有一个 128XN
  • 当 classProbs=TRUE 时,在 R 中使用 Caret 的 SVM 会产生不同的结果

    当我尝试使用支持向量机提取预测概率时 我提出了以下问题 SVM 通常分类算法的概率截止值为 0 5 但我需要分析准确性如何随概率截止而变化SVM机器学习算法 I used caret封装在R留一交叉验证 LOOCV 首先 我安装了常规支持向
  • Predict.svm 中的错误:测试数据与模型不匹配

    我有一个大约 500 行和 170 列的数据框 我正在尝试使用 e1071 包中的 svm 运行分类模型 分类变量称为 SEGMENT 是一个有 6 个级别的因子变量 数据框中还有其他三个因子变量 其余都是数字 data lt my dat
  • 一对多 SVM 中的 10 倍交叉验证(使用 LibSVM)

    我想在我的系统中进行 10 倍交叉验证一对一 支持向量机 http en wikipedia org wiki Support vector machineMATLAB 中的分类 我试图以某种方式混合这两个相关的答案 libsvm 中的多类
  • 如何为 Python 设置 LIBSVM

    I built libsvm http www csie ntu edu tw cjlin libsvm 在 Mac OS X 上使用 Make tar xzfv libsvm 3 17 tar gz cd libsvm 3 17 make
  • 根据精度、召回率、f1 分数计算准确度 - scikit-learn

    我犯了一个巨大的错误 我将 scikit learn svm 准确度的输出打印为 str metrics classification report trainExpected trainPredict digits 6 现在我需要根据以下
  • 使用 SVM 进行实时面部表情分类

    我目前正在开发一个项目 我必须提取用户的面部表情 一次只能从网络摄像头提取一个用户 例如悲伤或快乐 我对面部表情进行分类的方法是 使用opencv检测图像中的人脸 使用ASM和stasm获取面部特征点 现在我正在尝试进行面部表情分类 SVM
  • scikit-learn 中奇怪的 SVM 预测性能 (SVMLIB)

    我在 10000x1000 的大型数据集 10000 个对象 1000 个特征 上使用 scikit learn 的 SVC 我已经在其他来源中看到 SVMLIB 的扩展范围不能超过约 10000 个对象 我确实观察到了这一点 traini
  • LinearSVC和SVC(kernel=“线性”)有什么区别?

    I found sklearn svm LinearSVC http scikit learn org stable modules generated sklearn svm LinearSVC html and sklearn svm
  • 带有 SVM 基分类器的 AdaBoost 的执行时间

    我刚刚用这些参数制作了一个 Adaboost 分类器 1 n estimators 50 2 base estimator svc 支持向量分类器 3 learning rate 1 这是我的代码 from sklearn ensemble
  • 如何使用 R 中 e1071 包的“svm”执行多类分类

    我想使用执行多类分类svm的函数e1071包裹 但据我从文档中了解到svm 只能进行二元分类 插图文档讲述了多类分类的情况 为了允许多类分类 libsvm通过拟合所有二元子分类器并通过投票机制找到正确的类 使用一对一技术 我仍然不明白的是我
  • LinearSVC sklearn (scikit-learn) 中 C 的行为

    首先我创建一些玩具数据 n samples 20 X np concatenate np random normal loc 2 scale 1 0 size n samples np random normal loc 20 0 scal
  • 在 Matlab 中使用 svmtrain 内存不足

    我有一组数据正在尝试使用 SVM 来学习 对于上下文 数据的维数为 35 包含大约 30 000 个数据点 我之前用这个数据集在 Matlab 中训练过决策树 大约花了 20 秒 由于对错误率不太满意 我决定尝试 SVM 我第一次尝试svm
  • 帮助--LibSVM 的准确率达到 100%?

    名义上这是一个好问题 但我很确定这是因为发生了一些有趣的事情 作为上下文 我正在研究面部表情 识别空间中的一个问题 因此获得 100 的准确度似乎令人难以置信 并不是说在大多数应用程序中这是合理的 我猜测数据集中存在一些一致的偏差 这使得
  • 使用 SVM 预测概率

    我编写了这段代码并想获得分类的概率 from sklearn import svm X 0 0 10 10 20 30 30 30 40 30 80 60 80 50 y 0 1 2 3 4 5 6 clf svm SVC clf prob
  • R 中 svm 特征选择的示例

    我正在尝试使用 R 包在 SVM 中应用特征选择 例如递归特征选择 我已经安装了 Weka 它支持 LibSVM 中的特征选择 但我还没有找到任何 SVM 语法的示例或类似的东西 一个简短的例子会有很大的帮助 功能rfe in the ca

随机推荐