回归分析讲解及一元线性回归和逻辑回归对iris数据集分析实战(附源码 超详细)

简介: 回归分析讲解及一元线性回归和逻辑回归对iris数据集分析实战(附源码 超详细)

需要源码请点赞关注收藏后评论区留言私信~~~

一、回归分析

回归分析是一种预测性的建模技术,它研究的是因变量(目标)和自变量(预测器)之间的关系。具体来说,回归分析法指利用数据统计原理,对大量统计数据进行数学处理,并确定因变量与某些自变量的相关关系,建立一个相关性较好的回归方程(函数表达式),并加以外推,用于预测今后因变量变化的分析

回归分析可以简单理解为数据分析与预测,通过对数据进行分析实现预测,也就是适当扩大已有自变量的取值范围,并承认该回归方程在扩大的定义域内成立,一般来说,回归分析的主要过程步骤如下

(1)收集一组包含因变量和自变量的数据

(2)根据因变量和自变量之间的关系,初步设定回归模型

(3)求解合理的回归系数

(4)进行相关性检验,确定相关系数

(5)利用模型对因变量作出预测或解释,并计算预测值的置信区间

二、一元线性回归

一元线性回归分析预测法,是根据自变量X和因变量Y的相关关系,建立X与Y的线性回归方程进行预测的方法。由于市场现象一般是受多种因素的影响,而并不是仅仅受一个因素的影响。所以应用一元线性回归分析预测法,必须对影响市场现象的多种因素做全面分析。只有当诸多的影响因素中,确实存在一个对因变量影响作用明显高于其他因素的变量,才能将它作为自变量,应用一元相关回归分析市场预测法进行预测

算法原理

回归模型的设定给出了回归函数的形式,但模型中的回归参数是未知的。要对模型参数进行估计和统计推断,需要从总体样本中抽样获得数据。一元线性回归模型中参数估计方法有最小二乘法、矩方法和极大似然方法。最小二乘法(Least Squre Estimation, LSE)又称最小平方法,它通过最小化误差的平方和寻找数据的最佳函数匹配。普通最小二乘法是最为直观的估计方法,对模型条件要求最少,也就是使散点图上所有的观测值到回归直线距离平方和最小

回归分析要通过样本所估计的参数来代替总体的真实参数,或者说用样本回归线代替总体回归线,尽管从统计性质上已知,如果有足够多的重复抽样,参数的估计值的期望就等于总体的参数真值,但在一次抽样中,估计值不一定就等于该真值,那么在一次抽样中,参数的估计值与真值的差异有多大,是否显著,就需要进一步进行统计检验,一元回归的统计检验主要包括拟合优度检验,变量显著性检验和残差标准差检验

对iris数据集中花萼宽度与长度进行一元线性回归分析

部分代码如下

import pandas as pd
import matplotlib.pyplot as plt
from sklearn.datasets import load_iris 
from sklearn.linear_model import LinearRegression
%matplotlib inline
iris = load_iris()   #导入数据集iris
data=pd.DataFrame(iris.data)
data.columns=['sepal-length', 'sepal-width', 'petal-length', 'petal-width']
# 使用sklearn完成一元线性回归
x = data['petal-length'].values
y = data['petal-width'].values
x = x.reshape(len(x),1)
y = y.reshy,s=50)
plt.plot(x,pre,'r-',linewidth=2)
plt.xlabel('petal-length')
plt.ylabel('petal-width')
for idx, m in enumerate(x):  
    plt.plot([m,m],[y[idx],pre[idx]], 'g-')  
plt.show()
print(u"系数:", clf.coef_  )
print(u"截距:", clf.intercept_  )
# 对花萼长度为3.9的花,预测其花萼宽度。
print('预测值为:',clf.predict([[3.9]]) )

三、逻辑回归

线性回归算法能对连续值的结果进行预测,而逻辑回归模型是机器学习从统计领域借鉴的另一种技术,用于分析二分类或有序的因变量与解释变量之间的关系

逻辑回归算法是一种广义的线性回归分析方法,它仅在线性回归算法的基础上,利用Sigmoid函数对事件发生的概率进行预测。也就是说,在线性回归中可以得到一个预测值,然后将该值通过逻辑函数进行转换,将预测值转为概率值,再根据概率值实现分类

逻辑回归常用于数据挖掘、疾病自动诊断和经济预测等领域

逻辑回归模型

逻辑回归与线性回归类似,因为两者的目标都是找出每个输入变量的权重值。与线性回归不同的是,输出的预测值需要使用逻辑函数的非线性函数进行变换。逻辑函数即sigmoid函数,能将任意值转换为0到1的范围内。Sigmoid函数定义如下式所示

对iris数据集进行逻辑回归分析

结果如下  可见精度不是特别高

部分代码如下

from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
import warnings
warnings.filterwarnings('ignore')
X = load_iris().data
y = load_iris().target
# 划分训练集和测试集,并对数据进行I标准化
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.tran测试集进行预测
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))

创作不易 觉得有帮助请点赞关注收藏~~~

相关文章
|
7月前
|
机器学习/深度学习 人工智能 自然语言处理
机器学习之线性回归与逻辑回归【完整房价预测和鸢尾花分类代码解释】
机器学习之线性回归与逻辑回归【完整房价预测和鸢尾花分类代码解释】
|
7月前
|
机器学习/深度学习 数据可视化 Python
R语言使用逻辑回归Logistic、单因素方差分析anova、异常点分析和可视化分类iris鸢尾花数据集|数据分享
R语言使用逻辑回归Logistic、单因素方差分析anova、异常点分析和可视化分类iris鸢尾花数据集|数据分享
|
7月前
|
Python
使用Python实现基本的线性回归模型
使用Python实现基本的线性回归模型
237 8
使用Python实现基本的线性回归模型
|
2月前
|
机器学习/深度学习 算法 Python
使用Python实现简单的线性回归模型
【10月更文挑战第2天】使用Python实现简单的线性回归模型
27 1
|
4月前
|
机器学习/深度学习 数据采集 Python
利用Python实现简单的线性回归模型
【8月更文挑战第29天】本文将引导你了解并实践如何使用Python编程语言实现一个简单的线性回归模型。我们将通过一个实际的数据集,一步步地展示如何进行数据预处理、建立模型、训练及评估模型性能。文章旨在为初学者提供一个易于理解且实用的编程指南,帮助他们快速入门机器学习领域。
|
7月前
基于R语言实现LASSO回归分析
基于R语言实现LASSO回归分析
|
7月前
|
机器学习/深度学习 Python
使用Python实现逻辑回归模型
使用Python实现逻辑回归模型
91 9
|
7月前
|
机器学习/深度学习 数据采集 数据可视化
R语言可视化探索BRFSS数据并逻辑回归Logistic回归预测中风
R语言可视化探索BRFSS数据并逻辑回归Logistic回归预测中风
|
7月前
|
机器学习/深度学习 算法 索引
R语言逻辑回归logistic模型分析泰坦尼克titanic数据集预测生还情况
R语言逻辑回归logistic模型分析泰坦尼克titanic数据集预测生还情况
|
7月前
R语言泊松Poisson回归模型分析案例
R语言泊松Poisson回归模型分析案例

热门文章

最新文章