私は、機械学習アルゴリズムを使用して、選択した電子メールを重要または重要でないものとしてラベル付け (または分類) することを最終的な目的として、Python でコード化された優先電子メール受信トレイに取り組んできました。背景情報から始めて、質問に移ります。
これまで、メールからデータを抽出し、それを処理して最も重要なものを発見するコードを開発してきました。これは、次の電子メール機能を使用して実現されます。
- 送信者アドレス頻度
- スレッド アクティビティ
- 受信日 (返信間隔)
- 本文/件名の一般的な単語
私が現在持っているコードは、その重要性に基づいて各電子メールにランキング (または重み付け) (値 0.1-1) を適用し、次に「重要」または「重要でない」のいずれかのラベルを適用します (この場合、これはちょうど 1 または0)。ランクが 0.5 を超えると、優先順位が与えられます。このデータは CSV ファイルに保存されます (以下を参照)。
From Subject Body Date Rank Priority
test@test.com HelloWorld Body Words 10/10/2012 0.67 1
rest@test.com ByeWorld Body Words 10/10/2012 0.21 0
best@test.com SayWorld Body Words 10/10/2012 0.91 1
just@test.com HeyWorld Body Words 10/10/2012 0.48 0
etc …………………………………………………………………………
2 セットの電子メール データがあります (1 つのトレーニングと 1 つのテスト)。上記は私のトレーニング メール データに適用されます。テストデータの重要性を予測できるように、学習アルゴリズムをトレーニングしようとしています。
これを行うために、私は SCIKIT と NLTK の両方を見てきました。しかし、チュートリアルで学んだ情報をプロジェクトに転送して実装するのに問題があります。どの学習アルゴリズムを使用するかについて、特に要件はありません。これは、以下を適用するのと同じくらい簡単ですか? もしそうなら、どのように?
X, y = email.data, email.target
from sklearn.svm import LinearSVC
clf = LinearSVC()
clf = clf.fit(X, y)
X_new = [Testing Email Data]
clf.predict(X_new)