我有一個句子的數據集,這些句子已經用層次結構中的標籤進行了註釋。層次結構是音樂流派的選擇。它是一棵樹,而不是一個DAG - 每個節點只有一個父母和一個父母。下面是一個提取物爲例:機器學習的分層分類自上而下的方法
root = music
parent = latin
child = afro-cuban
child = salsa
child = brazilian
child = axe
parent = non-latin
child = classical
...
對於句子Mozart is the best
例如,從收集的註解,多數同意這句話類標籤或地面真相是classical
。從層次結構來看,我們知道classical
也是non-latin
音樂的一種形式,其形式爲music
。而i prefer salsa
可能已註釋爲latin
。
就分類而言,扁平化層次結構 - 我所做的 - 直觀地不能解決問題,因爲我們完全忽略了類層次結構。由於我們面臨着多類分類問題,因此它在使用Weka和分類器時也會產生較低的結果。
我的問題是,我讀過非常模糊的文獻和關於如何實施分層分類的在線文章。我想使用Weka和Python。但我只想澄清如何在這種情況下進行分層分類。所以我的問題是:
1)什麼是最好的建議去解決這個問題?實施自頂向下的方法是最佳選擇嗎?如果我這樣做,我該如何避免在每個級別上錯誤分類的問題?即它可以預測級別1上的latin
,級別2上的classical
。關於二元分類器呢?我接受建議。
2)訓練和測試數據是如何進入這個的?
3)如何評估分類性能?特別是採用自上而下的方法,因爲我們將對每個單獨的級別進行評估。
謝謝你的回答。我意識到培訓和測試數據的目的,以及他們的工作和機器學習。我只是不明白你會如何以分層的方式去做。所以你建議從我的句子中提取特徵?這隻會在較小的空間中產生句子。這如何解決我的等級問題?問題是,一個班級屬於多個級別。正如我所解釋的,一個節點也可以被歸類爲它的父節點,因爲在概念上,這也是正確的。如何做到這一點? – user47467
從句子中提取功能 - 是的,首先,這將刪除你很多不必要的數據,其次是在你的例子中給出的句子,它將保留有意義的單詞。 層次問題將在樹中解決,而且也很直觀。 例如,在一句話中:_「我更喜歡莎莎」_莎莎將是一個強大的功能,並且當它進入你的分類器時,它可能會表明一個強烈的信號,非洲古巴或拉丁或音樂,取決於什麼是你的標籤 你對哪一部分樹完全感興趣?頂層?第二個? – lazary
我對樹木沒有預先知識,所以如果你知道或者可以幫助我解決這個問題,那會很棒。我對整棵樹感興趣,我想這取決於句子的類標籤。 – user47467