我想将我的分箱数据转换为SVM模型,以根据数百个特征(如身高、年龄等)预测个体的体重。
目前,我的分箱数据(我使用了groupby(pd.cut))包含体重作为其数据的一部分。此外,我的数据中包含一些NaN值。我想知道:
- 如何将我的数据分成X和Y(标签)
- 哪种SVM最适合我的目标
- 如何用均值替换NaN值(我认为我需要使用Imputer模块?)
提前感谢,我对编程整体来说还是新手,所以请假设我只知道基础知识。
回答:
-
我假设你有一个形状为[样本数, 特征数]的X。在这种情况下,你需要知道体重特征的索引,然后提取它。类似这样的代码应该可以工作。
y = Xorg[:,weightind]X = np.delete(X, weightind, 1)
-
体重是一个连续变量。除非你想将其转换为分类类别(例如,“瘦”,“正常”,“重”)——你需要一个回归器。我不知道你为什么对SVM如此热衷,但有一个SVM回归器 – SVR。如果你问的是SVR的核函数 – 你可以用GridSearchCV尝试几个。
-
是的,你需要使用Imputer模型。一个简单的用法(用均值替换)将是:
Ximp = Imputer().fit_transform(X)