0

Python 2.7の使用。問題はフィット法に関するものです。数値型の機能(例えば、Male,Femaleなどの文字列型の機能)が必要な場合は、機能(数値はX)を使用するか、数値機能に変換することをおすすめします?そして私は複数値文字列型の機能を持っている場合にもscikit-learnのロジスティック回帰フィーチャ値の正規化

http://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html#sklearn.linear_model.LogisticRegression.fit

に関して、 林(例えば機能ジオがSan Franciscoの任意の値、San JoseMountain View、などすることができる)

答えて

1

あなたはカテゴリエンコードする必要がありますあなたがsklearnを使用したい場合は、それらを数値に変換します。このリンゴはすべてsklearn estimators(LogisticRegressionを含む)にあり、使用しているPythonのバージョンは関係ありません。

見て4.3.4。詳細な情報は、http://scikit-learn.org/stable/modules/preprocessing.html#encoding-categorical-featuresのエンコードカテゴリ機能を参照してください。

+0

ありがとうMhFarahaniさん、男性/女性を0/1または-1/1にエンコードすると予測結果が変わるかどうか不明ですか? –

+0

また、エンコーディングに関するいくつかの例を読みましたが、たとえば、このリンク(http://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.OneHotEncoder.html#sklearn.preprocessing)から混乱しています。これらの値は、4つのサンプルを表す '[0、0、3]、[1,1,0]、[0,2,1]、[1,0,2]特徴?もしそうなら、その文書がなぜ「3つの特徴と2つのサンプル」と言っているのか混乱していますか? –

+1

0/1の男性/女性は合理的な選択です。しかし1/1は男性と女性の間に違いがないことを示すので、あなたに間違った結果を与えるでしょう。あなたの機能を 'sklearn.preprocessing.LabelEncoder'に渡すと、それはあなたのカテゴリー的な特徴を自動的にエンコードします。 – MhFarahani

2

ちょうどMhFarahaniさんの答えにビットを追加する: はい、これらのラベルを数値(通常0または1)に変換する必要があります。ジェンダーのようなものについては、男性は0、女性は1のいずれかの行が必要です。逆もまた同様です。地理的な場所のようなものは、もう少し複雑になります。合理的な数の回答がある場合は、pandasのget_dummies関数を使用して(ドキュメントhereをチェックして)、データフレームに各可能な場所を表す行を自動的に設定してください。それらの行のうちの1つを削除して、その場所を「デフォルト」にすることができます。

+0

男性/女性を0/1または-1/1にエンコードすると、予測結果が変わるかどうかわかりません。 –

+1

0/1か1/0を意味すると思いますか? (つまり、「性別」という列があり、値は1または0のいずれかになります.1は女性、0は男性OR、0は女性、1は男性です)。選択は任意ですが、回帰の結果を見るときは心に留めておく必要があります。例えば、性別の係数が正であり、1が男性を意味する場合、男性であることは従属変数に正の効果を有することを意味する。 1が女性を意味する場合、女性はその肯定的な効果を持っています! –

+0

こんにちはバラク、私は男性を1、女性を0とエンコードしたり、2つのメカニズムが予測結果に影響を与えるかどうかにかかわらず、男性を-1、女性を1とエンコードすることができますか? –

関連する問題