8

データマイニングの分野で、1対多の関係にあるデータを分類する研究はありますか?

このような問題の例として、クラスの成績と個人情報に基づいて、どの学生が大学を中退するかを予測しようとしているとします。明らかに、生徒の個人情報とクラスでの成績の間には 1 対多の関係があります。

明らかなアプローチには次のものがあります。

  1. 集約- 複数のレコードを何らかの方法で集約して、問題を基本的な分類の問題に減らすことができます。学生の分類の場合、成績の平均を個人データと組み合わせることができます。このソリューションは単純ですが、多くの場合、重要な情報が失われます。たとえば、有機化学を履修して C- を下回った学生のほとんどが、平均が B+ を上回っていたとしても中退してしまうとしたらどうなるでしょうか。

  2. 投票- 複数の分類器 (多くの場合、弱いもの) を作成し、投票を行って、問題のデータの全体的なクラスを決定します。これは、学生のコース データ用と個人データ用の 2 つの分類器が構築された場合のようなものです。各コース レコードはコース分類子に渡され、成績とコース名に基づいて、分類子はそのコース レコードのみを使用して学生が中退するかどうかを予測します。個人データ レコードは、個人データ分類子を使用して分類されます。次に、すべてのクラス記録予測と個人情報記録予測が一緒に投票されます。この投票はさまざまな方法で行うことができますが、最も可能性が高いのは、分類子の精度と分類子の投票の確実性を考慮に入れることです。明らかに、このスキームは集約よりも複雑な分類パターンを可能にしますが、さらに多くの複雑さが伴います。また、投票がうまく行われないと、精度が低下しやすくなります。

そのため、1対多の関係でデータを分類するための他の可能な解決策を探しています。

4

4 に答える 4

2

各グレードを同じモデルの個別の機能として扱わないのはなぜですか?

student['age'] = 23
student['gender'] = 'male'
 ... 
student['grade_in_organic_chemistry'] = 'B+'
student['grade_in_classical_physics'] = 'A-'

グレードが別個の機能である可能性があるのに、なぜ複数の分類子を「集約」または結合したいのかわからないのではないでしょうか。

(上記の不完全な擬似コードを許してください、しかしただ私の主張を実証しようとしています)

于 2011-01-21T22:24:41.973 に答える
1

これはおそらく特殊な方法と比較して最適ではありませんが、次の例のように、不均衡なクラスの修正を含む SVM を使用できます (Python ライブラリscikit-learnを使用)。

http://scikit-learn.sourceforge.net/auto_examples/svm/plot_weighted_classes.html

実際には、かなり不均衡なクラスで良い結果が得られました。

于 2011-01-24T20:25:09.300 に答える
0

私は2つの基本的な道を想像しています。

  1. あなたがそれを呼ぶように、各学生の状況のさまざまな要約を利用する「集約」ソリューション:受講したクラスの数、クラスの何パーセントが入門101クラス、平均成績、最低四分位成績など。

  2. 単純ベイズモデル(すでにスティーブによって提案されている)やファジー論理ルールベースなど、ある種の証拠アキュムレータ。このようなソリューションは、当然、さまざまな量の受信データを処理します。これは、1つの巨大な従来型モデル(ニューラルネットワークなど)と非常に多くの入力セット(ほとんどが「欠落」に対して中立値に設定される)を使用して、十分なデータで達成できると思いますが、私はそれを疑っています他のオプションと同様に機能します。

申し訳ありませんが、この特定のケースでは、「単純なソリューションのギャング」は弱いと思います。それがうまくいかないというわけではありませんが、私はどこか別の場所から始めます。

于 2011-01-22T12:05:14.097 に答える
0

詳しくわからないとなんとも言えませんが、ベイジアンの観点からすると、特徴量が不足しているケースに興味があるかもしれません。一般論でお話しします。詳細については、[Duda and Hart、第 2 版、pp. 54-55] を参照してください。

任意の分類器について、ベイズ決定規則は、データxが観測された場合にクラスiが発生する確率を最大にするクラスiを選択することです。つまり、最大 P(i|x)です。ベクトルxには、生徒の成績、年齢などの特徴が含まれています。

すべての生徒が同じクラスを受講しているわけではないため、特徴ベクトルxには空の要素、つまり「特徴の欠落」が含まれる場合があります。その場合、欠落している機能を過小評価する必要があります。つまり、欠落している機能を単純に合計してから、残りの優れた機能について決定を下す必要があります。

例。ある生徒が化学ではなく生物学をとったとします。

P(student drops out | A+ in biology) 
= P(student drops out, A+ in biology)/P(A+ in biology) 
= P(student drops out, A+ in biology, A in chemistry)
  ---------------------------------------------------
  P(A+ in biology, A in chemistry) 
  + 
  P(student drops out, A+ in biology, B in chemistry)
  ---------------------------------------------------
  P(A+ in biology, B in chemistry) 
  + ... + 
  P(student drops out, A+ in biology, F in chemistry)
  ---------------------------------------------------
  P(A+ in biology, F in chemistry)
于 2011-01-22T03:48:02.687 に答える