首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将最相似的项目分组为具有多个数据点的两个一组?

如何将最相似的项目分组为具有多个数据点的两个一组?
EN

Stack Overflow用户
提问于 2020-12-10 02:13:42
回答 2查看 59关注 0票数 0

我从事教育工作,希望从多个任务中获取学生的分数,并根据学生的多个分数将学生分组为两人一组。我需要学生与最相似的分数被分组成对,基本上。我该怎么做呢?我对代码相当缺乏经验,也不确定如何处理这个问题。我使用的是Python。例如,假设一个学生的得分为50%、100%,等等。我希望将得分最接近的学生分组成对(他们的名字的元组将是理想的输出)。每个学生总共有八个分数,需要考虑到代码中。谢谢你,瑞秋

EN

回答 2

Stack Overflow用户

发布于 2020-12-10 02:38:35

你可以运行“最近邻居”算法。例如:请参阅scikit NearestNeighbors

您将分数编码为8维空间中的点(例如,50% -> 0.5 ),并使用n=1运行该算法。

代码语言:javascript
运行
复制
neigh = NearestNeighbors(n_neighbors=1)
neigh.fit(scores) 
票数 0
EN

Stack Overflow用户

发布于 2020-12-10 02:50:32

你可以使用kmeans集群。请参阅:https://scikit-learn.org/stable/modules/generated/sklearn.cluster.KMeans.html

代码语言:javascript
运行
复制
    from sklearn.cluster import KMeans
    import numpy as np
    #insert your csv file as 2D numpy array without the header or row index. Your input data size should be total number of students * 8.
    X = np.array(input_data)
    #set n_clusters to half the number of students
    kmeans = KMeans(n_clusters=num_students/2, random_state=0).fit(X)
    kmeans.labels_
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65222567

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档