• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java CentroidClusterModel类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中com.rapidminer.operator.clustering.CentroidClusterModel的典型用法代码示例。如果您正苦于以下问题:Java CentroidClusterModel类的具体用法?Java CentroidClusterModel怎么用?Java CentroidClusterModel使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



CentroidClusterModel类属于com.rapidminer.operator.clustering包,在下文中一共展示了CentroidClusterModel类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: assinePoints

import com.rapidminer.operator.clustering.CentroidClusterModel; //导入依赖的package包/类
/**
 * assign the Points to cluster
 *
 * @param model
 * @return
 */
private CentroidClusterModel assinePoints(CentroidClusterModel model) {
	double[] values = new double[attributes.size()];
	int i = 0;
	for (Example example : exampleSet) {
		double[] exampleValues = getAsDoubleArray(example, attributes, values);
		double nearestDistance = measure.calculateDistance(model.getCentroidCoordinates(0), exampleValues);
		int nearestIndex = 0;
		int id = 0;
		for (Centroid cr : model.getCentroids()) {
			double distance = measure.calculateDistance(cr.getCentroid(), exampleValues);
			if (distance < nearestDistance) {
				nearestDistance = distance;
				nearestIndex = id;
			}
			id++;
		}
		centroidAssignments[i] = nearestIndex;
		i++;
	}

	model.setClusterAssignments(centroidAssignments, exampleSet);
	return model;
}
 
开发者ID:transwarpio,项目名称:rapidminer,代码行数:30,代码来源:XMeansCore.java


示例2: calcBIC

import com.rapidminer.operator.clustering.CentroidClusterModel; //导入依赖的package包/类
/**
 * Calculate the BIC like in the paper by Dan Pelleg and Andrew Moore
 *
 * @param bestModel
 * @return BIC of the given modell
 */
private double calcBIC(CentroidClusterModel bestModel) {
	double loglike = 0;
	int numCenters = bestModel.getNumberOfClusters();
	int numDimensions = bestModel.getCentroidCoordinates(0).length;

	int numParameters = numCenters - 1 + // probabilities
			numCenters * numDimensions + // means
			numCenters; // variance params

	for (Cluster c : bestModel.getClusters()) {
		int current_id = c.getClusterId();
		loglike += logLikelihoodEstimate(c, bestModel.getCentroidCoordinates(current_id),
				bestModel.getClusterAssignments(exampleSet), numCenters);
	}

	loglike -= numParameters / 2.0 * Math.log(examplesize);
	return loglike;
}
 
开发者ID:transwarpio,项目名称:rapidminer,代码行数:25,代码来源:XMeansCore.java


示例3: computeClusterDistances

import com.rapidminer.operator.clustering.CentroidClusterModel; //导入依赖的package包/类
private void computeClusterDistances(DistanceMatrix centroidDistances, double[] s, CentroidClusterModel model,
		DistanceMeasure measure) {
	for (int i = 0; i < model.getNumberOfClusters(); i++) {
		s[i] = Double.POSITIVE_INFINITY;
	}
	for (int i = 0; i < model.getNumberOfClusters(); i++) {
		for (int j = i + 1; j < model.getNumberOfClusters(); j++) {
			final double d = measure.calculateDistance(model.getCentroidCoordinates(i), model.getCentroidCoordinates(j));
			if (d < s[i]) {
				s[i] = d;
			}
			if (d < s[j]) {
				s[j] = d;
			}
			centroidDistances.set(i, j, d);
		}
	}
	for (int i = 0; i < model.getNumberOfClusters(); i++) {
		s[i] = 0.5 * s[i];
	}
}
 
开发者ID:transwarpio,项目名称:rapidminer,代码行数:22,代码来源:FastKMeans.java


示例4: createCentroidPlotter

