2017-06-27 10 views
0

OneHotEncoderを初期化するときにハードコードされたリスト/タプル(両方を試しました)を渡していますが、numpyを使用していないときにこのエラーが発生します。fit_transformを入力してください。任意の型(データ行列自体を除く)。sklearn :: TypeError:パラメータ `n_values`の型が間違っています。

唯一のことは、私はまた、いくつかの機能に実数値であり、私は彼らが実数値に滞在したいと(マスクを指定するcategorical_featuresを使用していますので、その配列内の値の一部がNoneであるということです。

私も試してみましたけれども[1, 2, 3, None, 5]または(1, 2, 3, None, 5)

categorical_features[0, 1, 2, 4]のように見えるように私のn_valuesはなります。

[True, True, True, False, True]

このマニュアルでは、マスクを使用した実際の例は表示されません。

EDIT:

だから、私はゼロでNoneを交換しようと、この問題は去っていきましたが、今私が手:

ValueError: Shape mismatch: if n_values is an array, it has to be of shape (n_features,).

私はnp.arrayないか(と私のmask配列をラップするかどうかと私は形状が確かに(n_features,)と同じです)私はこの同じエラーが発生します(興味深いことに、それについては、numpy配列である限りそれについてもう一度不平を言っていないそれにはNoneという値はありません。

+0

ドキュメントには、「n_valuesは1フィーチャあたりの値の数です。」という情報が含まれています。なぜ「なし」? – mkaran

+1

完全なコードをいくつかのサンプルと完全なスタックトレースと一緒に投稿してください。 –

+0

'@ mkaran'あなたの機能は' [color、age、country] 'としましょう。それでは、年齢ではなく色彩と国の価値観を一つにしたいと思っています。私は '[7、None、180]'や '[7、0,180]'などさまざまな方法を試していましたが、[7、180]が正しいアプローチです。このドキュメントでは、非カテゴリ変数が存在する場合の例は示されていません。 – rudolfovic

答えて

0

n_valuesには、データ行列の非カテゴリ型列を完全にスキップするカテゴリ値のドメインサイズのみを含める必要があります。

したがって、[True, False, True]フォーマットを使用する場合、サイズはアレイ内のTrue値の数に対応する必要があります。また、インデックスを使用する場合、2つのアレイは同じサイズでなければなりません。

だから、何None値もなし0、-1,2またはn_values配列の実数値変数をエンコードする任意の他の方法があってはなりません。

関連する問題