2016-09-03 7 views
1

scikitに含まれる数値に応じてさまざまなタグを指定するようにプログラムを訓練したいと思います。 私の問題は、テキスト(文章)を分類する方法や数値変数だけを理解するように思えることです(複数の数値を含む変数ではありません)。ここで二重値とscikitを持つマルチクラス分類

は私がしようとしているものです:

# available classes: 
# hot, cold, wet, sticky 

first_sample = {} 
first_sample["temp"] = 30 
first_sample["airpressure"] = 104 
first_sample["airmoisture"] = 70 

second_sample = {} 
second_sample["temp"] = 2 
second_sample["airpressure"] = 100 
second_sample["airmoisture"] = 40 

# do this manually X times 
train(first_sample, ['sticky', 'hot']) 
train(second_sample, ['wet', 'cold']) 
train(...) 

# then do it on a bunch of data by programme 
classify(bunch_of_data) 
+0

これは、マルチラベル分類またはマルチタスク分類の(sci-kit用語での)例である。この[page](http://scikit-learn.org/stable/modules/multiclass.html)にはさらに詳しい情報があります。ディクテーションにラベル(「ホット」または「コールド」でなければならず、「スティッキー」または「ウェット」でなければならない)が必要な場合は、マルチタスクの分類が可能です。可変数のラベルを割り当てることができれば、その多ラベル分類の可能性が高い。ディクテーション内の情報をデータフレームに変換することは、この種の分類器を構築する第一歩である。 –

答えて

0

次の2つの分類器を訓練し、二回自分のデータにそれらに合うようにする必要があります。 (あなたがPandasを使用してデータフレームにあなたのdictsに変換することができます)あなたのデータがあるとします

| "temp" | "airpressure" | "airmoisture"| "target1" | "target2" | 
|:------:|:-------------:|:------------:|:---------:|:---------:| 
| 30 |  104  |  70  | 'sticky' | 'hot' | 
| 2 |  100  |  40  | 'wet' | 'cold' | 
| . |  .  |  .  |  . |  .  | 
| . |  .  |  .  |  . |  .  | 
| . |  .  |  .  |  . |  .  | 

まず、最初の分類器、すべてのサンプルに(clf1)は(X、それらを呼び出すことができます)と、あなたの目標の最初の列をフィットtarget1 Xとターゲットtarget2(またはY2)の2列目に

clf1.fit(X,y1) 

した後、第2の分類器(clf2)(Y1それを呼び出すことができます)。

clf2.fit(X,y2) 
関連する問題