【发布时间】:2016-05-16 04:17:51
【问题描述】:
我的数据:
State N Var1 Var2
Alabama 23 54 42
Alaska 4 53 53
Arizona 53 75 65
Var1 和 Var2 是州级别的聚合百分比值。 N 是每个州的参与者数量。我想在Var1 和Var2 之间进行线性回归,并考虑N 作为Python 2.7 中sklearn 的权重。
一般线路是:
fit(X, y[, sample_weight])
假设使用 Pandas 将数据加载到 df 并且 N 变为 df["N"],我只是将数据放入以下行还是需要在将其用作 sample_weight 之前以某种方式处理 N在命令中?
fit(df["Var1"], df["Var2"], sample_weight=df["N"])
【问题讨论】:
-
这取决于您想如何衡量事物,但基本上,是的,您可以按原样使用这些值:亚利桑那州的数据将比阿拉斯加的数据加权得多。 (例如,如果 N 是标准差,您可能希望使用
1/N**2作为权重)。 -
您可能希望确保您的数据都是浮点值,而不是整数。也许
fit会确保这一点,但文档没有提到这一点,所以你必须查看 scikit-learn 中的代码才能知道这一点。最好让自己漂浮起来。 -
我明白了,谢谢您的确认。我很奇怪你是怎么知道的?我试图在网上参考 scikit-learn 的文档,他们没有指定(或者我可能遗漏了一些东西)。
标签: python python-2.7 machine-learning scikit-learn regression