我应该使用什么统计学习算法库?

时间:2014-04-12 23:13:31

标签: python machine-learning statistics

我正在尝试创建一种统计学习算法,该算法在训练后能够根据不同的内容对两组数据进行分类,并根据所用单词的频率进行判断。 (我不知道条件概率,即一个特定单词的频率是否出现在另一个单词之后在这里很重要)。我不确定哪种算法最适合我(SVM,神经网络等),但理想情况下,该库应该是Python,高效且易于使用。学习算法的输入数据当然应该是字符串。

虽然Python仍然是首选,但我不介意使用其他语言,只要它符合我需要的所有其他标准。我会考虑使用基本上任何语言,只要它还有一个mySQL库,并在Linux上运行。

编辑:在考虑了一段时间之后,我认为我现在要处理的一般过程是:

  1. 对数据集中的每个项目进行标记。数据集是一个字符串数组,现在是一个字符串数组的数组。 (令牌)
  2. 保留当前在数据集中的令牌词典
  3. 将我的字符串表示形式转换为整数数组,表示每个字符串中每个标记出现的次数。
  4. 使用整数数组训练SVM而不是原始字符串本身。
  5. 我不知道是否确实有任何库以我想要处理它们的方式处理统计学习的原始字符串,所以我假设一个整数数组不是一个整数问题。

    注意:我将从我的整数数组中计算概率,因为一个数组中所有内容的总和将是该数组的令牌数,然后概率为:(令牌使用的次数)/(字符串中的标记数量)

1 个答案:

答案 0 :(得分:1)

scikit-learn可能是最受欢迎的python机器学习库。它可以构建SVMs,以及许多其他类型的分类器,所以一旦你有正确格式的数据,你应该很容易尝试一些看看什么效果最好。

假设您的词典只有3个单词a,b和c,并且您有2个训练数据实例“ab”,它们是0级,“cc”是1级。然后您可以按如下方式构建SVM:

from sklearn import svm
X = [[1, 1, 0], [0, 0, 2]] # training data features
y = [0, 1] # class labels
clf = svm.SVC()
clf.fit(X, y)  

预测新的价值如下:

clf.predict([[0, 1, 0]])