我正在解决一个杂务问题。
我有一套100 observatons。每个观察用三个特征来描述。我必须将这些观察分为两组(我有每个观察的标签)。
在对观测数据进行聚类之前,我首先计算了观测值之间的pdist,然后使用MATLAB中的mdscale函数返回到三维。我使用transformed_observation作为k均值聚类算法的输入,与使用原始观测值相比,获得了更好的聚类结果(即,聚类与标签匹配)。任何人都能解释我为什么?我刚试过..。
在这里你可以找到我的脚步..。
% select the dimensions of my features
dimensions = 3;
% gener
我有200个数据点,每个点都是代表位置的3个数字的列表。我想从这个3D空间中采样N=100点,但有一个约束,即每两个点之间的最小距离必须大于0.15。下面的脚本是我采样点的方式,但它一直在运行,永远不会停止。此外,如果我设置了一个大于某个值的N,代码将无法找到所有N个点,因为我随机采样每个点,它会到达一个点,在这个点上,不能对不太靠近当前点的点进行采样,但实际上,如果点分布非常“密集”(但仍然满足大于0.15的最小距离),N可能会比这个值大得多。有没有更有效的方法来做到这一点? import numpy as np
import random
import time
def get_ran