我有一个相异矩阵,我想使用sklearn.manifold.MDS函数执行多维缩放(MDS)。此矩阵中某些元素之间的差异没有意义,因此我想知道是否有一种方法可以在稀疏矩阵或缺少值的矩阵上运行MDS?根据这个问题,与0的相异性被认为是缺失值,但是我在官方文档中找不到此声明。值0的差异是否被解释为彼此非常接近的点?
任何有关基于稀疏相异矩阵获取我的高维数据集的低维表示的建议都将受到欢迎。谢谢!
python sparse-matrix missing-data multi-dimensional-scaling scikit-learn
我正在使用cnn_dailymail数据集,它是TensorFlow Datasets 的一部分。我的目标是在对其应用一些文本预处理步骤后对数据集进行标记。
我访问和预处理数据集如下:
!pip install tensorflow-gpu==2.0.0-alpha0
import tensorflow as tf
import tensorflow_datasets as tfds
data, info = tfds.load('cnn_dailymail', with_info=True)
train_data, test_data = data['train'], data['test']
def map_fn(x, start=tf.constant('<start>'), end=tf.constant('<end>')):
strings = [start, x['highlights'], end]
x['highlights'] = tf.strings.join(strings, separator=' ')
return x
train_data_preproc = train_data.map(map_fn)
elem, = train_data_preproc.take(1)
elem['highlights'].numpy()
# b'<start> mother announced as imedeen ambassador . ...
Run Code Online (Sandbox Code Playgroud)
为了标记数据集,我遇到了tfds.features.text.Tokenizer函数(另请参见此处)。但是,这并不像我希望的那样:
tokenizer = tfds.features.text.Tokenizer(alphanum_only=False, reserved_tokens=['<start>', '<end>'])
tokenizer.tokenize(elem['highlights'].numpy())
# ['<start>', ' ', 'mother', ' ', 'announced', …Run Code Online (Sandbox Code Playgroud)