1

我正在從5個不同類型(搖滾,電子,說唱,鄉村,爵士)中分類30個音頻樣本的項目。我的數據集由600首歌曲組成,每個類型恰好120。這些功能是每首歌曲爲13 mfccs的一維數組,標籤是流派。 從本質上講,我對30秒樣本的每個幀取平均每組13幀。這導致每首歌13 mfccs。然後我得到整個數據集,並使用sklearn的縮放函數。sklearn音樂流派分類:如何準確評估不同的模型

我的目標是比較svm,knearest和樸素貝葉斯分類器(使用sklearn工具集)。我已經完成了一些測試,但我注意到結果取決於我是否進行隨機抽樣/分層抽樣。

我做sklearn下面的函數來獲得訓練和測試集:

X_train,X_test,y_train,y_test = train_test_split(X,Y,test_size = 0.20,random_state = 0,分層= Y)

它具有「隨機狀態」和「分層」參數。當省略「隨機狀態」時,它從整個數據集中隨機採樣;當它設置爲0時,訓練和測試集保證每次都是相同的。

我的問題是,我如何適當地比較不同的分類器。我假設在訓練和測試每個分類器之前,我應該對此函數進行相同的調用。我的懷疑是我應該向每個分類器提交完全相同的分割,所以它不應該是隨機抽樣,也應該分層。

還是應該分層(和隨機抽樣)?

回答

0

要評估分類器對另一分類器的準確性,您需要從數據集中隨機抽樣以進行訓練和測試。使用測試數據集來評估每個分類器並一次比較精度。

由於存儲在數據幀的數據集,將它分成訓練和測試(隨機抽樣是更好地得到您的分類有多好,是所有案件的深入理解,分層抽樣有時會掩蓋你的真實精度)爲什麼呢?我們舉一個例子:

如果你正在對某個特定類別進行分層抽樣(假設這個類別的數據量非常大[偏斜]並且分類器預測到一個類別的好,那麼你可能會被引導相信分類器運行良好,即使在信息較少的分類上表現不佳的情況下,分層抽樣的效果會更好嗎?如果知道現實世界中的數據也會出現偏差,並且如果預測到最重要的分類(這絕對不意味着你的分類器在信息較少的分類上工作不好,它可以很好地工作,只是分層採樣有時不會顯示完整圖像)

使用相同的訓練da taset訓練所有分類器和相同的測試數據集來評估它們。另外,隨機抽樣會更好。