首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >有什么方法可以做自动多类吗?

有什么方法可以做自动多类吗?
EN

Stack Overflow用户
提问于 2022-01-15 15:44:28
回答 1查看 36关注 0票数 1

收集随机标记的目的是了解2-3集群之间的差异,稍后我将进行机器学习(随机森林)。

所以问题是,我想把label0和label1连接到一个组,把label2和label3连接到另一个组。

然后,随机更改标签的顺序,如label0与label2,label1与label3,...and等。我不知道怎么自动做。

预期的结果如下

有解决办法吗?谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-01-15 17:21:26

我想我有办法解决你的问题

代码语言:javascript
运行
复制
import pandas as pd
import random

data = {
    'col1': [0, 1, 2, 3, 4, 5, 6, 7],
    'col2': [7, 6, 5, 4, 3, 2, 1, 0],
    'label': ['0', '0', '1', '1', '2', '2', '3', '3']
}
df = pd.DataFrame(data=data)
labels = list(df['label'].unique())

num_iterations = 10
for i in range(10):
    random.shuffle(labels)
    dfs = []
    for j in range(1, len(labels), 2):
        series = df[(df['label'] == labels[j-1]) | (df['label'] == labels[j])][['col1', 'col2']].agg('sum')
        new_label = labels[j-1] + ' ' + labels[j]
        new_df = series.to_frame().T.assign(label=new_label)
        dfs.append(new_df)
    shuffeled_df = pd.concat(dfs)

所以我先拿出一个标签的列表,然后把它洗牌。然后选择成对的标签并计算和。这是为所有标签对(在这个迭代中)完成的。最后,将创建一个新的组合DataFrame。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70722945

复制
相关文章

相似问题

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