Tag: 机器学习

如何使用scikit学习来计算多类别案例的精确度,召回率,准确度和f1分数?

我正在一个情绪分析问题的数据看起来像这样: label instances 5 1190 4 838 3 239 1 204 2 127 所以我的数据是不平衡的,因为1190个instances被标记为5 。 对于使用scikit的SVC进行分类。 问题是我不知道如何以正确的方式来平衡我的数据,以准确计算多类别案例的精确度,回忆率,准确度和f1分数。 所以我尝试了以下方法: 第一: wclf = SVC(kernel='linear', C= 1, class_weight={1: 10}) wclf.fit(X, y) weighted_prediction = wclf.predict(X_test) print 'Accuracy:', accuracy_score(y_test, weighted_prediction) print 'F1 score:', f1_score(y_test, weighted_prediction,average='weighted') print 'Recall:', recall_score(y_test, weighted_prediction, average='weighted') print 'Precision:', precision_score(y_test, weighted_prediction, average='weighted') print '\n clasification report:\n', classification_report(y_test, […]

支持向量和训练数据与分类器性能之间的关系是什么?

我正在使用LibSVM分类一些文件。 最终结果显示,这些文件似乎有点难以分类。 但是,我注意到了一些训练我的模型。 也就是说:如果我的训练集是1000例如800左右被选为支持向量。 我到处寻找,看看这是好事还是坏事。 我的意思是支持向量的数量和分类器的性能有关系吗? 我已阅读此帖以前的职位 。 但是,我正在执行参数select,并且我确信特征向量中的属性都是有序的。 我只需要知道关系。 谢谢。 ps:我使用线性内核。

开源neural network库

我正在寻找一个开源的neural network库。 到目前为止,我已经看过FANN,WEKA和OpenNN。 我应该看看其他人吗? 当然,标准是文档,示例和易用性。

如何提高朴素贝叶斯分类器的准确性?

我使用朴素贝叶斯分类器将几千个文档分为30个不同的类别。 我已经实现了一个朴素贝叶斯分类器,并select了一些function(主要是过滤无用的单词),我已经获得了大约30%的testing精度,45%的训练精度。 这显然比随机好,但我希望它会更好。 我已经尝试过用NB实现AdaBoost,但似乎并没有给出明显的更好的结果(文献似乎分裂了这个,一些论文说AdaBoost与NB没有给出更好的结果,其他人也这么做)。 你知道任何其他扩展NB可能会提供更好的准确性吗? 非常感谢。

在F#中使用机器学习的资源

我已经学习了使用Matlab作为原型工具的机器学习课程。 自从我沉迷于F#之后,我想继续在F#中学习机器学习。 我可能希望将F#用于原型和生产,所以机器学习框架将是一个很好的开始。 否则,我可以从一个库的集合开始: 高度优化的线性代数库 统计包 可视化库(允许绘制和与图表,图表交互) 并行计算工具箱(类似于Matlab的并行计算工具箱) 最重要的资源(对我来说)是书籍 ,博客文章和关于机器学习的在线课程(F#/ OCaml / Haskell …)。 任何人都可以提出这些资源? 谢谢。 编辑: 这是一个基于以下答案的总结: 机器学习框架: Infer.NET :用于支持良好F#的graphics模型中用于贝叶斯推理的.NET框架。 WekaSharper :围绕stream行的数据挖掘框架Weka的F#封装。 Microsoft Sho :.NET平台上用于数据分析(包括matrix运算,优化和可视化)的持续环境开发。 相关图书馆: Math.NET数字 :内部使用英特尔MKL和AMD ACML的matrix操作和支持统计function。 Microsoft Solver Foundation :一个线性编程和优化任务的好框架。 FSharpChart :F#中一个很好的数据可视化库。 阅读清单: 数值计算 :从F#中的机器学习入手非常棒,并且介绍了在F#中使用这些math函数库的各种工具和技巧/技巧。 F#和数据挖掘博客 :也是“数值计算”一书作者尹竺强烈推荐的。 F#作为机器学习的Octave / Matlab替代品 :Gustavo刚刚开始使用F#作为开发工具的一系列博客文章。 很高兴看到许多图书馆被连接在一起。 “机器学习在行动”的F#示例 :Mathias已经将一些Python样本翻译成F#。 它们在Github中可用。 Hal Daume的主页 :Hal在OCaml写了一些机器学习库。 如果您怀疑函数式编程不适合机器学习,那么您会感到宽慰。 任何其他的指针或build议也是受欢迎的。

具有未知数量的簇的无监督聚类

我有一个三维vector大集。 我需要根据欧几里德距离对它们进行聚类,使得任何特定聚类中的所有向量之间的欧氏距离小于阈值“T”。 我不知道有多less个集群存在。 最后,可能存在不属于任何聚类的单个vector,因为其欧几里得距离不小于空间中任何vector的“T”。 现在应该使用哪些现有的algorithm/方法? 谢谢Abhishek S

为什么要将neural network的权重初始化为随机数?

我正试图从头开始build立一个neural network。 在所有人工智能文献中都有一个共识,即应该将权重初始化为随机数,以便networking更快地收敛。 但是,为什么neural network初始权值初始化为随机数? 我曾经在某处读过这样做是为了“打破对称”,这使得neural network学得更快。 如何打破对称使得学习速度更快? 不会将权重初始化为0是一个更好的主意? 这样权重就能够更快地find它们的值(无论是正值还是负值)? 有没有其他的背后的理念背后随机化的权重,希望他们会接近最佳值时初始化?

TensorFlow,为什么Python是select的语言?

我最近开始学习深度学习和其他ML技术,我开始寻找简化构buildnetworking和训练过程的框架,然后我发现TensorFlow,对于我来说在这个领域没有什么经验,似乎速度是一个为深入学习做出更大的ML系统的一个重要因素,那么为什么Pythonselectpython来制造TensorFlow呢? 把它翻译成一种可以被编译而不被解释的语言不是更好吗? 在C ++语言中使用Python进行机器学习有什么好处?

用强化学习训练neural network

我知道前馈neural network的基础知识,以及如何使用反向传播algorithm来训练它们,但是我正在寻找一种algorithm,比我可以用来在线训练ANN强化学习。 例如, 推车杆摆动问题是我想用ANN解决的问题。 在这种情况下,我不知道应该怎样控制钟摆,我只知道我离理想位置有多近。 我需要根据奖励和惩罚来学习。 因此,监督式学习不是一种select。 另一种情况就像蛇游戏 ,反馈延迟,只限于目标和反目标,而不是奖励。 对于第一种情况,我可以考虑一些algorithm,比如爬山或者遗传algorithm,但是我猜测它们都会很慢。 他们也可能适用于第二种情况,但速度非常慢,不利于在线学习。 我的问题很简单: 是否有一个简单的algorithm来训练强化学习的人工neural network? 我主要对实时奖励情况感兴趣,但是如果有基于目标的情况的algorithm可用,甚至更好。

图像中的标识识别

有没有人知道最近在图像中进行标识识别的学术工作? 请仅在您熟悉此特定主题的情况下回答(我可以自己searchGoogle“标识识别”,非常感谢)。 任何熟悉计算机视觉,并且已经完成目标识别工作的人都可以发表评论。 更新 :请参考algorithm方面(您认为合适的方法,现场的论文,是否应该对真实世界的数据进行工作(并经过testing),效率的考虑),而不是技术方面(使用的编程语言或无论是在OpenCV中…)在图像索引和基于内容的图像检索方面的工作也可以提供帮助。