Одинаковый заголовок экземпляров (arff) для всех запросов к моей базе данных
я используюInstanceQuery SQL-запросы, чтобы построить мойИнстансы, Но результаты моего запроса не всегда совпадают по порядку, как это обычно в SQL. Из-за этого экземпляры, созданные из разных SQL, имеют разные заголовки. Простой пример можно увидеть ниже. Я подозреваю, что мои результаты изменяются из-за этого поведения.
Заголовок 1
@attribute duration numeric
@attribute protocol_type {tcp,udp}
@attribute service {http,domain_u}
@attribute flag {SF}
Заголовок 2
@attribute duration numeric
@attribute protocol_type {tcp}
@attribute service {pm_dump,pop_2,pop_3}
@attribute flag {SF,S0,SH}
Мой вопрос: как я могу дать правильную информацию заголовка для конструкции Instance.
Возможно ли что-то вроде ниже рабочего процесса?
get pre-prepared header information from arff file or another place. give instance construction this header information call sql function and get Instances (header + data)Я использую следующую функцию sql для получения экземпляров из базы данных.
public static Instances getInstanceDataFromDatabase(String pSql
,String pInstanceRelationName){
try {
DatabaseUtils utils = new DatabaseUtils();
InstanceQuery query = new InstanceQuery();
query.setUsername(username);
query.setPassword(password);
query.setQuery(pSql);
Instances data = query.retrieveInstances();
data.setRelationName(pInstanceRelationName);
if (data.classIndex() == -1)
{
data.setClassIndex(data.numAttributes() - 1);
}
return data;
} catch (Exception e) {
throw new RuntimeException(e);
}
}