資料分割範例

收集資料並視需要進行取樣後,下一步是將資料分成「訓練集」「驗證集」和「測試集

隨機分割不是最佳方法

雖然許多分割問題都是隨機分割的最佳方式,但這不一定是正確的解決方案。例如,請考慮將範例自然地歸類到類似範例的資料集。

假設您希望模型將新聞報導的文字分類。為什麼隨機分割問題會發生問題?

四條不同的報導叢集 (分別標示為「故事 1」、「故事 2」、「故事 3」和「故事 4」) 會顯示在時間軸上。 圖 1. 焦點新聞會匯集在一起。

叢集中會顯示新聞報導:同一主題會發布多篇相同主題的報導。因此,如果隨機地分割資料,測試集和訓練集可能會包含相同的故事。但實際上,這個說法不會有這種效果,因為所有故事都會同時出現,所以如果進行這類分割,就會發生偏移。

圖 1 中的同一篇文章不再位於時間軸上。相反地,這些報導會隨機分割為訓練集和測試集。訓練集和測試集各包含這四項故事的不同範例。 圖 2. 隨機分割功能會將叢集分割為不同的資料集,因而造成偏移。

最簡單的修正方式,就是根據報導發布時間 (可能是報導發布日期) 來分割資料。這會導致當日同一天的報導發生在同一個分組中。

圖 1 的原始時間軸現在分成訓練集和測試集。「故事 1」和「故事 2」的所有文章均位於訓練集,「故事 3」和「故事 4」的所有文章均位於測試集。 圖 3. 按時間分割時,叢集主要可以在同一組中進行。

上萬篇新聞報導的時間可能超過一定的日子,但事實證明,這些報導並未在新聞週期的兩天內分割成。或者,即使在截止時間之外也能夠擲回資料,以確保不會發生重疊的情況。舉例來說,您可以為 4 月份的故事進行訓練,然後使用 5 月的第二週做為測試集,而週間差距以避免重疊。