私は線形回帰のための価格設定データを用意しています。私の機能は、曜日だけで構成されています。私の目標は価格です。私はsklearn 4.2.1の例のように自分のデータの辞書のリストを作成しました。したがって、データ構造は[{'day': 'friday', 'price': 59}, {'day': 'saturday', 'price': 65}
などです。sklearnを使用して週のダミー変数を作成するDictVectorizer
上記のリンクごとにsklearnのDictVectorizerを使用して、曜日をダミーコードし、データ構造をリスト(Sklearn LinearRegressionに適したリスト)に変換しました。私はデータを見ることがvec_fitを印刷するとき
vec = DictVectorizer()
vec_fit = vec.fit_transform(my_data).toarray()
、私は以下の出力を取得します。
[[ 0. 0. 0. ..., 0. 1. 59.]
[ 0. 0. 0. ..., 0. 0. 92.]
[ 1. 0. 0. ..., 0. 0. 92.]
...,
[ 0. 0. 1. ..., 0. 0. 181.]
[ 0. 0. 0. ..., 0. 0. 181.]
[ 0. 1. 0. ..., 0. 0. 181.]]
誰かが(a)は...,
を説明することができますし、(b)は曜日の7つのダミー変数が存在しない理由?私の例では、...,
は日曜日と木曜日をカバーするようです。
私の機能(sklearn 4.2.1)を確認するには、get_feature_names
関数を使用しました。
vec.get_feature_names()
[u'day=Friday', u'day=Monday', u'day=Saturday', u'day=Sunday',
u'day=Thursday', u'day=Tuesday', u'day=Wednesday', 'price']
出力からわかるように、すべての日が適切に表現されているようです。私はまだ、上記の(a)と(b)を混同しています。 FYI、私がするときLinearRegression
私は6つの係数を得る(私は7、毎週の1つを期待しています)ありがとう。
素敵な答えのVivek :) –
ありがとうございました!投稿後、私の心の中にその考えが浮かびました。しかし、私は10個の機能を持つテストファイルを作った。そして、私が印刷したとき、 '...、'なしですべての10個に対して0または1を得た。 – vintagedeek
@vintagedeekテストのリストまたはnumpy配列のリストを作ったか? –