Tag: 机器学习

在哈希映射上运行perceptron算法functionvecteur:java

我有以下代码,它从目录中读取许多文件到哈希映射,这是我的functionvecteur 。 从某种意义上讲,它有点幼稚,但它并不是我现在主要关注的问题。 我想知道如何使用这种数据结构作为感知器算法的输入。 我猜我们称之为一袋话,不是吗? public class BagOfWords { static Map bag_of_words = new HashMap(); public static void main(String[] args) throws IOException { String path = “/home/flavius/atheism; File file = new File( path ); new BagOfWords().iterateDirectory(file); for (Map.Entry entry : bag_of_words.entrySet()) { System.out.println(entry.getKey()+” : “+entry.getValue()); } } private void iterateDirectory(File file) throws IOException { for […]

weka.core.UnassignedDataset在创建未标记的实例时发生exception

我训练了一个IBK分类器,其中包含我手动创建的一些训练数据,如下所示: ArrayList atts = new ArrayList(); ArrayList classVal = new ArrayList(); classVal.add(“C1”); classVal.add(“C2”); atts.add(new Attribute(“a”)); atts.add(new Attribute(“b”)); atts.add(new Attribute(“c”)); atts.add(new Attribute(“d”)); atts.add(new Attribute(“@@class@@”, classVal)); Instances dataRaw = new Instances(“TestInstances”, atts, 0); dataRaw.setClassIndex(dataRaw.numAttributes() – 1); double[] instanceValue1 = new double[]{3,0,1,0,0}; dataRaw.add(new DenseInstance(1.0, instanceValue1)); double[] instanceValue2 = new double[]{2,1,1,0,0}; dataRaw.add(new DenseInstance(1.0, instanceValue2)); double[] instanceValue3 = new double[]{2,0,2,0,0}; […]

如何训练libsvm格式的图像(像素)数据用于Java识别

我想让一个Java应用程序通过使用libsvm来识别字符,但是当进入这个时,我不明白如何训练图像数据与libsvm一起使用? 最近要学习它,我用现有数据进行了测试: 我还通过将每个像素转换为0来创建基于32×32的训练图像数据,但我不知道它是否可以用于创建libsvm训练数据格式? 还有libsvm测试数据是如何创建的? 转换图像像素(0,1)示例: 00000000000001111000000000000000 00000000000011111110000000000000 00000000001111111111000000000000 00000001111111111111100000000000 00000001111111011111100000000000 00000011111110000011110000000000 00000011111110000000111000000000 00000011111110000000111100000000 00000011111110000000011100000000 00000011111110000000011100000000 00000011111100000000011110000000 00000011111100000000001110000000 00000011111100000000001110000000 00000001111110000000000111000000 00000001111110000000000111000000 00000001111110000000000111000000 00000001111110000000000111000000 00000011111110000000001111000000 00000011110110000000001111000000 00000011110000000000011110000000 00000001111000000000001111000000 00000001111000000000011111000000 00000001111000000000111110000000 00000001111000000001111100000000 00000000111000000111111000000000 00000000111100011111110000000000 00000000111111111111110000000000 00000000011111111111110000000000 00000000011111111111100000000000 00000000001111111110000000000000 00000000000111110000000000000000 00000000000011000000000000000000 0 00000000000001111111110000000000 00000000001111111111111000000000 00000000011111111111111100000000 00000000011111111111111100000000 00000000011111111111111110000000 00000001111111111111111100000000 00000000111110000011111100000000 00000000000000000001111100000000 00000000000000000001111100000000 00000000000000000001111100000000 00000000000000000011111000000000 00000000000000000111111000000000 00000000000000000111111000000000 00000000000000000111111000000000 00000000000000001111110000000000 00000000011111111111111111000000 00000000111111111111111111100000 […]

Baum-Welch的实施例子

我正在尝试学习Baum-Welch算法(与隐马尔可夫模型一起使用)。 我理解前向 – 后向模型的基本理论,但是有人帮助用一些代码解释它会很好(我发现读代码更容易,因为我可以玩它来理解它)。 我检查了github和bitbucket并没有找到任何容易理解的东西。 网上有许多HMM教程,但概率已经提供,或者在拼写检查器的情况下,添加词的出现以制作模型。 如果某人有仅使用观察结果创建Baum-Welch模型的例子,那将会很酷。 例如,在http://en.wikipedia.org/wiki/Hidden_​​Markov_model#A_concrete_example中,如果您只有: states = (‘Rainy’, ‘Sunny’) observations = (‘walk’, ‘shop’, ‘clean’) 这只是一个例子,我认为任何解释它的例子,我们可以更好地理解,这是很好的。 我有一个特定的问题,我试图解决,但我认为显示人们可以学习并适用于他们自己的问题的代码可能更有价值(如果不能接受我可以发布我自己的问题)。 如果可能的话,在python(或java)中使用它会很好。 提前致谢!

在weka中添加新实例

如何将新实例添加到我创建的现有Instances对象中? 这是一个例子: ArrayList atts = new ArrayList(2); ArrayList classVal = new ArrayList(); classVal.add(“A”); classVal.add(“B”); atts.add(new Attribute(“content”,(ArrayList)null)); atts.add(new Attribute(“@@class@@”,classVal)); Instances dataRaw = new Instances(“TestInstances”,atts,0); 我想为dataRaw添加一个新实例。 据我所知,我必须使用dataRaw.add(Instance i)….如果Instance类是一个接口,我如何创建一个实例对象? 提前致谢

如何在eclipse java中重用从explorer(在weka中)创建的已保存分类器

我在WEKA中创建了一个分类器,我将它保存在我的硬盘上,现在我想在eclipse中使用weka api来使用该分类器。 我怎样才能做到这一点? 请指导我…谢谢

Java文本分类问题

我有一组Books对象,类Book定义如下: Class Book{ String title; ArrayList taglist; } 标题是书的标题,例如: Javascript for dummies 。 和taglist是我们示例的标签列表: Javascript,jquery,“web dev”,.. 正如我所说,有一套书谈论不同的东西:IT,生物,历史……每本书都有一个标题和一组描述它的标签。 我必须按主题将这些书自动分类为分开的集合,例如: IT书籍: Java for dummies Javascript for dummies 在30天内学习闪光灯 C ++编程 历史书: 世界大战 美国在1960年 马丁路德金的一生 生物学书籍: …. 你们知道一种分类算法/方法来申请这类问题吗? 解决方案是使用外部API来定义文本的类别,但问题在于书籍使用不同的语言:法语,西class牙语,英语。

找到与输入和输出匹配的数学算法

作为最终结果,我想要一个可以接受输入和输出列表的计算机程序,然后将相同的算法应用到另一个数字上的那些输入/输出中,即: 如果给出这个输入/输出列表 2:4 4:8 100:200 它将意识到算法将是(输入* 2)或(输出/ 2)取决于我们想要的。 因此,如果给出数字16,并且要求产生输出,则程序将以32响应。如果给出数字10并且要求产生输入,则它将以5响应。 将这个“硬编码”到程序中显然会相当简单,尽管我想学习如何让程序自己学习算法是什么。 我知道这会变得相当复杂而且速度相当快。