在Weka Java API中创建字符串属性
我正在尝试使用Weka的Java API创建一个新的字符串属性 通过阅读API javadocs,似乎可以使用以下构造函数:在Weka Java API中创建字符串属性,java,api,machine-learning,weka,Java,Api,Machine Learning,Weka,我正在尝试使用Weka的Java API创建一个新的字符串属性 通过阅读API javadocs,似乎可以使用以下构造函数: Attribute public Attribute(java.lang.String attributeName, FastVector attributeValues) Constructor for nominal attributes and string attributes. If a null vector of
Attribute
public Attribute(java.lang.String attributeName,
FastVector attributeValues)
Constructor for nominal attributes and string attributes. If a null vector of attribute values is passed to the method, the attribute is assumed to be a string.
Parameters:
attributeName - the name for the attribute
attributeValues - a vector of strings denoting the attribute values. Null if the attribute is a string attribute.
但是我被困在我应该传递到attributeValues参数的问题上
当我输入null时,Java会抱怨受保护的对象当我输入Null时,是语法错误
当我放入
new FastVector()
时,它会变成一个空的标称属性,而不是字符串属性…创建新对象时:
FastVector fv = new FastVector();
fv.addElement(null);
然后将fv传递给参数,它返回一个空指针异常
我应该在attributeValues参数中放入什么内容,使其成为字符串属性 您必须将null强制转换为FastVector。否则,更多方法将应用于方法签名:
FastVector attributes = new FastVector();
attributes.addElement(new Attribute("attr", (FastVector) null));
下面是一个很好的动态创建实例的资源:在WEKA中构建字符串属性的简单方法是:
new Attribute("Distribution_weight",(FastVector) null);
主要问题是WEKA在新类型的Java编辑器中使用导入的WEKA.jar和抛出异常模式定义空值或空向量