【问题标题】:Classification of custom objects自定义对象的分类
【发布时间】:2015-03-19 12:06:17
【问题描述】:

我需要编写一个程序,给定一个具有某些属性的对象,它知道如何对其进行分类。它应该知道如何通过使用具有已知属性的已知对象列表进行训练来对新对象进行分类。

例如,我的对象 A 具有以下属性:a=10b=1。我还对程序进行了训练,使其知道a5..15b0..2 之间的值将给定对象分类为label1

随着程序的发展,我需要用已知数据进一步训练它,以便属性区间变得更准确(因此进行分类)。

现在,我没有任何机器学习或任何此类经验,我想知道我应该如何开始。我看过很多教程,但仅用于文本分类。并且仅适用于 2 路分类(即正面或负面,是或否……只有两个值可供选择)。我会从 5-6 个标签开始,它们的数量很快就会增加。此外,对象属性是整数。

非常感谢任何提示!

【问题讨论】:

    标签: python machine-learning classification


    【解决方案1】:

    机器学习是一个非常广泛的领域,因此第一步是准确地了解您在寻找什么并熟悉您要解决的子问题。

    根据您的描述,您正在尝试以supervised learning 方法解决classification problem

    我将解释一下here


    分类问题在于识别观察属于哪个类别。

    监督学习是一种“教”机器的方式。基本上,通过示例训练算法(即:该特定对象属于 X 类)。训练后,机器应该能够将其获得的知识应用于新数据。

    k-NN algorithm 是解决此类问题的最简单算法之一。我建议你熟悉它。


    你在 scipy 中有一个 k-NN 的实现。 Here's a link to a tutorial on using it.

    现在,回答您的具体问题:

    仅适用于 2 路分类(即正面或负面,是或 不...只有两个值可供选择)

    k-NN 可以处理任何(有限)数量的类,所以你很清楚

    另外,对象属性是整数

    K-NN 通常使用连续空间 - 因此您必须将它们转换为浮点数。

    将属性值映射到算法空间中的点不是一个小问题(参见Data pre-processing,尤其是关于归一化、特征提取和选择的文章)

    【讨论】:

    • 非常感谢您的提示!这是我一直在寻找的帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-01
    • 2021-02-14
    相关资源
    最近更新 更多