import com.rapidminer.operator.clustering.CentroidClusterModel; //导入依赖的package包/类
private Plotter createCentroidPlotter(CentroidClusterModel cm, int width, int height) {
	String[] dimensionNames = cm.getAttributeNames();
	String[] columnNames = new String[dimensionNames.length + 1];
	System.arraycopy(dimensionNames, 0, columnNames, 0, dimensionNames.length);
	columnNames[columnNames.length - 1] = "Cluster";
	SimpleDataTable dataTable = new SimpleDataTable("Centroid Positions", columnNames);
	for (int i = 0; i < cm.getNumberOfClusters(); i++) {
		double[] centroidValues = cm.getCentroidCoordinates(i);
		String clusterName = cm.getCluster(i).getClusterId() + "";
		double[] values = new double[centroidValues.length + 1];
		System.arraycopy(centroidValues, 0, values, 0, centroidValues.length);
		values[values.length - 1] = dataTable.mapString(values.length - 1, clusterName);
		dataTable.add(new SimpleDataTableRow(values));
	}
	PlotterConfigurationModel settings = new PlotterConfigurationModel(PlotterConfigurationModel.PARALLEL_PLOT,
			dataTable);
	Plotter plotter = settings.getPlotter();
	settings.setParameterAsString(PlotterAdapter.PARAMETER_PLOT_COLUMN, columnNames[columnNames.length - 1]);
	settings.setParameterAsBoolean(LocalNormalizationPlotterAdapter.PARAMETER_LOCAL_NORMALIZATION, false);
	settings.setParameterAsBoolean(LabelRotatingPlotterAdapter.PARAMETER_ROTATE_LABELS, true);
	plotter.getPlotter().setSize(width, height);
	return plotter;
}
 
开发者ID:transwarpio,项目名称:rapidminer,代码行数:24,代码来源:ClusterModelCentroidPlotRenderer.java


示例5: calcBIC

import com.rapidminer.operator.clustering.CentroidClusterModel; //导入依赖的package包/类
/**
 * Calculate the BIC like in the paper by Dan Pelleg and Andrew Moore
 *
 * @param bestModel
 * @return BIC of the given modell
 * @throws ProcessStoppedException
 */
private double calcBIC(CentroidClusterModel bestModel) throws ProcessStoppedException {
	double loglike = 0;
	int numCenters = bestModel.getNumberOfClusters();
	int numDimensions = bestModel.getCentroidCoordinates(0).length;

	int numParameters = numCenters - 1 + // probabilities
			numCenters * numDimensions + // means
			numCenters; // variance params

	for (Cluster c : bestModel.getClusters()) {
		int current_id = c.getClusterId();
		loglike += logLikelihoodEstimate(c, bestModel.getCentroidCoordinates(current_id), numCenters);
	}

	loglike -= numParameters / 2.0 * Math.log(examplesize);
	return loglike;
}
 
开发者ID:rapidminer,项目名称:rapidminer-studio,代码行数:25,代码来源:XMeansCore.java


示例6: calcBIC

import com.rapidminer.operator.clustering.CentroidClusterModel; //导入依赖的package包/类
/**
 * Calculate the BIC like in the paper by Dan Pelleg and Andrew Moore
 * 
 * @param bestModel
 * @return BIC of the given modell
 */
private double calcBIC(CentroidClusterModel bestModel) {
	double loglike = 0;
	int numCenters = bestModel.getNumberOfClusters();
	int numDimensions = bestModel.getCentroidCoordinates(0).length;

	int numParameters = (numCenters - 1) + // probabilities
			numCenters * numDimensions + // means
			numCenters; // variance params

	for (Cluster c : bestModel.getClusters()) {
		int current_id = c.getClusterId();
		loglike += logLikelihoodEstimate(c,
				bestModel.getCentroidCoordinates(current_id),
				bestModel.getClusterAssignments(exampleSet), numCenters);
	}

	loglike -= (numParameters / 2.0) * Math.log(examplesize);
	return loglike;
}
 
开发者ID:rapidminer,项目名称:rapidminer-5,代码行数:26,代码来源:XMeansCore.java


示例7: computeClusterDistances

import com.rapidminer.operator.clustering.CentroidClusterModel; //导入依赖的package包/类
private void computeClusterDistances(DistanceMatrix centroidDistances, double[] s, 
		CentroidClusterModel model,  DistanceMeasure measure) {
	for (int i = 0; i < model.getNumberOfClusters(); i++){
		s[i] = Double.POSITIVE_INFINITY;
	}
	for (int i = 0; i < model.getNumberOfClusters(); i++){
		for (int j = i+1; j < model.getNumberOfClusters(); j++){
			final double d = measure.calculateDistance(model.getCentroidCoordinates(i), model.getCentroidCoordinates(j));
			if (d < s[i]){
				s[i] = d;
			}
			if (d < s[j]){
				s[j] = d;
			}
			centroidDistances.set(i, j, d);
		}
	}
	for (int i = 0; i < model.getNumberOfClusters(); i++){
		s[i] = 0.5 * s[i];
	}
}
 
