2017-08-31 12 views
0

sklearnのPCAによって画像の寸法を(480,640,3)から(1,512)に縮小したいと思います。だから、イメージを(1、921600)に改造します。その後、pcaを実行して次元を縮小します。しかし、それは代わりに(1512)sklearnのPCAによる次元を小さくする

>>> img.shape 
(1, 921600) 
>>> pca = PCA(n_components=512) 
>>> pca.fit_transform(img).shape 
(1, 1) 

(1,1)に変更する誰もが単一の画像の寸法を小さくする方法を教えてもらえますか?ありがとう

+1

* *これは、それ自体では意味がない単一の画像の寸法を減少させます。 *次元を減らす方法*を指定して考える必要があります。高次元空間から低次元空間に移行するための基準は何でしょうか? (または、その質問があまりにも多くを飲み込むなら、あなたは何を達成しようとしていますか?) – kazemakase

答えて

1

これは期待されています。 Wiki says (bold annotation by me)

PCAは主成分(又は変化の時々、主モードと呼ばれる直線的に相関のない変数の値のセットにおそらく相関する変数の観測のセットを変換する直交変換を使用して統計的手順であります)

フィッティングPCA形状(1, 921600)は、921600フィーチャーの1つのサンプルであることを意味します。

sklearn's docs:

n_components ==分(n_samples、n_features)

関連する問題