私はクラスタ化のためにsklearn.pipeline.Pipeline
オブジェクトを使用しています。sklearn.pipeline.Pipelineからトランスフォーマーの結果を取得
pipe = sklearn.pipeline.Pipeline([('transformer1': transformer1),
('transformer2': transformer2),
('clusterer': clusterer)])
次に、シルエットスコアを使用して結果を評価しています。
sil = preprocessing.silhouette_score(X, y)
私はそれだけでclusterer.fit_predict(X)
を返すように私は、パイプラインからX
または変換されたデータを取得することができますどのように思ったんだけど。
私はちょうど
pipe = sklearn.pipeline.Pipeline([('transformer1': transformer1),
('transformer2': transformer2)])
X = pipe.fit_transform(data)
res = clusterer.fit_predict(X)
sil = preprocessing.silhouette_score(X, res)
としてパイプラインを分割することにより、これを行うことができますが、私はちょうど1つのパイプラインでそれをすべてやりたいことを理解しています。
はっきりしています、私は 'transformer1.fit_transform(df)'や 'transformer2.fit_transform(transformer1.fit_transform(df))'のような中間結果を得ることに興味があります。 – jbolilia