本文整理汇总了Java中weka.clusterers.SimpleKMeans.setPreserveInstancesOrder方法的典型用法代码示例。如果您正苦于以下问题:Java SimpleKMeans.setPreserveInstancesOrder方法的具体用法?Java SimpleKMeans.setPreserveInstancesOrder怎么用?Java SimpleKMeans.setPreserveInstancesOrder使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类weka.clusterers.SimpleKMeans
的用法示例。
在下文中一共展示了SimpleKMeans.setPreserveInstancesOrder方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: clusterData
import weka.clusterers.SimpleKMeans; //导入方法依赖的package包/类
public void clusterData(){
kmeans = new SimpleKMeans();
kmeans.setSeed(10);
try {
kmeans.setPreserveInstancesOrder(true);
kmeans.setNumClusters(10);
kmeans.buildClusterer(cpu);
int[] assignments = kmeans.getAssignments();
int i = 0;
for(int clusterNum : assignments) {
System.out.printf("Instance %d -> Cluster %d\n", i, clusterNum);
i++;
}
} catch (Exception e1) {
}
}
示例2: main
import weka.clusterers.SimpleKMeans; //导入方法依赖的package包/类
public static void main(String args[]) throws Exception {
//read the input params
readParams(args);
CSVLoader loader = new CSVLoader();
loader.setSource(inFile);
Instances data = loader.getDataSet();
System.setErr(err);//hack to avoid some error messages
// Create the KMeans object.
SimpleKMeans kmeans = new SimpleKMeans();
kmeans.setNumClusters(K);
kmeans.setMaxIterations(maxIteration);
kmeans.setPreserveInstancesOrder(true);
// Perform K-Means clustering.
try {
kmeans.buildClusterer(data);
} catch (Exception ex) {
System.err.println("Unable to buld Clusterer: " + ex.getMessage());
ex.printStackTrace();
}
// print out the cluster centroids
Instances centroids = kmeans.getClusterCentroids();
for (int i = 0; i < K; i++) {
System.out.print("Cluster " + i + " size: " + kmeans.getClusterSizes()[i]);
System.out.println(" Centroid: " + centroids.instance(i));
}
// Print Assignments:
// int[] assignments = kmeans.getAssignments();
// System.out.println("Length: "+assignments.length);
// for (int i = 0; i < assignments.length; i++) {
// System.out.println(assignments[i]);
//
// }
}
示例3: buildClusteredSeries
import weka.clusterers.SimpleKMeans; //导入方法依赖的package包/类
private List<Series<Number, Number>> buildClusteredSeries() throws Exception {
List<XYChart.Series<Number, Number>> clusteredSeries = new ArrayList<>();
// to build the cluster we remove the class information
Remove remove = new Remove();
remove.setAttributeIndices("3");
remove.setInputFormat(data);
Instances dataToBeClustered = Filter.useFilter(data, remove);
SimpleKMeans kmeans = new SimpleKMeans();
kmeans.setSeed(10);
kmeans.setPreserveInstancesOrder(true);
kmeans.setNumClusters(3);
kmeans.buildClusterer(dataToBeClustered);
IntStream.range(0, 3).mapToObj(i -> {
Series<Number, Number> newSeries = new XYChart.Series<>();
newSeries.setName(String.valueOf(i));
return newSeries;
}).forEach(clusteredSeries::add);
int[] assignments = kmeans.getAssignments();
for (int i = 0; i < assignments.length; i++) {
int clusterNum = assignments[i];
clusteredSeries.get(clusterNum).getData().add(instancetoChartData(data.get(i)));
}
return clusteredSeries;
}
示例4: run
import weka.clusterers.SimpleKMeans; //导入方法依赖的package包/类
public static void run(String inputFile, String outputFileDistribution, String outputFileSupervised,
int numClusters, int skipLines) throws Exception {
SimpleKMeans kmeans = new SimpleKMeans();
kmeans.setPreserveInstancesOrder(true);
kmeans.setNumClusters(numClusters);
BufferedReader datafile = readDataFile(inputFile);
Instances data = new Instances(datafile);
kmeans.buildClusterer(data);
int[] assignments = kmeans.getAssignments();
calculateClusterDistribution(assignments, numClusters, outputFileDistribution);
rebuildArffFileWithClusterNumber(inputFile, outputFileSupervised, assignments, skipLines);
}
示例5: kmeans
import weka.clusterers.SimpleKMeans; //导入方法依赖的package包/类
/**
* K-Means Clustering
* @param data - matrix of observations (numObs x numFeatures)
* @param k - number of clusters
*/
public Cluster[] kmeans(double[][] data, int numObs, int numFeatures, int k) {
Instances ds = convertMatrixToWeka(data, numObs, numFeatures);
// uses Euclidean distance by default
SimpleKMeans clusterer = new SimpleKMeans();
try {
clusterer.setPreserveInstancesOrder(true);
clusterer.setNumClusters(k);
clusterer.buildClusterer(ds);
// cluster centers
Instances centers = clusterer.getClusterCentroids();
Cluster[] clusters = new Cluster[centers.numInstances()];
for(int i = 0; i < centers.numInstances(); i++) {
Instance inst = centers.instance(i);
double[] mean = new double[inst.numAttributes()];
for(int j = 0; j < mean.length; j++) {
mean[j] = inst.value(j);
}
clusters[i] = new Cluster(mean, i);
}
// cluster members
int[] assignments = clusterer.getAssignments();
for(int i = 0; i < assignments.length; i++) {
clusters[assignments[i]].addMember(i);
}
return clusters;
} catch (Exception e) {
e.printStackTrace();
System.exit(-1);
return null;
}
}