Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在elki中为字符串定义自定义距离函数?_Java_Cluster Analysis_Distance_Elki - Fatal编程技术网

Java 如何在elki中为字符串定义自定义距离函数?

Java 如何在elki中为字符串定义自定义距离函数?,java,cluster-analysis,distance,elki,Java,Cluster Analysis,Distance,Elki,我正在使用elki 0.7对推文(文本、日期、作者等)进行聚类 在第一步中,我想对tweet的文本进行聚类 我写了一个简单的距离函数,将来我想定制它 public class Distance extends AbstractPrimitiveDistanceFunction<String> { @Override public double distance(String str1, String str2) { int row1 = rowNumber.g

我正在使用elki 0.7对推文(文本、日期、作者等)进行聚类

在第一步中,我想对tweet的文本进行聚类

我写了一个简单的距离函数,将来我想定制它

public class Distance extends AbstractPrimitiveDistanceFunction<String> {
@Override
    public double distance(String str1, String str2) {
        int row1 = rowNumber.get(str1),
                row2 = rowNumber.get(str2);
        return 1 - similarity[row1][row2];
}
@Override
    public SimpleTypeInformation<? super String> getInputTypeRestriction() {
       return VectorFieldTypeInformation.typeRequest(String.class, 2, 2);
    }

}
公共类距离扩展了AbstractPrimitiveDistanceFunction{
@凌驾
公共双距离(字符串str1、字符串str2){
int row1=rowNumber.get(str1),
row2=rowNumber.get(str2);
返回1-相似性[row1][row2];
}
@凌驾
在方法typeRequest(类

自动类型匹配需要类型信息

VectorFieldTypeInformation
仅用于向量字段。现在,您声称您的字符串是二维向量字段,这可能会导致编译错误

您的数据是字符串,而不是字符串的向量场;因此您需要为简单对象选择适当的TypeInformation子类:
SimpleTypeInformation
是您想要的

您的代码使用了一个预计算的距离矩阵。ELKI中有一些用于此的类,它们针对此用例进行了更好的优化。

自动类型匹配需要类型信息

VectorFieldTypeInformation
仅用于向量字段。现在,您声称您的字符串是二维向量字段,这可能会导致编译错误

您的数据是字符串,而不是字符串的向量场;因此您需要为简单对象选择适当的TypeInformation子类:
SimpleTypeInformation
是您想要的


您的代码使用了一个预计算的距离矩阵。ELKI中有一些用于此目的的类,它们针对此用例进行了更好的优化。

您可能没有向量场,但有一个字符串?请参阅以获取字符串距离函数。您可能没有向量场,但有一个字符串?请参阅以获取字符串距离函数。ELKI中有哪些类对于预计算的距离矩阵?请参阅入门指南:是的,我读过,但我不能在java或ElkiMiniGUI中使用它。您有任何示例吗?我手头没有手动调用示例-我尽可能避免使用全距离矩阵。但是您有源代码,可以根据需要修改它。ELKI中有哪些类用于预计算距离矩阵?请参阅入门指南:是的,我读过,但我不能在java或ElkiMiniGUI中使用它。您有任何示例吗?我手头没有手动调用示例-我尽可能避免使用全距离矩阵。但是您有源代码,可以根据需要修改它。
The type of <V>typeRequest(Class<? super V>,int,int) is erroneous
   where V is a type-variable:
    V extends FeatureVector<?> declared in method <V>typeRequest(Class<? super V>,int,int)

incompatible types: inferred type does not conform to upper bound(s)
inferred: String
    upper bound(s): String,FeatureVector<?>