【问题标题】:scatter plot for a multiclass dataset with class imbalance and class overlapping具有类不平衡和类重叠的多类数据集的散点图
【发布时间】:2015-08-26 06:11:08
【问题描述】:

我正在使用 Weka 开发用于检测语义关系的分类器。假设我有一个多类数据集。数据集首先包含 4 个数字特征(可能超过 4 个)和一个类属性,其中有效的类属性值为“HYPERNYM”、“SYNONYM”或“NO”,即三个类。因此,实例的示例可能是:

   feat1   feat2   feat3   feat4   class
    ....
    0.32    0.45    0.15      5       NO
    0.26    0.48    0.93     20       HYPER
    0.65    0.32    0.43     13       NO
    0.43    0.19    0.89     45       SYN
    ...

这是一个典型的分类问题。但是,我们必须考虑到数据集是由class imbalance problem 造成的(这是机器学习中的一个问题,即一类数据(正)的总数远小于另一类数据(负)的总数)和类重叠(不同类的示例具有非常相似的特征)。

问题是:How can I represent each instance in a graph 2D, in a way that I can visualize the degree of overlapping between classes?

我找到了a picture which illustrates a possible example of graph,就像一个散点图。但是,我不知道如何绘制这个。

有没有一种简单的方法来制作相似的图形,但在 R 中或使用 Weka?

【问题讨论】:

  • 如果没有重复绘图,您将很难在 2D 中表示 5 个特征。您可以选择最重要的 2 个数字特征,或者您可以使用 PCA(请参阅 ?princomp)减少到两个数字维度。然后,使用library(ggplot2); ggplot(df, aes(x=pc1,y=pc2)) + geom_point(aes(colour=class)) 或类似的。但是,您的问题范围很广,很难为您提供帮助。
  • 感谢您的评论。事实上,我不知道哪种技术适合解决我的问题。但现在我看到 MDS 或 PCA 是一个起点。

标签: r classification weka scatter-plot


【解决方案1】:

您可以先使用Multidimensional Scaling (MDS) 来减少数据的维度,然后再绘制它。此方法尝试在投影到较低维度时保留点之间的距离。

这里是 R 中鸢尾花数据集的示例

data <- iris
colors <- as.integer(as.factor(data$Species))
d <- dist(data[,1:4])
fit <- cmdscale(d,k=2)# k is the resulting dimension
x <- fit[,1]
y <- fit[,2]
plot(x, y, xlab="Coordinate 1", ylab="Coordinate 2", main="MDS", pch=19, col=colors)

或者您也可以将其缩减为 3 维并使用 scatterplot3d 库进行绘制。

fit <- cmdscale(d,k=3)# k is the resulting dimension
x <- fit[,1]
y <- fit[,2]
z <- fit[,3]
scatterplot3d(x,y,z, color = colors, pch = 19)

关于类不平衡问题,我不知道你想如何在散点图中表示它。也许通过增加少数类点的大小。

【讨论】:

  • 感谢您的回答恩里克!这正是我想要的。我不知道“多维缩放”,您的描述总结了我必须做的事情。关于类不平衡问题,实际上只是一个附加信息。在初步测试中,我验证了包含大约 14.000 个示例和 11 个特征的数据集确实会导致 R 软件“崩溃”。因此,下一步是处理这些限制(考虑到数据量,减少二维数据的维度)。谢谢!
  • @Alex Rego 请注意,这种降维是为了可视化目的,而不是作为特征缩减的手段。如果您打算减少维度以对数据进行进一步分析,那么 pca 可能是更好的方法。
猜你喜欢
  • 2015-01-28
  • 2017-05-26
  • 2020-10-23
  • 1970-01-01
  • 1970-01-01
  • 2016-04-02
  • 2021-02-21
  • 2019-06-17
  • 2017-11-01
相关资源
最近更新 更多