2017-02-13 1 views
0

私は割り当てに取り組んでいます。私たちはscikit-learnでOneHotEncoderを使ってすべてのカテゴリをプリントアウトしています。ここでは、データのサンプルと、私はそれを変換するために使用するコードです:OneHotEncoderとフィッティングデータを使用しているときに値エラーを受け取りました

 grade sub_grade short_emp emp_length_num home_ownership  term 
0   B  B2   0    11   RENT 36 months 
1   C  C4   1    1   RENT 60 months 
2   C  C5   0    11   RENT 36 months 
3   C  C1   0    11   RENT 36 months 
4   A  A4   0    4   RENT 36 months 
5   E  E1   0    10   RENT 36 months 

コード:

ValueError: could not convert string to float: ' 36 months' 
:私は受けてるエラーが語列にある

from sklearn.preprocessing import OneHotEncoder 
encoder = OneHotEncoder(categorical_features='all', handle_unknown='error', n_values='auto', sparse=True) 
encoder.fit(lending_club) 

答えて

1

OneHotEncoderは文字列機能をサポートしていません。あなたは例えば、LabelEncoderを使って整数に変換しなければなりません。もう1つの選択肢は、すべての列でLabelBinarizerを使用することです。

How to do Onehotencoding in Sklearn Pipelineを参照してください。

+0

もう一つの質問ですが、lending_club ['grade'、 'term']のような複数の文字列を選択してDataFrameを渡そうとすると、値のエラーが発生します。 DataFrameを2つのフレームに分割する必要がありますか?または、DataMapperを使用して数値データから文字列データを分割しますか? – macshaggy

+0

あなたは必要なすべての情報で、SOで新しい質問を作成できますか? – dukebody

関連する問題