2016-04-23 11 views
2

機能をベクトル化しようとすると面倒な問題に遭遇しました。データのベクトル化

  • そのほとんどが数値である、100、33.3、1、0のような、など
  • の一部が空で、提供されないを表している:私はこのような機能を持っています。
  • 一部は「auto」です。つまり、コンテキストを適応します。

私の質問は、この機能をベクトルに効果的にエンコードする方法です。私ができることの1つは、すべての数値をカテゴリ別に扱うことですが、それは、同様のデータポイントを表すのには適していない、特徴空間の爆発を招くことになります。私は何をすべきか?

ありがとうございます!

---私が使用しているアルゴリズム/モデルは---

それはLSTM(ロング短期記憶)ニューラルネットワークです。現在、私は次のようなアプローチで行くよ、私は2つのデータポイントを持っていると言う:だからCOL1-bが、それは自動だかどうかを表します col1-a col1-b entry1: 1.0 0 entry2: dummy 1 col1 entry1: 1.0 entry2: auto

にエンコードされます。ダミーの数値は、すべての数値データの中央値になります。これは使えますか?

また、それぞれの数値にはユニットが関連付けられていますので、 'px'、 'pt'のような値を持つ別のカラムがあります。別の列?彼らは(数値+単位)に関連付けられているときには実際の意味を持ちますが、NNはそれらが異なる次元にある場合に通知できますか?

答えて

1

これは、使用するアルゴリズムの種類によって異なります。関連ルールの分類のようなものを使用する場合は、すべての変数をカテゴリデータとして扱わなければなりません。ロジスティック回帰を使用する場合、それは必要ありません。あなたはより良い答えを得るために詳細を提供しなければならないでしょう。

編集 私はあなたの編集を読んだ後にいくつかの編集を行いました。

あなたの持っているもののように思えます。私は人々が数値データの欠損値を埋めるために平均/中央値/モードを使用する本を読んだ。どの特定の人があなたのために最善を尽くしているか分かりません。それぞれのバージョンでクラシファイアをトレーニングできますか?

「自動」列の問題に関しては、regression with categorical dataのような操作をしたいように思えます。私はニューラルネットワークの経験はあまりありませんが、ロジスティック回帰のようなものを使うなら、これはあなたが使いたいアプローチです。うまくいけば、これはあなたが研究しなければならないもののアイデアを与えます。

すべての数値データをカテゴリデータとして扱う限り、同様に行うことができますが、最初に正規化する必要があります。あなたはmin-max normalizationのようなことをすることができますし、ちょうど番号のintergerの部分を取る。これでデータはカテゴリデータと同じになります。

+0

ありがとう、テイラー!私は問題を編集して、「11px」、「12pt」のようなもののベクトル化について尋ねました。これは今より意味がありますか? – MrW

+0

@MrW私の編集を参照してください。 –

+0

ありがとう、テイラー! – MrW