我一直在研究一个 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 …………………………………………………………………………
我有两组电子邮件数据(一组培训,一组测试)。以上适用于我的培训电子邮件数据。我现在正在尝试训练一种学习算法,以便我可以预测测试数据的重要性。
为此,我一直在研究 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)