开发者ID:rapidminer,项目名称:rapidminer-5,代码行数:22,代码来源:FastKMeans.java


示例8: createCentroidPlotter

import com.rapidminer.operator.clustering.CentroidClusterModel; //导入依赖的package包/类
private Plotter createCentroidPlotter(CentroidClusterModel cm, int width, int height) {
	String[] dimensionNames = cm.getAttributeNames();
	String[] columnNames = new String[dimensionNames.length + 1];
	System.arraycopy(dimensionNames, 0, columnNames, 0, dimensionNames.length);
	columnNames[columnNames.length - 1] = "Cluster";
	SimpleDataTable dataTable = new SimpleDataTable("Centroid Positions", columnNames);
	for (int i = 0; i < cm.getNumberOfClusters(); i++) {
		double[] centroidValues = cm.getCentroidCoordinates(i);
		String clusterName = cm.getCluster(i).getClusterId() + "";
		double[] values = new double[centroidValues.length + 1];
		System.arraycopy(centroidValues, 0, values, 0, centroidValues.length);
		values[values.length - 1] = dataTable.mapString(values.length - 1, clusterName);
		dataTable.add(new SimpleDataTableRow(values));
	}
	PlotterConfigurationModel settings = new PlotterConfigurationModel(PlotterConfigurationModel.PARALLEL_PLOT, dataTable);
	Plotter plotter = settings.getPlotter();
	settings.setParameterAsString(ParallelPlotter2.PARAMETER_PLOT_COLUMN, columnNames[columnNames.length - 1]);
	settings.setParameterAsBoolean(ParallelPlotter2.PARAMETER_LOCAL_NORMALIZATION, false);
	settings.setParameterAsBoolean(ParallelPlotter2.PARAMETER_ROTATE_LABELS, true);
	plotter.getPlotter().setSize(width, height);
	return plotter;
}
 
开发者ID:rapidminer,项目名称:rapidminer-5,代码行数:23,代码来源:ClusterModelCentroidPlotRenderer.java


示例9: getAverageWithinDistance

import com.rapidminer.operator.clustering.CentroidClusterModel; //导入依赖的package包/类
private double[] getAverageWithinDistance(CentroidClusterModel model, ExampleSet exampleSet) throws OperatorException {
	DistanceMeasure measure = new SquaredEuclideanDistance();
	measure.init(exampleSet);
	int numberOfClusters = model.getNumberOfClusters();

	// counting distances within
	double[] result = new double[numberOfClusters + 1];
	int[] clusterSizes = new int[numberOfClusters];

	int[] clusterIndices = model.getClusterAssignments(exampleSet);

	int i = 0;
	for (Example example : exampleSet) {
		clusterSizes[clusterIndices[i]]++;
		result[clusterIndices[i]] += measure.calculateDistance(example, model.getCentroidCoordinates(clusterIndices[i]));
		i++;
	}

	// averaging by cluster sizes and sum over all
	int totalSize = 0;
	for (i = 0; i < numberOfClusters; i++) {
		result[numberOfClusters] += result[i];
		result[i] /= clusterSizes[i];
		totalSize += clusterSizes[i];
	}
	result[numberOfClusters] /= totalSize;

	return result;
}
 
开发者ID:transwarpio,项目名称:rapidminer,代码行数:30,代码来源:CentroidBasedEvaluator.java


示例10: getTableModel

import com.rapidminer.operator.clustering.CentroidClusterModel; //导入依赖的package包/类
@Override
public TableModel getTableModel(Object renderable, IOContainer ioContainer, boolean isReporting) {
	CentroidClusterModel clusterModel = (CentroidClusterModel) renderable;
	if (clusterModel != null) {
		return new CentroidTableModel(clusterModel);
	} else {
		return null;
	}
}
 
开发者ID:transwarpio,项目名称:rapidminer,代码行数:10,代码来源:ClusterModelCentroidTableRenderer.java


示例11: getVisualizationComponent

import com.rapidminer.operator.clustering.CentroidClusterModel; //导入依赖的package包/类
@Override
public Component getVisualizationComponent(Object renderable, IOContainer ioContainer) {
	CentroidClusterModel cm = (CentroidClusterModel) renderable;
	JPanel panel = new JPanel(new BorderLayout());
	JPanel innerPanel = new JPanel(new BorderLayout());
	innerPanel.add(createCentroidPlotter(cm, 800, 600).getPlotter());
	innerPanel.setBorder(BorderFactory.createMatteBorder(10, 10, 5, 5, Colors.WHITE));
	panel.add(innerPanel, BorderLayout.CENTER);
	return panel;
}
 
