首页 > 编程知识 正文

单变量回归分析和多变量回归分析,回归分析画

时间:2023-05-04 10:29:57 阅读:193806 作者:1407

单变量分析绘图及回归分析绘图 综述代码模块单变量分析绘图数据直方图数据分布状态指定均值及协方差生成数据散点图观测多特征分析 回归分析绘图tips数据集读入绘制回归图离散型数据分析增加直方图后的回归图绘制 小结

综述

学生党整理一些关于数据分析的知识:整理了单变量分析绘图及回归分析绘图的部分代码。主要包括了数据直方图、数据分布状态、指定均值协方差生成数据、散点图绘制、多特征分析;绘制回归图、离散型数据分析及直方图散点图结合的回归图绘制。

代码模块

调用库

import seaborn as snsimport pandas as pdimport numpy as npimport matplotlib.pyplot as pltfrom scipy import stats, integrate 单变量分析绘图 数据直方图

通过数据直方图可以观测变量的分布状况

sns.set(color_codes=True)np.random.seed(sum(map(ord,"distributions")))x = np.random.normal(size=100)sns.distplot(x,kde=False)plt.show()


指定bins = 20

sns.distplot(x,bins=20,kde=False)plt.show()

数据分布状态

数据柱状图和曲线图表示数据分布状态

x = np.random.normal(6,size=200)sns.distplot(x,kde=False,fit=stats.gamma)plt.show()

指定均值及协方差生成数据 mean, cov = [0, 1], [(1, .5),(.5, 1)] #指定均值,协方差data = np.random.multivariate_normal(mean, cov,200)df = pd.DataFrame(data,columns=['x','y'])print(df)

生成数据样例如下

xy0-0.8802101.25505110.191488-0.000265………1981.4999323.8816061990.8932391.196291散点图观测

观测两个变量之间的分布关系最好用散点图

sns.jointplot(x='x',y='y',data=df)plt.show()

该方式绘制的散点图包括了x,y的直方图

当数据量庞大时可以用hex图

x, y = np.random.multivariate_normal(mean,cov,1000).Twith sns.axes_style("white"): sns.jointplot(x = x,y = y,kind="hex",color = "k")plt.show()

数据量过大时,直接绘制散点图会导致多点重合无法分析的情况,采用hex图,可以将数据划分区域,用颜色深浅表示

多特征分析

分析多变量中各个变量之间的关系时,可以使用

sns.set()iris = pd.read_csv('iris.csv') #读入iris数据iris = sns.load_dataset("iris")sns.pairplot(iris)plt.show()

回归分析绘图 tips数据集读入 tips = pd.read_csv('tips.csv')np.random.seed(sum(map(ord, "regression")))tips = sns.load_dataset('tips')print(tips.head()) total_billtipsexsmokerdaytimesize016.991.01FemaleNoSunDinner2110.341.66MaleNoSunDinner3221.013.50MaleNoSunDinner3323.683.31MaleNoSunDinner2424.593.61FemaleNoSunDinner4绘制回归图

绘制回归关系图时,常用regplot()和lmplot(),推荐使用regplot()。regplot()使用方便, lmplot()功能多,规范要求高。

sns.regplot(x = 'total_bill',y = 'tip',data = tips)plt.title('regplot')plt.show()

sns.lmplot(x = 'total_bill',y = 'tip',data = tips)plt.title('lmplot')plt.show()

离散型数据分析

直接绘图

sns.regplot(data=tips,x='size',y='tip')plt.show()


由于数据离散,对回归结果有影响,可以适当增加波动提高回归准确性

sns.regplot(x='size',y='tip',data= tips,x_jitter = .05)plt.show()

增加直方图后的回归图绘制 mean, cov = [0, 1], [(1, .5),(.5, 1)] #指定均值,协方差data = np.random.multivariate_normal(mean, cov,200)df = pd.DataFrame(data,columns=['x','y'])sns.jointplot(x='x',y='y',data=df,kind='reg')plt.show()

小结

绘图知识整理部分主要针对绘图方法,具体在数据分析过程中使用哪种图片在之后具体的数据分析案例中详细说明。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。