从 java 个对象中获取 WEKA 实例
Get WEKA Instances from java objects
我的 java 代码中有一个 Set<User>
对象。这是用户 class:
的来源
public class User {
private String id;
private String bDate;
private String name;
private String sName;
private String description;
private String city;
... getters/setters
}
你能举个例子吗,我如何在 WEKA 的 Clusterer 中使用它?
首先,您必须从此处将 opencsv 包含到您的项目中:http://opencsv.sourceforge.net/ 以便以 csv 格式打印您的数据。
我用一个writer写csv数据,另一个写arff格式。
writer = new CSVWriter(new OutputStreamWriter(new FileOutputStream(pathtoyourfile+".arff",true), "utf-8"));
writer2 = new PrintWriter(pathtoyourfile+".arff", "UTF-8");
writer2.println("@Relation Users");
writer2.println("");
writer2.println("@attribute id string");
writer2.println("@attribute bDate string");
writer2.println("@attribute name string");
writer2.println("@attribute sName string");
writer2.println("@attribute description string");
writer2.println("@attribute city string");
writer2.println("");
writer2.println("@data");
writer2.close();
String[] entries = new String[6];
//lets say you have a list with users
List<User> users = .....
for(int i=0;i<users.size();i++){
entries[0]= users.get(i).getId();
entries[1]= users.get(i).getbDate();
.....
entries[5]= users.get(i).getCity();
writer.writeNext(entries);
}
writer.close();
我的 java 代码中有一个 Set<User>
对象。这是用户 class:
public class User {
private String id;
private String bDate;
private String name;
private String sName;
private String description;
private String city;
... getters/setters
}
你能举个例子吗,我如何在 WEKA 的 Clusterer 中使用它?
首先,您必须从此处将 opencsv 包含到您的项目中:http://opencsv.sourceforge.net/ 以便以 csv 格式打印您的数据。
我用一个writer写csv数据,另一个写arff格式。
writer = new CSVWriter(new OutputStreamWriter(new FileOutputStream(pathtoyourfile+".arff",true), "utf-8"));
writer2 = new PrintWriter(pathtoyourfile+".arff", "UTF-8");
writer2.println("@Relation Users");
writer2.println("");
writer2.println("@attribute id string");
writer2.println("@attribute bDate string");
writer2.println("@attribute name string");
writer2.println("@attribute sName string");
writer2.println("@attribute description string");
writer2.println("@attribute city string");
writer2.println("");
writer2.println("@data");
writer2.close();
String[] entries = new String[6];
//lets say you have a list with users
List<User> users = .....
for(int i=0;i<users.size();i++){
entries[0]= users.get(i).getId();
entries[1]= users.get(i).getbDate();
.....
entries[5]= users.get(i).getCity();
writer.writeNext(entries);
}
writer.close();