机器学习算法:逻辑回归|python与r语言代码实现

2018-10-1123:54:55数据结构与算法Comments3,054 views字数 1302阅读模式

逻辑回归

不要被它的名字弄糊涂了!它是一种分类而不是回归算法。它用于根据给定的一组自变量估计离散值(二进制值如0/1、是/否、真/假)。简单地说,它通过将数据拟合到 logit 函数来预测事件发生的概率。因此,它也被称为logit回归。由于它预测了概率,其输出值介于0和1之间(如所预料的)。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/6542.html

再一次,让我们通过一个简单的例子来理解这一点。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/6542.html

假设你的朋友给你一个难题来解决。只有两种结局情景——要么你解决,要么不解决。现在想象一下,为了理解你擅长哪些科目,你正在接受各种各样的谜题/测验。这项研究的结果是这样的——如果你得到一个基于三角学的十年级问题,你有70%的可能性解决它。另一方面,如果是第五级历史问题,得到答案的概率只有30%。这就是逻辑回归给你提供的东西。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/6542.html

看看数学,结果的对数赔率被建模为预测变量的线性组合。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/6542.html

odds= p/ (1-p) = probability of event occurrence / probability of not event occurrence
ln(odds) = ln(p/(1-p))
logit(p) = ln(p/(1-p)) = b0+b1X1+b2X2+b3X3....+bkXk

以上,P是存在感兴趣特征的概率。它选择使观察样本值的可能性最大化的参数,而不是使平方误差之和最小(如普通回归)。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/6542.html

现在,你可能会问,为什么要记日志?为了简单起见,我们姑且认为这是复制阶跃函数的最好的数学方法之一。我可以更详细地说,但这将打破这篇文章的目的。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/6542.html

机器学习算法:逻辑回归|python与r语言代码实现文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/6542.html

Python 代码文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/6542.html

#Import Library
from sklearn.linear_model import LogisticRegression
#Assumed you have, X (predictor) and Y (target) for training data set and x_test(predictor) of test_dataset
# Create logistic regression object
model = LogisticRegression()
# Train the model using the training sets and check score
model.fit(X, y)
model.score(X, y)
#Equation coefficient and Intercept
print('Coefficient: \n', model.coef_)
print('Intercept: \n', model.intercept_)
#Predict Output
predicted= model.predict(x_test)

R 语言代码文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/6542.html

x <- cbind(x_train,y_train)
# Train the model using the training sets and check score
logistic <- glm(y_train ~ ., data = x,family='binomial')
summary(logistic)
#Predict Output
predicted= predict(logistic,x_test)

此外,为了改进模型,可以尝试许多不同的步骤:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/6542.html

  • 包括交互项
  • 去除特征
  • 正则化技术
  • 使用非线性模型
文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/6542.html
  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/suanfa/6542.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定