Python 自定义对象的分类

Python 自定义对象的分类,python,machine-learning,classification,Python,Machine Learning,Classification,我需要编写一个程序,给定一个具有特定属性的对象,它知道如何对其进行分类。它应该知道如何通过使用具有已知属性的已知对象列表进行训练来对新对象进行分类 例如,我的objectA具有以下属性:A=10和b=1。我还训练了程序,使它知道a的5..15和b的0..2之间的值将给定对象分类为label1 随着程序的发展,我需要使用已知数据对其进行进一步训练,以便属性间隔更加准确(因此分类) 现在,我还没有任何机器学习或类似的经验,我想知道我应该如何从这开始。我看过很多教程,但只针对文本分类。并且仅适用于双向

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

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

随着程序的发展,我需要使用已知数据对其进行进一步训练,以便属性间隔更加准确(因此分类)

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

任何提示都非常感谢

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

根据你的描述,你试图用一种方法解决一个问题

我将解释一下:


分类问题在于确定观测值属于哪一类

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

是解决这类问题最简单的算法之一。我建议你熟悉一下


您在scipy中实现了k-NN

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

仅适用于双向分类(即,正或负、是或 否…只有两个值可供选择)

k-NN可以处理任意(有限)个类,所以您很清楚

此外,对象属性是整数

K-NN通常使用一个连续的空格,所以你必须把它们转换成浮点数


将属性值映射到算法空间中的点并不是一个简单的问题(请参阅,特别是关于规范化、特征提取和选择的文章)

非常感谢您的提示!这是我一直在寻求的帮助。