org.carrot2.clustering.kmeans.BisectingKMeansProcessingContext Maven / Gradle / Ivy
/*
* Carrot2 project.
*
* Copyright (C) 2002-2016, Dawid Weiss, Stanisław Osiński.
* All rights reserved.
*
* Refer to the full license file "carrot2.LICENSE"
* in the root folder of the repository checkout or at:
* http://www.carrot2.org/carrot2.LICENSE
*/
package org.carrot2.clustering.kmeans;
import org.carrot2.text.preprocessing.PreprocessingContext;
import org.carrot2.text.preprocessing.PreprocessingContext.AllLabels;
import org.carrot2.text.vsm.ReducedVectorSpaceModelContext;
import org.carrot2.text.vsm.VectorSpaceModelContext;
import com.carrotsearch.hppc.BitSet;
/**
* Intermediate data structures required during k-means clustering.
*/
public class BisectingKMeansProcessingContext
{
/** Preprocessing context */
public final PreprocessingContext preprocessingContext;
/** Vector space model context */
public final VectorSpaceModelContext vsmContext;
/** Dimensionality-reduced vector space model */
public final ReducedVectorSpaceModelContext reducedVsmContext;
/** Feature indices (like in {@link AllLabels#featureIndex}) that should form clusters */
int [] clusterLabelFeatureIndex;
/** Scores for cluster labels */
double [] clusterLabelScore;
/** Documents assigned to clusters */
BitSet [] clusterDocuments;
BisectingKMeansProcessingContext(ReducedVectorSpaceModelContext reducedVsmContext)
{
this.reducedVsmContext = reducedVsmContext;
this.vsmContext = reducedVsmContext.vsmContext;
this.preprocessingContext = vsmContext.preprocessingContext;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy