Python – 评分的分类和序列匹配

我正在用Python编写一个程序,根据给定的评分数据集(例如,第一人的不同测试得分为3,15,6,7,4,3,因此属于C类),比较第n个人的一组新得分,并确定此人的类型(A-C)。对于分类,我考虑使用机器学习方法,但我也想找出与第n个人最接近和最不相似的个人ID(得分不太可能相同,我需要找到最接近的)。我考虑使用Levenshtein Python C扩展或SequenceMatcher,有没有人能提供一些关于如何进行分类和匹配的建议或建议?提前感谢


回答:

根据你的描述,我认为这些测试不是序列。测试是否有特定的顺序,并且顺序在回答你的问题时是否重要?

假设它们没有顺序或顺序不重要,你可以将每个测试视为向量空间中的一个维度,例如:

            test1   test2   test3   classperson1       3       0       1       Aperson2       5       7       9       C

对于分类问题,你可以尝试使用监督学习模型,如线性回归或随机森林。

对于寻找最近邻,只需计算每对人之间的余弦相似度。分数1 - similarity可用于查找最远的人。余弦相似度的替代方案包括欧几里得距离。

这里是一个计算余弦相似度的简单Python代码:

def dot(v1, v2):    return sum([x1*x2 for x1, x2 in zip(v1, v2)])p1 = [3, 0, 1]p2 = [5, 7, 9]cosine = dot(p1, p2) / ((dot(p1, p1) ** 0.5) * (dot(p2, p2) ** 0.5))

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注