0

私の問題は次のとおりです。

機械学習の問題に対してラベリングシステムを実装しています。つまり、複雑なオブジェクトは、単純なラベル情報(タグなど)を取得する必要があります。オブジェクトごとに1つのラベルが必要であり、ラベルのセットは制限されており、静的です。(例:CAT、DOGなどの情報に対する1つの動物オブジェクトのすべての属性にラベルを付けたい)

だから私はアイテムオブジェクトを持っています。これを、ラベルオブジェクト(myAnimal、label)の1つを含むタペルとして保存します。このオブジェクトは、1つの情報(DOGなど)のみを伝送する必要があります。どうすればそれを達成できますか?いくつかのブール値を保持するオブジェクトを考えたところ、必要な1つのブール値が設定されましたが、複数のブール値が設定される可能性があるため、これは適切な解決策ではないようです。

単純な列挙型のようなソリューションをグーグルで検索しましたが、満足できるものは何も見つかりませんでした。

ここで私を助けてくれたらいいのにと思います;)

4

2 に答える 2

1

ラベルは静的で事前定義されているため、次のようになります。

TAGS = ((1,'DOG'),(2,'CAT'),(3,'HORSE')) # and so on

class MyThing(models.Model):
   name = models.CharField(max_length=200)
   tag = models.IntegerField(choices=TAGS)

このモデルでは、モノにタグを 1 つしか持つことができず、オブジェクトに関連付けられたタグを次のように取得できます。

foo = MyThing.objects.order_by('?')[0] # get some random object
print 'My object is a ',foo.get_tag_display()
于 2012-07-25T12:56:27.073 に答える
0

いくつかの関係を持つ単純なモデルはどうですか?

class LabeledItem(models.Model):
   my_object= models.OneToOneField(Item)
   label = models.CharField()

ラベル プロパティは、フィールド プロパティとして名前を持つラベル モデルなどの OneToOneField にすることもできます。

于 2012-07-25T12:53:07.833 に答える