Определение точности кластеризации k-средних

Вот простой компонент формата / цвета JSON, записанный в React:

const HighlightedJSON = ({ json }: Object) => {
  const highlightedJSON = jsonObj =>
    Object.keys(jsonObj).map(key => {
      const value = jsonObj[key];
      let valueType = typeof value;
      const isSimpleValue =
        ["string", "number", "boolean"].includes(valueType) || !value;
      if (isSimpleValue && valueType === "object") {
        valueType = "null";
      }
      return (
        
{key}: {isSimpleValue ? ( {`${value}`} ) : ( highlightedJSON(value) )}
); }); return
{highlightedJSON(json)}
; };

Посмотрите, как он работает в этой CodePen: https://codepen.io/benshope/pen/BxVpjo

Надеюсь, что это поможет!

2
задан Ach113 13 July 2018 в 07:52
поделиться

2 ответа

Чтобы оценить ваши predicitons, вам нужно посмотреть метрику кластеризации , в том числе

  1. Показатель домохозяйства
  2. V measure
  3. Завершает оценку и т. д.

Теперь возьмем показатель полноты, например,

Результат кластеризации удовлетворяет полноте, если все точки данных, являющиеся членами данного класса, являются элементами одного и того же кластера.

Например

from sklearn.metrics.cluster import completeness_score
print completeness_score([0, 0, 1, 1], [1, 1, 0, 0])
#Output : 1.0

Что похоже на то, что вы хотите. Для вас код будет completeten_score (pred, name_val). Здесь обратите внимание, что метка, назначенная точке данных, не важна, а важна их маркировка относительно друг друга.

Гомогенность, с другой стороны, фокусируется на качестве точек данных в одном кластере. В то время как V-мера определяется как 2 * (homogeneity * completeness) / (homogeneity + completeness)

Прочитайте официальную документацию здесь: Гомогенность, полнота и V-меру

2
ответ дан Mohammed Kashif 17 August 2018 в 13:24
поделиться

Прежде всего, вы не классифицируете, вы кластеризуете данные. Классификация - это другой процесс.

Алгоритм K-Средств включает случайность при выборе начальных центров кластера. Установив random_state, вам удастся воспроизвести ту же кластеризацию, что и исходные кластерные центры. Однако это не устраняет вашу проблему. Вы хотите, чтобы кластер с id 0 был setosa, 1 был versicolor и т. Д. Это невозможно, потому что алгоритм K-Means не знает этих категорий, он только группирует цветы в зависимости от их сходства. Вы можете создать правило, чтобы определить, какой кластер соответствует какой категории. Например, вы можете сказать, что если более 50% цветов, принадлежащих кластеру, также относятся к категории setosa, то документы этого кластера следует сравнивать с набором документов в категории setosa.

Это лучший способ сделать это, о котором я могу думать. Однако это не так, как мы оцениваем качество кастинга, есть показатели, которые вы можете использовать, например, коэффициент силы. Надеюсь, я помог.

2
ответ дан Theodoros Vasileiadis 17 August 2018 в 13:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: