2017-06-28 76 views
0

我有一些數據,如下面:隨機森林機器學習支持字符串字符嗎?

username, password, valid 
kramer, abcd1234, 1 
dan,123123123,0 

,你可以看到數據的字符可以是字符串。所以scikit-learn.RandomForestClassifier返回錯誤如

ValueError: could not convert string to float: 'hEZ7P|N*Akem' 

我在考慮兩種解決方案。浮動

  1. 變化串,因爲它們可以通過ASCII
  2. 找到另一個algothrim支持字符串特徵來表示。

哪一個更好?你能提出一些建議嗎?

+1

這些算法需要數字輸入。你的目標是什麼? –

+0

我想學習機器學習。所以我設計了我的用例。我創建了一些數據包括user_name,密碼和有效的。有效與否取決於密碼。我嘗試從我的數據中放出algothrim列車。但我發現algothrim無法處理字符串。所以我在這裏問 –

+0

我認爲機器學習不是要走的路。如果您使用密碼來驗證某些內容,那麼這只是直接的邏輯 - 不需要統計推斷。 –

回答

0

我想你需要用類似單熱編碼的分類功能編碼,因爲你需要數字表示。查看此答案以獲取更多

https://datascience.stackexchange.com/questions/5226/strings-as-features-in-decision-tree-random-forest

+0

感謝您的提供,我學會了一個熱門的編碼,但它似乎不是適合我的情況,因爲密碼太長,會佔用太多的空間 –

+0

你可以詳細說明這個任務是什麼?你在做什麼?字符串被編碼的方式可能不是很明顯,可能會有所不同,這取決於你在這裏試圖做什麼。你使用的用戶名和密碼是我設想的分類的輸入,但是你在對什麼進行分類,這裏的直覺是什麼?編輯:我想Jared Stufft的評論回答了這個問題。並非如此可以應用機器學習的cenario。您使用的輸入/功能必須與您正在嘗試解決的問題相關。 – Vib

+0

我想模擬一個需要機器學習解決的用例。所以我創建了一些數據。輸入用戶名和密碼,類是有效的。我明白,這可能不是一個很好的例子現在..試圖找到一個更合適的一個 –