【问题标题】:How to model dependency between input features when building a classifier构建分类器时如何对输入特征之间的依赖关系进行建模
【发布时间】:2020-02-16 23:54:21
【问题描述】:

我有 (1000,20) 形状的数据集(1000 行,20 个特征),我想为它构建一个分类器。 然而,大多数 sk-learn 算法都假设这 20 个特征是独立的。 在我的功能中,功能之间存在高斯依赖性。 如何将此依赖关系建模为 SVM 或 ExtraTreeClassifier 等分类器的输入?

谢谢

【问题讨论】:

    标签: python classification svm data-science feature-engineering


    【解决方案1】:

    使用与线性不同的内核。

    由于您提到您的功能之间存在高斯依赖性,我认为基于径向的函数RBF kernel 最适合您。

    我知道的任何 SVM 库都有这个内核选项。例如,您可以查看 scikit-learn 文档以了解 SVM here。让我们看看我从该页面中获取的示例:

    from sklearn.svm import SVC
    clf = SVC(gamma='auto')
    clf.fit(X, y)  
    

    SVC(C=1.0, cache_size=200, class_weight=None, coef0=0.0, 决策函数形状='ovr',度数=3,伽玛=​​'自动',内核='rbf', max_iter=-1,probability=False,random_state=None,shrinking=True, tol=0.001,详细=假)

    如您所见,内核默认设置为 rbf,因此您可以随意使用它。

    【讨论】:

    • 谢谢!您能解释一下使用 RBF 内核的具体影响是什么吗?
    • 内核是衡量示例对之间距离(​​相似性)的方法。当您使用线性内核时,您假设数据是从数据线性相关的分布中生成的。但这种情况并不总是正确的。因此,在运行训练管道之前的一个重要步骤是了解示例之间的依赖关系。您提到了数据示例之间的高斯依赖性。 Gaussian 是 RBF 的一个特例,因此使用它,您计算的示例之间的距离更有意义。我在回复中添加了一个链接,请随时阅读以了解更多详细信息。
    猜你喜欢
    • 1970-01-01
    • 2014-04-20
    • 2016-02-13
    • 2017-06-29
    • 2023-04-06
    • 2021-12-15
    • 1970-01-01
    • 2018-12-28
    • 2019-04-26
    相关资源
    最近更新 更多