如果这看似重复,我道歉,但由于前一个问题似乎引起了一些混淆,这是另一回事.
我有2个基本数组:
float[] baseArr1 = new float[3] {0.430651724, 0.137407839, 0.177024469};
float[] baseArr2 = new float[3] {0.718210936, 0.001312795, 0.009634903};
Run Code Online (Sandbox Code Playgroud)
另外2个数组用于比较:
float[] compArr1 = new float[3] {1, 1, 1};
float[] compArr2 = new float[3] {1, 0, 0};
Run Code Online (Sandbox Code Playgroud)
然后将compArr1和compArr2与baseArr1和baseArr2进行比较.我知道我应该得到的答案,但我很难想出一个算法来得出答案.与baseArr1比较时,答案应该是compArr1,当与baseArr2比较时,答案应该是compArr2.
请注意,两个baseArrs的值不一定必须加起来1.另外,这里有两个更简洁的数组,试图让我的观点更加清晰:
float[] extraArr1 = new float[3] {.5, .3, .3};
float[] extraArr2 = new float[3] {.75, 0, 0};
Run Code Online (Sandbox Code Playgroud)
其中extraArr1与compArr1"接近",而extraArr2与compArr2"更接近".我已经尝试过一些人建议的余弦相似度算法,但有时候答案是不正确的.
标准是每个元素的价值"更多".例如,compArr1具有比compArr2更接近baseArr1的"更多"值,并且compArr2与baseArr2相比具有比compArr1更接近baseArr2的"接近度".
谢谢!
更新:
我得到了答案!我将在这里张贴以供将来参考,我承认我遇到了很多麻烦,也让其他人感到困惑,但也要感谢你帮我吧!这是我做的:
float[] pbaseArrX = new float[3];
float[] pcompArrX = new float[3];
float dist1 = 0, dist2 = 0;
for (int i = 0; …Run Code Online (Sandbox Code Playgroud) 我想知道根据一组文档的相似性对句子进行排名的最佳方法.
比方说,
1.有5个文件.
每个文件都包含很多句子.
3.让我们将文档1作为主要文件,即输出将包含本文档中的句子.
4.输出应该是以这样的方式排列的句子列表:FIRST排名的句子是所有5个文档中最相似的句子,然后是第2个,然后是第3个......
提前致谢.
我有一个看起来像这样但更大的 df :
values <- c(22,16,23,15,14.5,19)
groups <- rep(c("a","b"), each = 3)
df <- data.frame(groups, values)
Run Code Online (Sandbox Code Playgroud)
我每组有 1-3 个值(在示例中,a 组有 3 个值,b 组有 3 个值)。我现在想从每组中排除最不同的值。在此示例中,我想排除 a 16 和 b 19。
感谢您的帮助!
我需要检查是否$string1是喜欢$string2但我不希望它是重要的,如果一个文本不同于另一个,如果它以相同的字符串开头.比如我想
if (admin.example2 == admin.example1)
Run Code Online (Sandbox Code Playgroud)
应该回归真实!最好的方法是什么?
我的确切要求.检查是否有任何字符串以admin开头的if条件存在于数组中.
if ($client_name like 'admin') {
...
...
}
Run Code Online (Sandbox Code Playgroud)
数组中有无限数量的条目.我只是想检查是否存在以"admin"开头的字符串是否存在.
好的,所以我是 Haskell 的新手,我想编写一个程序,在其中我使用两个列表并找到它们之间的相似性(常见项目数/项目数)。这是我到目前为止所拥有的:
fun2 :: [Int]->[Int]->Float
fun2 [] xs2 = 0
fun2 xs1 xs2 = if head xs1 == head xs2 then (1/length xs2) + fun2 tail xs1 xs2
else if head xs1 /= head xs2 then fun2 xs1 tail xs2
else fun2 tail xs1 xs2
main = fun2 [1,2,3,4] [3,4,5,6]
Run Code Online (Sandbox Code Playgroud)
所以让我解释一下我想要做什么,我定义了我的函数来获取两个整数列表并输出一个浮点数(相似性百分比)。然后我编写我的函数,基本情况是当第一个列表为空时,而该函数会将第一个列表的每个元素与第二个列表的每个元素进行比较,如果找到匹配项,它将加 1 然后除以大小以获取百分比。但是,当我运行此代码时,出现了很多错误:
main.hs:4:45: error:
• Couldn't match expected type ‘Float’ with actual type ‘Int’
• In the expression: (1 / length xs2) + fun2 tail xs1 xs2
In …Run Code Online (Sandbox Code Playgroud)