2017-06-28 72 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

我想模拟一个需要机器学习解决的用例。所以我创建了一些数据。输入用户名和密码,类是有效的。我明白,这可能不是一个很好的例子现在..试图找到一个更合适的一个 –