我在3D中有两点:
(xa, ya, za)
(xb, yb, zb)
Run Code Online (Sandbox Code Playgroud)
我想计算距离:
dist = sqrt((xa-xb)^2 + (ya-yb)^2 + (za-zb)^2)
Run Code Online (Sandbox Code Playgroud)
使用NumPy或Python的最佳方法是什么?我有:
a = numpy.array((xa ,ya, za))
b = numpy.array((xb, yb, zb))
Run Code Online (Sandbox Code Playgroud) C++中数组和向量之间有什么区别?差异的一个例子可能包括图书馆,象征,能力等.
数组包含特定类型的特定数量的元素.因此编译器可以在编译程序时保留所需的空间量,您必须指定数组在定义时将包含的元素的类型和数量.编译程序时,编译器必须能够确定此值.一旦定义了数组,就可以使用数组的标识符和索引来访问数组的特定元素.[...]数组是零索引的; 也就是说,第一个元素是索引0.这个索引方案表示指针和数组之间C++中的密切关系以及语言为指针算法定义的规则.
- C++袖珍参考
向量是动态大小的对象序列,提供阵列式
operator[]随机访问.成员函数push_back通过复制构造函数复制其参数,将该副本添加为向量中的最后一项,并将其大小增加1.pop_back通过删除最后一个元素来完全相反.从向量的末尾插入或删除项目需要分摊常数,并且从任何其他位置插入或删除需要线性时间.这些是载体的基础.他们还有很多东西.在大多数情况下,矢量应该是C风格数组的首选.首先,它们是动态大小的,这意味着它们可以根据需要增长.您不必进行各种研究以找出最佳静态大小,如C阵列的情况; 矢量会根据需要增长,如果需要,可以手动调整大小.其次,向量提供与at成员函数(但不是operator[])的边界检查,这样如果引用不存在的索引而不是简单地观察程序崩溃或更糟,继续执行损坏的数据,则可以执行某些操作.- C++ Cookbook
背景
我有一些带有一些样本数据的向量,每个向量都有一个类别名称(地点,颜色,名称).
['john','jay','dan','nathan','bob'] -> 'Names'
['yellow', 'red','green'] -> 'Colors'
['tokyo','bejing','washington','mumbai'] -> 'Places'
Run Code Online (Sandbox Code Playgroud)
我的目标是训练一个模型,该模型采用新的输入字符串并预测它属于哪个类别.例如,如果新输入是"紫色",那么我应该能够将"颜色"预测为正确的类别.如果新输入是"卡尔加里",则应将"地点"预测为正确的类别.
APPROACH
我做了一些研究,遇到了Word2vec.该库具有我可以使用的"相似性"和"最相似性"功能.所以我想到的一种蛮力方法如下:
因此,例如对于输入"粉红色",我可以计算其与向量"名称"中的单词的相似性取平均值,然后对其他2个向量也执行此操作.给出最高相似度平均值的向量将是输入所属的正确向量.
问题
鉴于我在NLP和机器学习方面的知识有限,我不确定这是否是最好的方法,因此我正在寻找有关解决问题的更好方法的帮助和建议.我对所有建议持开放态度,并请指出我可能因为我是机器学习和NLP世界的新手而犯的任何错误.
谷歌ngram下载器的pypi文档说"有时候你需要一个关于数据集的聚合数据.例如,建立一个共生矩阵."
混淆矩阵的维基百科与图像处理和谷歌搜索有关,这个术语似乎带来了某种SEO技巧.
那么什么是共生矩阵(在计算语言学/ NLP中)?他们如何在NLP中使用?
有谁知道如何将英语形容词转换为相应的副词?Python是理想的选择,但实际上任何编程方法都很棒。
我尝试过pattern.en,nltk wordnet和spacy无济于事。
将副词转换为其根形容词形式没有问题。我在这里使用SO解决方案。
我想要的是走另一条路。从形容词到副词。
这是nltk词网代码,可以在不同的词形式之间转换词,但是对于形容词<->副词转换失败。
具体来说,我想要一个这样的函数getAdverb:
getAdverb('quick')
>>> quickly
getAdverb('noteable')
>>> notably
getAdverb('happy')
>>> happily
Run Code Online (Sandbox Code Playgroud)
任何代码,资源或建议将不胜感激!