【发布时间】:2014-06-17 19:34:37
【问题描述】:
使用 R,可以在使用以下语法构建模型时忽略变量(列):
model = lm(dependant.variable ~ . - ignored.variable, data=my.training,set)
当您的数据集包含索引或 ID 时非常方便。
假设您的数据是 Pandas 数据框,您将如何在 python 中使用 SKlearn 来做到这一点?
【问题讨论】:
-
您传递的数据将是 numpy 数组或者可能是 pandas(分解为 numpy 数组),您可以索引并选择感兴趣的列并将这些传递给
lm函数参见 numpy docs 和 pandas docs -
嗯,我有 300 多列。如果我必须手动继续,我宁愿忽略 1 列而不是添加 299。
-
在 pandas 中你可以做
list(df.columns) - ignore_col这不会太冗长 -
如何将保留列的列表输入到 SKlearn 中?
-
您通常调用
fit将数据和标签作为 X、y 参数传递,例如clf = LogisticRegression()然后clf.fit(X,y),如果使用 pandas,那么最后一行将变为clf.fit(df[list(df.columns) - ignoreCol].values, df.target.values),这是一个伪示例,但它应该演示我的意思,这里有一个使用带有 sklearn 的 pandas 的示例:python.dzone.com/articles/python-making-scikit-learn-and
标签: python scikit-learn