首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为我的任务组织数据集的最佳方法是什么?

为我的任务组织数据集的最佳方法是什么?
EN

Data Science用户
提问于 2019-03-15 15:04:21
回答 1查看 311关注 0票数 2

我正在做一个任务--只使用tweet来估计Twitter用户的地理位置。我在Twitter上收集了6000多人的推文(和用户)。每个用户都与一个城市相关联。

在数据集中,每个城市的样本(或用户)数量取决于城市大小。(也就是说,如果A市比B市人口多,则A市在数据集中有更多的用户。)这似乎是公平的,但它创建了一个不平衡的数据集。

现在,我计划收集另一个数据集;一个更加平衡的数据集(即,每个城市的用户数量几乎相同,尽管大城市的用户仍然会更多)。这样做是有意义的,还是应该继续使用不平衡的数据集?对这项工作有什么好处呢?

EN

回答 1

Data Science用户

发布于 2019-03-15 16:18:44

当你一致地从一个社会中抽取样本时,从城市中选择的机会肯定与他们的人口直接相关。因此,更多的用户将从人口更多的城市选择,这是你想要解决的问题中最重要的特征之一。我认为,如果你想平衡数据集,你忽略了数据的一个重要特征,也忽略了你的问题。

我强烈建议继续使用不平衡数据集,并通过选择合适的损失函数和评估方法来处理。

免责声明:

如果使用python,PyCM模块可以帮助您找到这些指标。

下面是从这个模块获取推荐参数的简单代码:

代码语言:javascript
复制
>>> from pycm import *

>>> cm = ConfusionMatrix(matrix={"Class1": {"Class1": 1, "Class2":2}, "Class2": {"Class1": 0, "Class2": 5}})  

>>> print(cm.recommended_list)
["Kappa", "SOA1(Landis & Koch)", "SOA2(Fleiss)", "SOA3(Altman)", "SOA4(Cicchetti)", "CEN", "MCEN", "MCC", "J", "Overall J", "Overall MCC", "Overall CEN", "Overall MCEN", "AUC", "AUCI", "G", "DP", "DPI", "GI"]

在此之后,您想要用作损失函数的这些参数中的每一个都可以如下所示:

代码语言:javascript
复制
>>> y_pred = model.predict      #the prediction of the implemented model

>>> y_actu = data.target        #data labels

>>> cm = ConfusionMatrix(y_actu, y_pred)

>>> loss = cm.Kappa             #or any other parameter (Example: cm.SOA1)
票数 1
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://datascience.stackexchange.com/questions/47356

复制
相关文章

相似问题

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