如何为我的数据创建 SVM?

Posted

技术标签:

【中文标题】如何为我的数据创建 SVM?【英文标题】:How to create an SVM for my data? 【发布时间】:2014-07-30 11:25:44 【问题描述】:

我想将我的分箱数据传输到 SVM 中,以根据身高、年龄等数百个特征来预测个人的体重。

目前,我的分箱数据(我使用 groupby(pd.cut))将权重作为其数据的一部分。此外,我的数据包括一些 NaN。我想知道:

    如何将我的数据分成 X 和 Y(标签) 哪个 SVM 最适合我的目标 如何用平均值替换 NaN(我相信我需要使用 Imputer 模块?)

在此先感谢您,而且我是一个整体编程新手,所以请假设我只知道基础知识。

【问题讨论】:

您的问题有些问题。首先,这不仅仅是一个问题。其次,我们不做产品推荐。三、什么是SVM?不要只是假设我们知道您在说什么。 SVM 是一种支持向量机,是一种机器学习算法, 【参考方案1】:

    我假设您有一个 X 形 [样本、特征]。在这种情况下,您需要知道权重特征的索引,然后将其提取出来。像这样的东西应该工作。

    y = Xorg[:,weightind]
    X = np.delete(X, weightind, 1)
    

    体重是一个连续变量。除非您想将其转换为分类类别(例如,“slim”、“normal”、“heavy”),否则您需要一个回归量。我不知道您为什么如此热衷于 SVM,但有一个 SVM 回归器 - SVR。如果您的问题是关于 SVR 的内核 - 您可以通过 GridSearchCV 尝试一些。

    是的,您需要 imputer 模型。一个简单的用法(用均值代替)是:

    Ximp = Imputer().fit_transform(X)
    

【讨论】:

您会推荐 sklearn 中的任何特定回归器吗?此外,您是否还会推荐任何功能选择器?谢谢! @user3712008 不特别,这实际上取决于您的数据的性质。无论如何,如果答案有帮助,请采纳。

以上是关于如何为我的数据创建 SVM?的主要内容,如果未能解决你的问题,请参考以下文章

如何为 libsvm 创建训练数据(作为 svm_node 结构)

简单的机器学习问题(SVM,随机森林

如何为 SVM 机器学习算法转换字符串数据

如何为 sklearn.svm.SVC 定义自定义内核函数?

如何为我的数据创建交叉引用表/查询?

如何为 SVM 线性核类型选择最佳参数