如何找到分隔具有 2 个不同属性的点的两个区域的最佳直线

2023-11-30

我在二维图中有很多点。红点表示我的实验稳定,黑点表示不稳定。在这个双对数图中,这两个区域被一条线清楚地分开,我想找到最好的“分隔线”,即给出分隔两个区域的标准并且在该标准上具有最小误差的线。我在各种书籍和网上进行了搜索,但找不到任何解决此问题的方法。你知道有什么工具吗?首先必须定义错误。我想到的一件事是:如果未知线是 ax+by+c=0,对于每个点 (x0,y0),我们定义一个误差函数,如下所示:

E=0 if point lays on the correct side of the line.
E= distance(a*x+b*y+c=0,(x0,y0)) = |a*x0+b*y0+c|/sqrt(a^2+b^2)   if the point
   lies on the wrong side.

我们最小化错误的总和。但并不简单,因为有一个门槛。 如果你们知道解决这个问题的一些参考或方法链接,我们将不胜感激。 干杯 A。

enter image description here


一些参考: 维基百科线性分类器 and 支持向量机 (SVM),
scikit-learn SVM, 一个有 3 个类的例子,
关于 SO 的问题/标记/分类,
3000多stats.stackexchange 上的问题/标记/分类,
400多个关于数据科学.stack 交换的问题/标记/分类 .

对于您的二类问题,请执行以下步骤:

  1. 找到红点的中点 Rmid、黑点的 Bmid、地段的中点

  2. 从 Rmid 到 Bmid 画线 L

  3. 穿过 Mid 且垂直于线 L 的(超)平面就是您想要的:线性分类器。
    或者您可以只比较距离 |x - Rmid|和 |x - Bmid|: 将x 靠近Rmid 称为红色,靠近Bmid 称为黑色。

但还有更多要说的。 将所有数据点投影到直线 L 上给出一个一维问题:

rrrrrrrrrrbrrrrrrrrbbrrr | rrbbbbbbbbbbbbbbb

绘制这条线上的所有点是个好主意, 到see并更好地理解数据。
(对于 5 或​​ 10 维的点云,这可能很有趣和/或信息丰富 从不同角度查看 2d 或 3d 切片。)

每切一个“|”上面给出了一个由 4 个数字组成的“混淆矩阵”:

R-correct   R-called-B  e.g.  490   10
B-called-R  B-correct          50  450

这可以粗略地了解红色/黑色预测的错误率;打印出来,讨论一下。
最佳切割取决于成本, 例如如果称 R 为 B 比称 B 为 R 更糟糕 10 倍或 100 倍。

如果红点和黑点具有不同的散布/协方差,请参见Fisher 线性判别式 .

(“SVM”是一类“良好”分离超平面/超曲面方法的行话—— 没有“机器”。)

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

