我想在一个文件中表示一组标记实例(数据)作为训练数据送入LibSVM。对于this问题中提到的问题。这将包括,LibSVM输入格式
- 登录的时间
- 登录时间
- 位置(国家代码?)
- 一周
- 真实性日(0 - 非正品,1 - 正品) - 标签
如何格式化该数据以输入到SVM?
我想在一个文件中表示一组标记实例(数据)作为训练数据送入LibSVM。对于this问题中提到的问题。这将包括,LibSVM输入格式
如何格式化该数据以输入到SVM?
你问的数据格式或如何转换数据?对于后者,你将不得不尝试找到正确的方法来做到这一点。总体思路是将数据转换为名义值或有序值属性。其中一些很简单 - #4,#6 - 其中一些将会很艰难 - #1-#3。例如,您可以将#1表示为日,月和年的三个属性,或者通过将#1转换为类似时间戳的UNIX来表示#1。
IP更难 - 没有简单的方法将其转化为有意义的序数值。根据您的问题使用每个IP作为名义属性可能没有用处。
一旦你弄明白了,转换你的数据,检查LibSVM文档。一般的格式是:+1 1:0 2:0 ..
etc
我相信在以前的答案中有一个没有说明的假设。没有说明的假设是libSVM的用户知道他们应该避免将分类数据放入分类器中。
例如,libSVM不知道如何处理国家代码。如果您试图预测哪些访问者最有可能在您的网站上购买某些内容,那么如果美国位于您的国家/地区代码列表中的乍得和尼日尔之间,则可能会出现问题。来自美国的膨胀可能会歪曲位于附近的国家的预测。
要解决这个问题,我会为每个正在考虑的国家(也可能是“其他”类别)创建一个类别。然后,对于要分类的每个实例,除了实例所属的类别外,我会将所有国家/地区类别设置为零。 (要用libSVM稀疏文件格式来做到这一点,这并不是什么大问题)。
位置和IP地址重叠,所以您可能只想选择其中一个(试验以找出哪个最好)。 – 2011-03-14 15:39:17
删除了IP地址 – ruwanego 2011-03-14 19:34:53
您不需要将其从问题中删除:) – 2011-03-14 21:03:24