重要な属性を指定する方法は?


15

多くのデータソースで構成される、緩やかに構造化されたデータのセット(Webテーブル/リンクされたオープンデータなど)を想定します。データが後に続く共通のスキーマはなく、各ソースは同義語属性を使用して値を記述することができます(例:「国籍」対「bornIn」)。

私の目標は、それらが記述するエンティティを何らかの形で「定義」する「重要な」属性を見つけることです。そのため、そのような属性に同じ値が見つかった場合、2つの説明が同じエンティティ(たとえば、同じ人物)についてである可能性が最も高いことがわかります。

たとえば、属性「lastName」は、属性「nationality」よりも差別的です。

他のどの属性よりも重要な属性を(統計的に)見つけることができますか?

単純な解決策は、各属性の値の平均IDFを取得し、これを属性の「重要」要素にすることです。同様のアプローチは、各属性に表示される個別の値の数をカウントすることです。

機械学習で機能という用語または属性選択を見てきましたが、残りの属性を破棄したくはありません。最も重要な属性に高い重みを付けたいだけです。

回答:


16

可能な解決策は、各属性に関連付けられた情報ゲインを計算することです。

情報ゲイン

最初に、データセット全体を取得し、各アイテムの情報ゲインを計算します。最良の情報ゲインを持つアイテムは、データセットをパーティション分割するために使用する必要があるアイテムです(アイテムの値を考慮)。次に、各アイテム(選択したアイテム)に対して同じ計算を実行し、常にデータセットからエントリを最もよく説明/区別するものを選択します。

そのような計算に利用可能な実装があります。通常、ディシジョンツリーは、最適な情報を獲得できる機能に基づいて機能選択を行います。結果のツリー構造を使用して、これらの重要なアイテムを見つけることができます。


これはエントロピーですか?私は混乱しています。
バレンタス

返事が遅れて申し訳ありません。情報を得るとは、全体的なエントロピーを減らすことです。基本的に同じ概念です。「エントロピー」と「情報ゲイン」の定義をください
ルーベンス

7

実際、ここで答えるべき質問は複数あります。

  1. スキーマレス/ルース/欠損データで作業する方法
  2. 人にラベルを付ける方法(私が理解できない監視なしから)と識別子を作成する方法
  3. 人を識別するためにどの属性を使用する必要があるかを伝えることができるようにシステムをトレーニングする方法

ルーベンスが述べたように、決定ツリー法、特にランダムフォレストを使用して、人にラベルを付ける方法を特定する方法を既に見つけている場合は、情報ゲインに基づいて最も重要な属性を計算できます。

ただし、ラベル情報がない場合は、予備の属性選択にエキスパートビューを使用できます。その後、ラベルを取得するために教師なし分類を行います。最後に、ランダムフォレストまたはBayesian Belief Networksなどの他の方法を使用して、最も重要なフィールドを選択できます。

すべてを実現するには、完全なデータセットも必要です。データセットが緩い場合は、同じ名前の属性を別の名前で結合する方法を手動またはヒューリスティックに見つける必要があります。さらに、期待値最大化法などの代入手法を使用して、データセットを完成させることができます。または、ベイジアンネットワークを使用して、欠落しているフィールドをそのまま残すこともできます。


2

たくさんのテクニックがあります。情報システムに決定属性またはラベルが添付されている場合、私が見つけた最良の方法は、ラフセットベースの属性削減を使用することです。Qiang ShenとRichard Jensenによるクイックリダクションアルゴリズムをご覧ください。

ラベルのないデータがある場合は、主成分分析(PCA)を確認してください。


0

そのため、ほぼ5年後、この問題を解決するために博士号で実際に使用したものを共有するかもしれないと考えました。

我々は重要な属性を選択するために使用されることを尺度は間(F-対策別名)調和平均であるsupportdiscriminability

属性pのサポートは、データセット内のエンティティにこの属性の値が含まれる頻度です。

support(p) = |instances(p)|/ |D|, 

ここで、instances(p)はpの値を持つエンティティのセットであり、| D | データセットDのエンティティの数です。

discriminability(p) = |values(p)| / |instances(p)|, 

ここで、values(p)は、属性pがデータセットで持つことができる(セットであるため、異なる)値のセットです。これは、実際にこの属性の値を持つエンティティの数によって正規化されます。

つまり、サポートは、データセットにpが現れる頻度を測定し、識別可能性は、この属性が「キー」にどれだけ近いかを示します。

詳細については、私の論文(セクション4.3.2)を読むか、EDBT 2019ペーパー(セクション2)で短いバージョンを見つけることができます。

建設的な答えをありがとうございました!

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.