如何找到分隔具有 2 个不同属性的点的两个区域的最佳直线 的相关文章

  • scipy curve_fit 和局部最小值:尽快达到全局最小值

    我手头的问题 我正在使用scipy curve fit拟合一条曲线 https docs scipy org doc scipy reference generated scipy optimize curve fit html https
  • K 最近邻算法 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 使用 KNN 算法 假设 k 5 现在我尝试通过获取 5 个最近的邻居来对未知对象进行分类 如果确定 4 个最近邻居后 接下来的 2 个
  • 如何在keras中可视化卷积神经网络中间层的输出?

    最近我创建了用于猫和狗分类的基本 CNN 模型 非常基本 如何使用 keras 可视化这些层的输出 我使用 keras 的 Tensorflow 后端 您可以定义一个模型 获取您想要查看的每一层的输出并进行预测 假设您有完整的模型 cnnM
  • 帕累托最优前沿

    我试图获得两个适应度函数的帕累托最优前沿 我通过使用虚拟矩阵对非支配解进行排序 该虚拟矩阵在矩阵中为任何非支配解分配 1 当我绘制帕累托前沿时 它不断包含我知道不属于帕累托最优的点 但是 我似乎找不到这个问题的原因 任何帮助将非常感激 fo
  • C 中快速高效的最小二乘拟合算法?

    我正在尝试对两个数据数组实现线性最小二乘拟合 时间与幅度 到目前为止 我知道的唯一技术是测试 y m x b 中所有可能的 m 和 b 点 然后找出最适合我的数据的组合 以便其误差最小 然而 我认为迭代这么多组合有时是没有用的 因为它测试了
  • scipy.optimize.minimize(COBYLA 和 SLSQP)忽略 for 循环内发起的约束

    我正在使用 scipy optimize minimize 来求解复杂的油藏优化模型 SQSLP 和 COBYLA 因为问题受到边界和约束方程的约束 每天有一个决策变量 蓄水量 水库的释放量是根据目标函数内蓄水量变化的函数来计算的 然后应用
  • 如何在CARET中自定义模型来执行PLS-[Classifier]两步分类模型?

    这个问题是同一线程的延续here https stats stackexchange com questions 81727 what is the best strategy to train and validate classific
  • 寻找最小组件集合的算法

    我正在寻找一种算法来解决以下问题 我有给定集合 a h 的多个子集 1 n 我想找到最小的子集集合 它允许我通过组合来构造所有给定的子集 该集合可以包含 1 n 中尚不存在的子集 a b c d e f g h 1 1 2 1 1 3 1
  • 使用 NLTK python 对使用示例数据或 Web 服务的句子进行情感分析?

    我正在着手一个用于情感分析的 NLP 项目 我已经成功安装了Python的NLTK 看起来是一个很棒的软件 但是 我无法理解如何使用它来完成我的任务 这是我的任务 我从一长条数据开始 假设来自他们的网络服务的数百条关于英国大选主题的推文 我
  • 在java代码中使用WEKA API时出现错误:类属性未设置?

    我正在尝试在我的java代码中使用weka API 我使用 J48 树分类对 MySQL 数据库中的数据集进行分类 但出现以下错误 Trying to add database driver JDBC RmiJdbc RJDriver Er
  • 使用逻辑回归时sklearn重要特征错误

    以下代码使用随机森林模型为我提供一个显示特征重要性的图表 from sklearn feature selection import SelectFromModel import matplotlib clf RandomForestCla
  • Python约束非线性优化

    python 中约束非线性优化的推荐包是什么 我试图解决的具体问题是 我有一个不为人知的X Nx1 我有M Nx1 u向量和M NxN s矩阵 max 5th percentile of ui T X i in 1 to M st 0 lt
  • SPMD 与 Parfor

    我对 matlab 中的并行计算很陌生 我有一个创建分类器 SVM 的函数 我想用几个数据集来测试它 我有一个 2 核工作站 所以我想并行运行测试 有人可以向我解释一下以下之间的区别 dataset array dataset1 datas
  • 如何解释R中SVM的预测结果?

    我是 R 新手 我正在使用e1071R 中的 SVM 分类包 我使用了以下代码 data lt loadNumerical model lt svm data ncol data data ncol data gamma 10 print
  • 使用 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
  • Java机器学习库可以商用吗? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有谁知道我可以将其用于商业产品的优秀 Java 机器学习库吗 不幸的是 Weka 和 Rapidmin
  • 在监督分类中,使用partial_fit() 的MLP 比使用fit() 的表现更差

    我正在使用的学习数据集是灰度图像flatten让每个像素代表一个单独的样本 第二张图像在训练后将被逐像素分类Multilayer perceptron MLP 前一个分类器 我遇到的问题是MLP当它一次接收到所有训练数据集时表现更好 fit
  • McNemar 在 Python 中的测试以及分类机器学习模型的比较 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有没有用 Python 实现的好的 McNemar 测试 我在 Scipy stats 或 Scikit
  • Windows 上的 NLTK MEGAM Max Ent 算法

    我一直在 Python 上使用 NLTK 但无法使用 MEGAM Max Ent 算法 因为缺少任何版本的 MEGAM 库等于或高于 0 3 的 Windows 64 位可执行文件 需要包含 NLTK 的 nobias 选项工作 在 v 0
  • 如何强制 scipy.optimize.curve_fit 修复第一个点?

    我使用此代码通过拟合指数来平滑数据scipy optimize curve fit def smooth data v1 x arr y arr def func x a b c return a np exp b x c Scale da

