1

アイリスデータセットでsklearn.neural_network.BernoulliRBMを使用しようとしています:

from sklearn import datasets
iris = datasets.load_iris() 
collist = ['SL', 'SW', 'PL', 'PW']
dat = pd.DataFrame(data=iris.data, columns=collist)

from sklearn.neural_network import BernoulliRBM
model = BernoulliRBM(n_components=2)
scores = model.fit_transform(dat)
print(scores.shape)
print(scores)

ただし、すべての行の出力として 1 しか得られません。

(150, 2)
[[1. 1.]
 [1. 1.]
 [1. 1.]
 [1. 1.]
 [1. 1.]  # same for all rows

主成分分析で取得できるように、個々の行のスコアに似た値を取得できますか? それ以外の場合、RBM から有用な数値を取得するにはどうすればよいですか? 私は試しましたが、それは大多数の行のmodel.score_samples(dat)値も与えます。0

4

1 に答える 1