Ten sam nagłówek instancji (arff) dla wszystkich moich zapytań do bazy danych
ja używamInstanceQuery , Zapytania SQL, aby skonstruować mojeInstancje. Ale moje wyniki zapytań nie są w tej samej kolejności, jak zawsze w SQL. Ponieważ w tej instancji utworzonej z innego SQL występują różne nagłówki. Prosty przykład można zobaczyć poniżej. Podejrzewam, że moje wyniki zmieniają się z powodu tego zachowania.
Nagłówek 1
@attribute duration numeric
@attribute protocol_type {tcp,udp}
@attribute service {http,domain_u}
@attribute flag {SF}
Nagłówek 2
@attribute duration numeric
@attribute protocol_type {tcp}
@attribute service {pm_dump,pop_2,pop_3}
@attribute flag {SF,S0,SH}
Moje pytanie brzmi: w jaki sposób mogę podać poprawne informacje nagłówka do konstrukcji Instance.
Czy jest możliwe coś podobnego do poniższego?
pobierz wcześniej przygotowane informacje nagłówka z pliku arff lub innego miejsca.podaj przykładową budowę tej informacji nagłówkowejfunkcja sql wywołania i pobierz Instancje (nagłówek + dane)Korzystam z następującej funkcji sql, aby pobrać instancje z bazy danych.
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);
}
}