如何在机器学习算法中部署功能?

时间:2020-01-22 11:33:05

标签: python machine-learning sentiment-analysis feature-selection

我是ML的新手,所以我有一个非常基本的问题。如果有人为我澄清它,我将不胜感激。

假设我有一组推文,分别标为负面和正面。我想进行一些情绪分析。

我提取了3个基本功能:

  1. 情感图标
  2. 感叹号
  3. 强度词(非常非常)。

如何将这些功能与SVM或其他ML算法一起使用?

换句话说,我应该如何在SVM算法中部署提取的功能? 我正在使用python,并且已经知道应该如何运行SVM或其他算法,但是我对提取的功能及其在每种算法中的作用之间的关系一无所知!

根据一些专家的回答,我更新了我的问题:

首先,我想感谢您的时间和值得的解释。我认为我的问题正在解决...因此,按照您的说法,每个ML算法可能都需要一些矢量化特征,因此我应该找到一种方法来将我的特征表示为矢量。我想通过一个简单的例子来解释我从您的解释中得到的结果。

说我将表情图标(例如3个图标)作为一项功能:

1-因此,我应该用具有3个值的向量表示此功能。

2-矢量化功能可以通过以下方式初始化:[0,0,0](每个值代表一个图标= :)以及:(和:P)。

3-下一步,我应该浏览每条推文,并检查该推文是否带有图标。例如[2,1,0]显示该推文有::) 2次,和:(1次,:p没有时间。

4-检查完所有推文后,我将得到一个大向量,大小为n * 3(n是我的推文总数)。

其他功能应执行5阶段1-4。

6-然后,我应该使用m个SVM模型(m是我的特征数)合并所有这些特征,然后通过多数表决或其他方法进行分类。 或者应该通过串联所有矢量来创建一个长矢量,并将其馈送到SVM。

如果有任何误会,请您纠正我吗?如果不正确,我将其删除,否则我应该保留它,因为它对于像我这样的任何初学者来说都是可行的... 谢谢你……

1 个答案:

答案 0 :(得分:4)

基本上,为了使事情非常“简单”和“浅”,所有算法都采用某种数值矢量来表示特征

真正的工作是找到如何将特征表示为矢量,以产生最佳效果,这取决于特征本身和使用算法

例如,要使用基本上找到分隔平面的SVM,您需要将特征投影到某些向量集上,从而产生足够好的分离度,因此,例如,您可以这样处理特征:

  • 情感图标-创建代表该推文中所有图标的矢量,将每个图标定义为从1n的索引[0,0,0,2,1]表示第4和第5个图标分别出现在他的体内2次和1次

  • 感叹号-您可以简单地计算出现的次数(更好的方法是代表一些有关它的更多信息,例如句子中的位置等等)< / p>

  • 强度词-您可以使用与情感图标

  • 相同的方法

基本上,每个功能都可以在SVM模型中单独使用,以对优点和缺点进行分类

您可以使用3种 SVM 模型合并所有这些功能,然后按多数表决或其他方法进行分类

您可以通过串联所有矢量来创建一个长矢量,并将其提供给 SVM

这只是一种方法,您可以对其进行调整或使用其他方法来更好地拟合数据,模型和目标

相关问题