开发者ID:transwarpio,项目名称:rapidminer,代码行数:11,代码来源:ClusterModelCentroidPlotRenderer.java


示例12: assinePoints

import com.rapidminer.operator.clustering.CentroidClusterModel; //导入依赖的package包/类
/**
 * assign the Points to cluster
 * 
 * @param model 
 * @return
 */
private CentroidClusterModel assinePoints(CentroidClusterModel model) {
	double[] values = new double[attributes.size()];
	int i = 0;
	for (Example example : exampleSet) {
		double[] exampleValues = getAsDoubleArray(example, attributes,
				values);
		double nearestDistance = measure.calculateDistance(
				model.getCentroidCoordinates(0), exampleValues);
		int nearestIndex = 0;
		int id = 0;
		for (Centroid cr : model.getCentroids()) {
			double distance = measure.calculateDistance(cr.getCentroid(),
					exampleValues);
			if (distance < nearestDistance) {
				nearestDistance = distance;
				nearestIndex = id;
			}
			id++;
		}
		centroidAssignments[i] = nearestIndex;
		i++;
	}

	model.setClusterAssignments(centroidAssignments, exampleSet);
	return model;
}
 
开发者ID:rapidminer,项目名称:rapidminer-5,代码行数:33,代码来源:XMeansCore.java


示例13: getAverageWithinDistance

import com.rapidminer.operator.clustering.CentroidClusterModel; //导入依赖的package包/类
private double[] getAverageWithinDistance(CentroidClusterModel model, ExampleSet exampleSet) throws OperatorException {
	DistanceMeasure measure = new SquaredEuclideanDistance();
	measure.init(exampleSet);
	int numberOfClusters = model.getNumberOfClusters();

	// counting distances within
	double[] result = new double[numberOfClusters + 1];
	int[] clusterSizes = new int[numberOfClusters];

	int[] clusterIndices = model.getClusterAssignments(exampleSet);

	int i = 0;
	for (Example example: exampleSet) {
		clusterSizes[clusterIndices[i]]++;
		result[clusterIndices[i]] += measure.calculateDistance(example, model.getCentroidCoordinates(clusterIndices[i]));
		i++;
	}

	// averaging by cluster sizes and sum over all
	int totalSize = 0;
	for (i = 0; i < numberOfClusters; i++) {
		result[numberOfClusters] += result[i];
		result[i] /= clusterSizes[i];
		totalSize += clusterSizes[i];
	}
	result[numberOfClusters] /= totalSize;

	return result;
}
 
开发者ID:rapidminer,项目名称:rapidminer-5,代码行数:30,代码来源:CentroidBasedEvaluator.java


示例14: getDaviesBouldin

import com.rapidminer.operator.clustering.CentroidClusterModel; //导入依赖的package包/类
private double getDaviesBouldin(CentroidClusterModel model, ExampleSet exampleSet) throws OperatorException {
	DistanceMeasure measure = new EuclideanDistance();
	measure.init(exampleSet);
	int numberOfClusters = model.getNumberOfClusters();

	// counting distances within
	double[] withinClusterDistance = new double[numberOfClusters];
	int[] clusterSizes = new int[numberOfClusters];

	int[] clusterIndices = model.getClusterAssignments(exampleSet);

	int i = 0;
	for (Example example: exampleSet) {
		clusterSizes[clusterIndices[i]]++;
		withinClusterDistance[clusterIndices[i]] += measure.calculateDistance(example, model.getCentroidCoordinates(clusterIndices[i]));
		i++;
	}

	// averaging by cluster sizes and sum over all
	for (i = 0; i < numberOfClusters; i++) {
		withinClusterDistance[i] /= clusterSizes[i];
	}

	double result = 0.0;

	for (i = 0; i < numberOfClusters; i++) {
		double max = Double.NEGATIVE_INFINITY;
		for (int j = 0; j < numberOfClusters; j++)
			if (i != j) {
				double val = (withinClusterDistance[i] + withinClusterDistance[j]) / measure.calculateDistance(model.getCentroidCoordinates(i), model.getCentroidCoordinates(j));
				if (val > max)
					max = val;
			}
		result = result + max;
	}
	return result / model.getNumberOfClusters();
}
 
