回归分析(四)—— 逻辑回归

主要内容
回归分析概述
一元线性回归分析
多元线性回归
逻辑回归
其他回归分析

四、逻辑回归

线性回归算法能对连续值的结果进行预测,而逻辑回归模型是机器学习从统计领域借鉴的另一种技术,用于分析二分类或有序的因变量与解释变量之间的关系。
逻辑回归算法是一种广义的线性回归分析方法,它仅在线性回归算法的基础上,利用Sigmoid函数对事件发生的概率进行预测。也就是说,在线性回归中可以得到一个预测值,然后将该值通过逻辑函数进行转换,将预测值转为概率值,再根据概率值实现分类。逻辑回归常用于数据挖掘、疾病自动诊断和经济预测等领域。

逻辑回归模型

在这里插入图片描述

import matplotlib.pyplot as plt
import numpy as np
def sigmoid(x):
    return 1./(1.+np.exp(-x))
x = np.arange(-8,8,0.2)
y = sigmoid(x)
plt.plot(x,y)
plt.xlabel('$x$',fontsize = 13)
plt.ylabel('$y$',fontsize = 13, rotation = 0)
plt.title('Sigmoid')
plt.show()

在这里插入图片描述

在这里插入图片描述
逻辑回归的Python实现
(1)导入相关包,打开数据

from sklearn.datasets import load_iris
X = load_iris().data
y = load_iris().target
print('前8条数据:\n',X[:8])
print('前8条数据对应的类型:',y[:8])

# 前8条数据:
#  [[5.1 3.5 1.4 0.2]
#  [4.9 3.  1.4 0.2]
#  [4.7 3.2 1.3 0.2]
#  [4.6 3.1 1.5 0.2]
#  [5.  3.6 1.4 0.2]
#  [5.4 3.9 1.7 0.4]
#  [4.6 3.4 1.4 0.3]
#  [5.  3.4 1.5 0.2]]
# 前8条数据对应的类型: [0 0 0 0 0 0 0 0]

(2)划分训练集和测试集并进行归一化

from sklearn.model_selection import train_test_split
X_train,X_test,y_train,y_test = train_test_split(X,y,test_size = 0.25,random_state = 0)
from sklearn.preprocessing import StandardScaler
sc = StandardScaler()
X_train = sc.fit_transform(X_train)
X_test = sc.transform(X_test)
print(X_train[:5])

# [[ 0.01543995 -0.11925475  0.22512685  0.35579762]
#  [-0.09984503 -1.04039491  0.11355956 -0.02984109]
#  [ 1.05300481 -0.11925475  0.95031423  1.12707506]
#  [-1.36797986  0.34131533 -1.39259884 -1.31530348]
#  [ 1.1682898   0.11103029  0.72717965  1.38416753]]

(3)训练逻辑回归模型并对测试集进行预测

from sklearn.linear_model import LogisticRegression
classifier = LogisticRegression(random_state = 0)
classifier.fit(X_train,y_train)
y_pred = classifier.predict(X_test)
#用LogisticRegression自带的score获得模型在测试集上的准确性
print('Accuracy of LR Classifier:%.3f'%classifier.score(X_test,y_test))

# Accuracy of LR Classifier:0.816
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

shi_jiaye

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值