首页 > 代码库 > 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原理与实践