pythonLogistic回归怎么实现
本篇内容主要讲解“python Logistic回归怎么实现”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python Logistic回归怎么实现”吧!
创新互联公司从2013年开始,是专业互联网技术服务公司,拥有项目成都网站制作、成都网站建设、外贸营销网站建设网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元岱岳做网站,已为上家服务,为岱岳各地企业和个人服务,联系电话:13518219792
背景介绍
不要被它的名字弄糊涂!它是一种分类而非回归算法。它用于根据给定的自变量集估计离散值(二进制值,如0/1,yes/no,true/false)。简单来说,它通过将数据拟合到logit函数来预测事件发生的概率。因此,它也被称为logit回归。由于它预测概率,因此其输出值介于0和1之间(如预期的那样)。
再次,让我们通过一个简单的例子来尝试理解这一点。
假设你的朋友给你一个难题来解决。只有2个结果场景 - 要么你解决它,要么你没解决。现在想象一下,你正在获得各种各样的谜题/测验,试图了解你擅长哪些科目。这项研究的结果将是这样的 - 如果给你一个基于三角测量的十年级问题,你有70%的可能解决它。另一方面,如果是第五级历史问题,获得答案的概率仅为30%。这就是Logistic回归为您提供的。
在数学领域,结果的对数几率被建模为预测变量的线性组合:
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是存在感兴趣特征的概率。它选择的参数最大化观察样本值的可能性,而不是最小化误差平方和(如普通回归)。
现在,您可能会问,为什么要使用log函数?为简单起见,我们只是说这是复制步进函数的最佳数学方法之一。我可以详细介绍,但这会超出本文的目的。
来看使用python的scikit-learn完成的Logistic回归案例:
代码块
# ## 使用Scikit-learn的LogisticRegression完成测试案例# In[30]:import pandas as pdfrom sklearn.linear_model import LogisticRegressionfrom sklearn.metrics import accuracy_score# ### 读取训练数据和测试数据集# In[31]:train_data = pd.read_csv('train-data.csv')test_data = pd.read_csv('test-data.csv')print(train_data.head())# ### 打印训练数据和测试数据形状# In[32]:print('Shape of training data :',train_data.shape)print('Shape of testing data :',test_data.shape)# In[33]:#现在,我们需要预测测试数据中缺少的目标变量# target变量 - Survived#在训练数据上分离独立变量和目标变量train_x = train_data.drop(columns=['Survived'],axis=1)train_y = train_data['Survived']#在测试数据上分离独立变量和目标变量test_x = test_data.drop(columns=['Survived'],axis=1)test_y = test_data['Survived']model = LogisticRegression(solver='liblinear')model.fit(train_x,train_y)# In[34]:#训练模型的系数print('Coefficient of model :', model.coef_)#拦截模型print('Intercept of model',model.intercept_)# In[35]:# 预测训练数据集predict_train = model.predict(train_x)# 训练数据集得分accuracy_train = accuracy_score(train_y,predict_train)print('accuracy_score on train dataset : ', accuracy_train)# In[36]:# 预测测试数据集predict_test = model.predict(test_x)# 测试数据集得分accuracy_test = accuracy_score(test_y,predict_test)print('accuracy_score on test dataset : ', accuracy_test)
到此,相信大家对“python Logistic回归怎么实现”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
分享标题:pythonLogistic回归怎么实现
本文路径:http://myzitong.com/article/ihscpo.html