2016-07-28 75 views
0

我需要處理很多包含3列的csv文件:日期,電視頻道ID,電影ID。分析抽象數據

基於這些專欄,我需要分類每個電影的風格和電視頻道id的風格。

我是新來大數據過程,我想知道如果我只有一個ID(我不能使用其他來源搜索ID或生成隨機數據來訓練我的算法)我如何分類該數據。

我找到的解決方案是定義一些小時的範圍,並放置在一些流派範圍內的電影。例如:

  • 在01:00-04:00之間播放的電影,流派1;
  • 04:01-06:00之間播放的電影,流派2;

分類電影后,我可以基於它們發揮電影的電視頻道分類。

而且我打算做使用的火花呢:)

任何人有另一種解決方案或者有什麼建議?這很難,因爲這些數據看起來像是抽象的。

謝謝

+0

你能提供一些你試過的代碼嗎?就目前來看,這個問題太多而無法回答。 – wheaties

+1

從你的解釋看來,你仍然在搞清楚業務邏輯!一旦找出業務邏輯,可以考慮如何使用火花。 – rakesh

回答

1

當你說「我需要電影的流派分類」,你的意思是「戲劇」,「喜劇」,「行動」,或「Genre1」,「Genre2」?我想在下面的第二個案例。

不要用手分配一個流派 - 使用聚類算法

首先,我不會指派僅基於當電影播放時的流派。一般來說,我會阻止你手動進行聚類。因爲這是聚類算法的作用。那些使用功能來組合個體,這些個體在某種程度上是相互關聯的。

在你的情況,有一個棘手的部分:每個數據點/行不是電影。因此,電影可能出現在不同的集羣中,意味着有不同的流派。

有幾種選擇:

  • 無論是電影belons到不同的流派 - 這是很自然的。
  • 根據電影出現頻率最高的組,您可以只選擇一種流派
  • 如果您決定爲每部電影分配多個流派,則可能會考慮閾值:例如,如果電影顯示小於N一組次,那麼它不屬於這個團體(除非是它出現的唯一組)

創建新功能

您應該設計爲多的新功能*你可以,幫助聚類以便很好地分離數據並創建均勻聚類。

正如我能想到的,你可以這樣做:

  • 添加布爾功能爲您考慮每一個時間段(0:00 - 3:59;下午4:00 - 6:00; .. )。這些功能中只有一個是電影播放時的功能之一。其他人爲空。

  • 一個特點計數多少次電影已播放(黑衣人更打得比12怒漢))

  • couting的多少通道ID一項功能都玩過這個電影( 星球大戰播放上比一些寶萊塢電影更多頻道)

  • ...

思考的一個流派如何在所有渠道中呈現/播放,並相應地創建特徵。

PS:*不要誤解我的意思,儘可能多的特徵意味着不僅僅是三個特徵,而是所謂的維度詛咒。

+0

你給出了很好的建議,但這個問題並不適合StackOverflow,它更適合[CrossValidated](http://stats.stackexchange.com/)。 –

+0

@IgorQA非常感謝您提供的建議。我只能擁有「Genre1」,「Genre2」等,因爲我的CSV文件只有「隨機」數字。現在我有一個(愚蠢的)問題,當你說要創建新的功能時,你的意思是在我的羣集算法上創建它嗎?這是我第一次這樣做,我在你的建議前跑了一圈。 – placplacboom

+1

在您的前三個變量中,創建$ N $新功能,例如我提到的功能。然後,在你的總3 + N特徵上執行你的聚類算法 –