【问题标题】:what is the meaning of the following lines of code exactly for knn algorithm [closed]以下代码行对于knn算法的含义是什么[关闭]
【发布时间】:2014-05-26 05:23:56
【问题描述】:

我遇到了这段代码,但不知道下面这几行代码的功能是什么:

negTrain = neg[:N]
posTrain = pos[:N] 
negTest = neg[N:]
posTest = pos[N:]  

有人可以指导我吗?

【问题讨论】:

  • 如果您完全不提供上下文,您是否真的,说实话认为我们将能够猜测具有任意变量名称的随机代码行的含义?
  • 我能弄明白。我正在写回复:)
  • FWIW,鉴于它说 KNN,它是一种机器学习算法。此外,“train”和“test”的变量名也泄露了它。因此,这取决于你问谁,但我想通了,我的回答如下。因此,没有必要居高临下。可以明显看到 OP 是新用户。
  • 这不是有效的 Python,是吗?如果是函数调用的参数,则keyword=1 or keyword=2 无效;如果它是一个语句,那么您不能在foo=x or y=z 中分配x or y 的结果。
  • 我认为 or 语句在 Python 之外。他想知道这些陈述中的任何一个是什么意思。我会编辑。

标签: python sentiment-analysis knn


【解决方案1】:

在任何机器学习算法中,您都试图找到数据的意义分类。它是如何开始的,你首先在 training 数据上训练你的算法/机器。从这几行代码来看,你是在使用 KNN 算法做逻辑回归。这是一种二元分类方案,您将属于一个类的事物分类为 positive,将另一类分类为 negative

一个例子是逻辑回归机器学习算法,其中阳性表示您患有疾病,而阴性表示您没有。您获取训练数据并将其分解为正面和负面示例。你提前知道哪些是积极的,哪些是消极的。然后,您训练您的学习算法,以便尝试使分类准确度尽可能高。

完成此操作后,您将获得另一组数据,称为 测试 数据,其中也有正面和负面示例,您会看到这是否会在分类中做同样的工作作为您的训练数据。如果你的分类准确度更差,你需要去修改你的算法或参数。如果它更好,那就太棒了。

那四行代码基本上是在说以下内容。对于正负训练样本,您从 0 到 N - 1 抽取样本。测试正负样本从 N 抽取到数组末尾。

希望这会有所帮助!

【讨论】:

    【解决方案2】:

    你训练前 N 个正数和前 N 个负数,这意味着位置 0 到 N-1。

    您从位置 N 开始进行测试,直到负片和正片结束。

    因为当你说训练时这是 KNN,这基本上意味着你将用训练数据构建一个表,并使用训练数据的距离和标签来评估测试数据。 KNN 本身确实没有训练。

    【讨论】:

      猜你喜欢
      • 2014-03-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-15
      • 1970-01-01
      相关资源
      最近更新 更多