开发者ID:rapidminer,项目名称:rapidminer-5,代码行数:38,代码来源:CentroidBasedEvaluator.java


示例15: getTableModel

import com.rapidminer.operator.clustering.CentroidClusterModel; //导入依赖的package包/类
@Override
public TableModel getTableModel(Object renderable, IOContainer ioContainer, boolean isReporting) {
	CentroidClusterModel clusterModel = (CentroidClusterModel) renderable;
	if (clusterModel != null) {
		return new CentroidTableModel(clusterModel); 
	} else {
		return null;
	}
}
 
开发者ID:rapidminer,项目名称:rapidminer-5,代码行数:10,代码来源:ClusterModelCentroidTableRenderer.java


示例16: getDaviesBouldin

import com.rapidminer.operator.clustering.CentroidClusterModel; //导入依赖的package包/类
private double getDaviesBouldin(CentroidClusterModel model, ExampleSet exampleSet) throws OperatorException {
	DistanceMeasure measure = new EuclideanDistance();
	measure.init(exampleSet);
	int numberOfClusters = model.getNumberOfClusters();

	// counting distances within
	double[] withinClusterDistance = new double[numberOfClusters];
	int[] clusterSizes = new int[numberOfClusters];

	int[] clusterIndices = model.getClusterAssignments(exampleSet);

	int i = 0;
	for (Example example : exampleSet) {
		clusterSizes[clusterIndices[i]]++;
		withinClusterDistance[clusterIndices[i]] += measure.calculateDistance(example,
				model.getCentroidCoordinates(clusterIndices[i]));
		i++;
	}

	// averaging by cluster sizes and sum over all
	for (i = 0; i < numberOfClusters; i++) {
		withinClusterDistance[i] /= clusterSizes[i];
	}

	double result = 0.0;

	for (i = 0; i < numberOfClusters; i++) {
		double max = Double.NEGATIVE_INFINITY;
		for (int j = 0; j < numberOfClusters; j++) {
			if (i != j) {
				double val = (withinClusterDistance[i] + withinClusterDistance[j])
						/ measure.calculateDistance(model.getCentroidCoordinates(i), model.getCentroidCoordinates(j));
				if (val > max) {
					max = val;
				}
			}
		}
		result = result + max;
	}
	return result / model.getNumberOfClusters();
}
 
开发者ID:transwarpio,项目名称:rapidminer,代码行数:42,代码来源:CentroidBasedEvaluator.java


示例17: getClusterModelClass

import com.rapidminer.operator.clustering.CentroidClusterModel; //导入依赖的package包/类
@Override
public Class<? extends ClusterModel> getClusterModelClass() {
	return CentroidClusterModel.class;
}
 
开发者ID:transwarpio,项目名称:rapidminer,代码行数:5,代码来源:KMedoids.java


示例18: CentroidTableModel

import com.rapidminer.operator.clustering.CentroidClusterModel; //导入依赖的package包/类
public CentroidTableModel(CentroidClusterModel model) {
	this.model = model;
}
 
开发者ID:transwarpio,项目名称:rapidminer,代码行数:4,代码来源:ClusterModelCentroidTableRenderer.java


示例19: createReportable

import com.rapidminer.operator.clustering.CentroidClusterModel; //导入依赖的package包/类
@Override
public Reportable createReportable(Object renderable, IOContainer ioContainer, int width, int height) {
	CentroidClusterModel cm = (CentroidClusterModel) renderable;
	return createCentroidPlotter(cm, width, height);
}
 
开发者ID:transwarpio,项目名称:rapidminer,代码行数:6,代码来源:ClusterModelCentroidPlotRenderer.java


示例20: makeCentroidClusterModel

import com.rapidminer.operator.clustering.CentroidClusterModel; //导入依赖的package包/类
@Override
public ICentroidClusterModel makeCentroidClusterModel(IExampleSet data, Integer k, List<String> features) {
    return new CentroidClusterModel(data, k, features, null, false, false);
}
 
开发者ID:transwarpio,项目名称:rapidminer,代码行数:5,代码来源:MidasFrontendFactory.java



注:本文中的com.rapidminer.operator.clustering.CentroidClusterModel类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java CriteriaValue类代码示例发布时间:2022-05-16
下一篇:
Java ZeppelinServer类代码示例发布时间:2022-05-16
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap