rbf_feature = RBFSampler(gamma=0.1, n_components=100) r_pre_mapped = rbf_feature.fit_transform(r_pre) target=np.array(target) target = target.reshape(-1, 1) target_K=rbf_feature.fit_transform(target) print(len(r_pre_mapped),len(r_pre_mapped[0])) print(len(target_K))为什么target不映射
时间: 2024-04-11 20:28:36 浏览: 140
RBF_K-means.zip_K._RBF_k-means RBF_rbf c_rbf kmeans
根据你提供的代码,可以看出你先通过 `rbf_feature.fit_transform(r_pre)` 对 `r_pre` 进行了映射,然后对 `target` 也进行了相同的操作。但是,你在对 `target` 进行映射之前又重新调用了 `rbf_feature.fit_transform(target)`。
这个问题的原因是,每次调用 `fit_transform` 方法时,都会重新拟合并生成新的映射。所以当你对 `target` 进行映射时,它会使用新的拟合参数,而不是之前用于 `r_pre` 的参数。
如果你想要使用相同的映射参数,可以先对 `r_pre` 进行映射,然后再使用已经拟合好的 `rbf_feature` 对 `target` 进行映射。示例如下:
```python
rbf_feature = RBFSampler(gamma=0.1, n_components=100)
r_pre_mapped = rbf_feature.fit_transform(r_pre)
target_mapped = rbf_feature.transform(target)
```
这样,`target_mapped` 就会使用和 `r_pre_mapped` 相同的映射参数。希望这解决了你的问题!
阅读全文