首页 > 代码库 > logistic原理与实践
logistic原理与实践
逻辑回归模型是一种将影响概率的不同因素结合在一起的指数模型,得到的是0~1之间的概率分布.自变量范围是,值域范围限制在0~1之间.在搜索广告、信息处理和生物统计中有广泛的应用.例如搜索广告的点击率预估,将影响概率预测的各种信息作为变量,比如广告的位置、广告和搜索词的相关性、广告展示的时间(比如晚上广告的点击率会略高于下午)
优缺点:
优点:
1)容易使用和解释,实用价值高的常用市场预测方法;
2)它是直接对分类可能性建模,无需事先假设数据分布,这样就避免了假设分布不准确问题;
3)可以适用于连续性和类别性自变量;
缺点:
1)对模型中自变量多重共线性较为敏感,例如两个高度相关自变量同时放入模型,可能导致较弱的一个自变量回归符号不符合预期,符号被扭转.?需要利用因子分析或者变量聚类分析等手段来选择代表性的自变量,以减少候选变量之间的相关性;
2)预测结果呈“S”型,因此从log(odds)向概率转化的过程是非线性的,在两端随着?log(odds)值的变化,概率变化很小,边际值太小,slope太小,而中间概率的变化很大,很敏感.导致很多区间的变量变化对目标概率的影响没有区分度,无法确定阀值.
###########################R语言################################
index <- which(iris$Species == ‘setosa‘)
ir <- iris[- index,]
levels(ir$Species)[1] <- ‘‘
split <- sample(100,100*(2/3))
#生成训练集
ir_train <- ir[split,]
#生成测试集
ir_test <- ir[-split,]
fit <- glm(Species ~.,family=binomial(link=‘logit‘),data=http://www.mamicode.com/ir_train)
summary(fit)
real <- ir_test$Species
predict <- predict(fit,type=‘response‘,newdata=http://www.mamicode.com/ir_test)
data.frame(real,predict)
res <- data.frame(real,predict =ifelse(predict>0.5,‘virginca‘,‘versicorlor‘))
#查看模型效果
#################################Matlab#######################################
data = http://www.mamicode.com/importdata(‘somelab.xlsx‘);
x(:,1:4) = data.data.Sheet1(:,1:4);
y(:,1) = data.data.Sheet1(:,7);
a =glmfit(x(1:80,1:4),y(1:80,1),‘binomial‘, ‘link‘, ‘logit‘);
logitFit = glmval(b,x(80:100,1:4), ‘logit‘);
###############################Weka##########################################
Funtion:
Logistic
SimpleLogistic
logistic原理与实践