随机推荐

  • 根据谷歌表格中的日期颜色代码交替行

    我想根据谷歌表格中的备用日期对行进行阴影处理 例如 第一行始终没有阴影 如下图所示 第 2 行和第 3 行中有一个新日期 2021 03 19 因此需要对它们进行阴影处理 之后 下一个日期 2021 01 01 不需要如此 依此类推 我最近
  • 使用单选按钮触发操作

    我正在做一个项目 我需要两个单选按钮来选择日期 一个单选按钮接受系统日期并打印 但当我选择另一个按钮时 我希望用户能够输入日期 基本上我想要一个文本字段当我单击第二个单选按钮时出现 我是 html 编码新手 所以请如果有人可以帮助我 我阅读
  • Hibernate:架构验证:缺少表

    我尝试从 MSSQL Server 2016 数据库中的现有表中读取数据 如果我验证 hbm2ddl auto gt 验证 我会收到异常 架构验证 缺少表 我将生成的 Hibernate SQL 代码 如果我从验证切换到更新 与我可以在 M
  • WPF 追加文本会严重阻塞 UI 线程,但 WinForms 不会?

    我最近将我的应用程序从 WinForms 转换为 WPF 我对大多数新功能感到满意 然而 我遇到了一个主要的障碍 当我不断地将文本附加到文本框时 UI 线程变得如此阻塞 以至于我除了看着它附加文本之外什么也做不了 我需要能够在选项卡控件中切
  • 使用 AVPlayer 将实时流的音轨静音

    我正在使用 AVPlayer 播放直播流 m3U8 文件 它使用 AVPlayer 可以完美播放 但我无法将其静音 我正在使用以下代码将音频静音 NSMutableArray allAudioParams NSMutableArray ar
  • 如果仅项目内容发生更改,PagedListAdapter 不会更新列表

    我正在使用 Room 和 Paging 库来显示类别 我的实体 Entity tableName Database Table CATEGORIES data class Category PrimaryKey autoGenerate t
  • 如何指定我可以访问的数据库文件的特定位置而不是标准应用程序 /data/data/appid/database

    我需要在 android 中的特定位置创建一个 sqlite 数据库 我可以使用文件资源管理器轻松访问它 我不希望创建的 sqlite 数据库位于默认的 data data appid database 文件夹中 该文件夹受 root 保护
  • ggplot 从 csv 文件创建多线图

    我对 ggplot 以及某种程度上的 R 完全陌生 我对使用 ggplot 创建的图表的质量感到震惊 并且我正在尝试学习如何使用 ggplot 创建简单的多线图 不幸的是 我没有找到任何教程可以帮助我接近我想要做的事情 我有一个 CSV 文
  • Android 如何动态设置 Google Map Api Key 而不是从 AndroidManifest

    我需要动态设置谷歌地图 Api 密钥 即形成代码而不是来自清单 目前我正在从 string xml 获取此值 根据要求 这不是首选方式
  • 如何向 HTML 图像添加音频?

    我对这一切还很陌生 但我正在尝试将音频 mp3 声音添加到 HTML 图像中 单击时会播放该图像 我怎样才能正确地做到这一点 我已经尝试过一些东西 比如 标签 或者安装基于 java 的东西 比如 soundmanager2 但是它们似乎都
  • 在 HTML 中制作面向列的表格

    我正在尝试找出一种方法 将表格放入网页中 其中的列包含行 图 2 而不是相反 图 1 制作一个行包含列的表很简单 因为TR标签 但是没有对应的TC标签以允许表以相反的方式工作 我确实找到了这个单一的提案向 W3C 报告 但没有得到回应 似乎
  • php 7x86 上的curl pthreads 问题(资源不足)

    这是简单的演示片段
  • ADO.NET 还是 Linq to SQL?

    我正在建立一个论坛 它有 4 个表 用户 线程 评论 主题 我建立了连接和页面 我开始使用 ADO net 方式插入数据和选择数据 但后来我发现要进行更复杂的操作 我需要了解 SQL 所以我正在寻找另一种方法 我发现我可以打开Visual
  • 将两个值反序列化为同一个属性

    我有一个客户端可以调用两个不同版本的服务 一项服务仅发送一个值 value 第二个服务总是返回多个值 values 理想情况下 我想用客户端类中的单个对象来表示它 这样用户就永远看不到它是单个值还是多个值 public class MyVa
  • 将人类可读的时间差(不是时间戳)转换为可用于排序的时间[重复]

    这个问题在这里已经有答案了 我有一系列的时差 例如 7 months 11 months 1 hour 24 minutes 10 months 3 weeks 1 year 1 year 1 month 8 months 2 weeks
  • 使用 Sparql 在 Wikidata 中模糊实体查询超时

    我正在尝试使用 Sparql 通过在线端点 在维基数据中进行模糊 即部分或不区分大小写 实体标签查找 不幸的是这些返回一个 QueryTimeoutException 查询截止时间已过期 我假设这是因为查询返回了太多结果 无法在维基数据的
  • 你可以在 git commit 期间更改文件内容吗?

    我保留在我的东西之一在 GitHub 上打开小说 is a 单词列表我想自动设置第一行 即字典中的单词数 我的第一个选择是编写一个预提交挂钩 用于读取文件 计算单词数 重写第一行并再次写回 这是代码 PRE COMMIT my git my
  • 获取数据框中自午夜以来所花费的时间

    我有一个数据框 其中有一列时间戳类型 我想找到自午夜以来经过的时间 以秒为单位 作为新列 如何以简单的方式做到这一点 例如 输入 samples time 2018 10 01 00 00 01 000000000 2018 10 01 0
  • 将多个固定宽度/可变高度框浮动成 2 列

    我会尽力解释这一点 我有多个宽度固定但高度可变的 div 我想将这些框浮动到固定宽度容器内的两列中 当给它们全部一个 float left 值时会发生什么 我得到这样的结果 box 1 box 2 box 3 box 4 box 5 box
  • 如何找到分隔具有 2 个不同属性的点的两个区域的最佳直线

    我在二维图中有很多点 红点表示我的实验稳定 黑点表示不稳定 在这个双对数图中 这两个区域被一条线清楚地分开 我想找到最好的 分隔线 即给出分隔两个区域的标准并且在该标准上具有最小误差的线 我在各种书籍和网上进行了搜索 但找不到任何解决此问题