pr3*_*338 5 python linear-regression scikit-learn
我正在尝试将线性回归与 python 和 scikitlearn 结合使用来回答“根据用户人口统计信息可以预测用户会话长度吗?”的问题。
我使用线性回归是因为用户会话长度以毫秒为单位,这是连续的。我对所有分类变量进行了热编码,包括性别、国家和年龄范围。
我不确定如何考虑我的一种热编码,或者我什至需要这样做。
输入数据:
我试着在这里阅读:http : //scikit-learn.org/stable/modules/generated/sklearn.linear_model.LinearRegression.html
我理解输入是我的主要内容是是否计算拟合截距、标准化、复制 x(所有布尔值),然后是 n 个作业。
我不确定在决定这些输入时要考虑哪些因素。我还担心我对变量的一种热编码是否会产生影响。
你可以这样做:
from sklearn.preprocessing import OneHotEncoder
from sklearn.linear_model import LinearRegression
# X is a numpy array with your features
# y is the label array
enc = OneHotEncoder(sparse=False)
X_transform = enc.fit_transform(X)
# apply your linear regression as you want
model = LinearRegression()
model.fit(X_transform, y)
print("Mean squared error: %.2f" % np.mean((model.predict(X_transform) - y) ** 2))
Run Code Online (Sandbox Code Playgroud)
请注意,这个示例我正在使用相同的数据集进行训练和测试!这可能会导致模型过度拟合。您应该避免拆分数据或进行交叉验证。
归档时间: |
|
查看次数: |
9972 次 |
最近记录: |