Logistic回归系数:eval(family $ initialize)中的错误:y值必须为0< = y< = 1 [英] Logistic Regression on factor: Error in eval(family$initialize) : y values must be 0 <= y <= 1

查看:2918
本文介绍了Logistic回归系数:eval(family $ initialize)中的错误:y值必须为0< = y< = 1的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

无法为以下逻辑回归修正以下错误

Not able to fix the below error for the below logistic regression

training=(IBM$Serial<625)
data=IBM[!training,]
dim(data)
stock.direction <- data$Direction
training_model=glm(stock.direction~data$lag2,data=data,family=binomial)
###Error### ----  Error in eval(family$initialize) : y values must be 0 <= y <= 1

我正在使用的数据中的几行

Few rows from the data i am using

X   Date    Open    High    Low Close   Adj.Close   Volume  Return  lag1    lag2    lag3    Direction   Serial
1   28-11-2012  190.979996  192.039993  189.270004  191.979996  165.107727  3603600 0.004010855 0.004010855 -0.001198021    -0.006354834    Up  1
2   29-11-2012  192.75  192.899994  190.199997  191.529999  164.720734  4077900 0.00114865  0.00114865  -0.004020279    -0.009502386    Up  2
3   30-11-2012  191.75  192 189.5   190.070007  163.465073  4936400 0.003630178 0.003630178 -0.001894039    -0.005576956    Up  3
4   03-12-2012  190.759995  191.300003  188.360001  189.479996  162.957703  3349600 0.001213907 0.001213907 -0.002480478    -0.001636046    Up  4

推荐答案

之所以要求y值介于0和1之间,是因为数据中的分类特征(例如方向")属于字符"类型.您需要将它们转换为使用as.factor(data$Direction)键入"factor".因此:glm(Direction ~ lag2, data=...)不需要声明stock.direction.

The reason it's asking for y values between 0 and 1 is because the categorical features in your data such as 'direction' are of type 'character'. You need to convert them to type 'factor' with as.factor(data$Direction). So: glm(Direction ~ lag2, data=...) Don't need to declare stock.direction.

您可以使用命令class(variable)检查变量的类别,如果它们是字符,则可以转换为factor并在同一数据框中创建新列.这样就可以了.

You can check the class of variables by using the command class(variable), and if they're character, you can convert to factor and create a new column in the same data frame. It should work then.

这篇关于Logistic回归系数:eval(family $ initialize)中的错误:y值必须为0&lt; = y&lt; = 1的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