gpt4 book ai didi

machine-learning - 计算混合特征分类的向量距离

转载 作者:行者123 更新时间:2023-11-30 09:57:16 26 4
gpt4 key购买 nike

我正在做一个项目来比较各种分类算法的有效性,但我遇到了一个令人沮丧的问题。数据可以在这里找到:http://archive.ics.uci.edu/ml/datasets/Adult分类问题是根据人口普查数据判断一个人的年收入是否超过 5 万。

两个示例条目如下:

45、私有(private)、98092、高中毕业生、9、已婚公民配偶、销售、丈夫、白人、男性、0、0、60、美国、<=50K

50、Self-emp-not-inc、386397、单例汉、13 岁、已婚公民配偶、销售、丈夫、白人、男性、0、0、60、美国、<=50K

我熟悉使用欧几里德距离来计算向量之间的差异,但我不确定如何混合使用连续和离散属性。是否有任何有效的方法可以以有意义的方式表示两个向量之间的差异?我很难理解像第三个属性这样的值有多大(由根据因素提取数据集的人计算的权重,因此相似的权重应该具有相似的属性)以及它之间的差异可以保留意义来自男性或女性等离散特征,如果我正确理解该方法,则欧几里得距离仅为 1。我确信可以删除某些类别,但我不想删除那些对分类有重大影响的内容。一旦我弄清楚了这个问题,我就会首先处理 k-NN,然后是贝叶斯分类器,最后是像 C4.5 或 ID3 这样的决策树模型(如果我有时间的话)。

最佳答案

当然,您可以通过多种方式扩展欧几里德距离。最简单的扩展是以下规则:

如果存在匹配,则该坐标中的距离 = 0,否则为 1

挑战在于使距离概念与 k-NN 后续过程“相关”。在某些情况下(例如教育),我认为最好将教育(离散变量)映射到连续变量,例如受教育年限。因此,您需要编写一个映射函数,例如“HS-grad”到 12,“Bachelors”到 16,类似的东西。

除此之外,直接使用 k-NN 是行不通的,因为多个不相似维度之间的“距离”概念没有得到很好的定义。我认为你最好放弃其中一些维度或以不同的方式衡量它们。我不知道数据集中的第三个数字(例如 98092)意味着什么,但如果您使用朴素欧几里德距离,与年龄等其他维度相比,这将是极其超重的。

我不是机器学习专家,但我个人很想在降维数据集上启动 k-NN,您只需选择一些广泛的人口统计数据(例如年龄、教育、婚姻状况)并忽略更棘手的/“嘈杂”类别。

关于machine-learning - 计算混合特征分类的向量距离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20203041/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com