当前位置: 首页 > news >正文

后湖做网站百度西安分公司地址

后湖做网站,百度西安分公司地址,优化是企业通过网站来做吗,财务公司网站模板参考资料:活用pandas库 1、简单线性回归 线性回归的目标是描述响应变量(或“因变量”)和预测变量(也称“特征”、“协变量”、“自变量”)之间的直线关系。本例中将讨论tips数据集中的total_bill对tip的影响。 # 导入…

参考资料:活用pandas库

1、简单线性回归

        线性回归的目标是描述响应变量(或“因变量”)和预测变量(也称“特征”、“协变量”、“自变量”)之间的直线关系。本例中将讨论tips数据集中的total_bill对tip的影响。

# 导入pandas库
import pandas as pd
# 导入数据集
tips=pd.read_csv(r"...\seaborn常用数据案例\tips.csv")
# 展示数据集
print(tips.head())

(1)使用统计模型库

具体相关资料可参考:python统计分析——线性模型的预测和评估_python 线性拟合评估-CSDN博客

# 导入statsmodels库的formula API
import statsmodels.formula.api as smf
# 用普通最小二乘法进行公式拟合
model=smf.ols("tip~total_bill",data=tips)
results=model.fit()
# 用params属性查看线性方程的系数
print(results.params)
# 用conf_int()方法查看置信区间
print(results.conf_int())
# 用summary方法查看整体的结果
print(results.summary())

(2)使用sklearn库

        由于sklearn接收的是numpy数组,所以有时需要处理数据,以便把DataFrame传入sklearn。如果输入的不是矩阵数据,则需要重塑输入。根据是否只有一个变量或者一个样本,要分别指定reshape(-1,1)或reshape(1,-1)。

# 从sklearn库中导入linear_model模块
from sklearn import linear_model
# 创建LinearRegression()对象
lm=linear_model.LinearRegression()
# 对数据进行拟合
# 注意参数中X是大写,输入的参数是矩阵而非向量
# y是小写,输入的参数是向量
predicted=lm.fit(X=tips['total_bill'].values.reshape(-1,1),y=tips['tip'])
# 输出线性方程的系数
print(predicted.coef_)
# 输出线性方程的截距
print(predicted.intercept_)

2、多元回归

        多元线性回归的系数,是在所有其他变量保持不变的情况下进行解释的

(1)使用statsmodels库

        用多元回归模型拟合数据集与拟合简单的线性回归模型非常相似。在formula参数中,可以轻松地把其他协变量“添加”到波浪线的右边。

# 使用statsmodels库进行多元线性回归的拟合
model=smf.ols("tip~total_bill + size",data=tips).fit()
# 输出结果
print(model.summary())

(2)使用statsmodels和分类变量

        对分类变量建模时,必须创建虚拟变量,即分类中的每个唯一值都变成了新的二元特征。statsmodels会自动创建虚拟变量。为了避免多重共线性,通常会删除其中一个虚拟变量。

# 拟合所有的变量
model=smf.ols("tip~total_bill + size + sex + smoker + day + time",data=tips).fit()
# 输出结果
print(model.summary())

       对于分类变量的解释必须和参考变量(即从分析中删除的虚拟变量)联系起来。例如sex[T。Female]的系数为0.0324,解释该值时要与参考值(Male)联系起来。也就是说,当sex从Male变为Female时,tip增加0.0324。

(3)使用sklearn库

        在sklearn中,多元回归语法与库中的简单线性回归语法相似,为了想模型添加更多特征,可以把要使用的列传入模型。

# 创建LinearRegression对象
lm=linear_model.LinearRegression()
# 多元线性回归拟合
predicted=lm.fit(X=tips[['total_bill','size']],y=tips['tip'])
# 输出系数和截距
print(predicted.coef_)
print(predicted.intercept_)

(4)使用sklearn和分类变量

        必须手动为sklearn创建虚拟变量,可以使用pandas的get_dummies函数来实现。该函数会自动把所有分类变量转换为虚拟变量,所以不必再逐个传入各列。sklearn中OneHotEncoder函数与之类似。

# 用get_dummies函数创建虚拟变量
tips_dummy=pd.get_dummies(tips[['total_bill','size','sex','smoker','day','time']])
# 展示tips_dummy
print(tips_dummy.head())

        可以向get_dummies函数传入drop_first=True来删除参考变量。

x_tips_dummy_ref=pd.get_dummies(tips[['total_bill','size','sex','smoker','day','time']],drop_first=True)
print(x_tips_dummy_ref.head())
lm=linear_model.LinearRegression()
predicted=lm.fit(X=x_tips_dummy_ref,y=tips['tip'])
print(predicted.coef_)
print(predicted.intercept_)

3、保留sklearn的索引标签

        在尝试解释sklearn模型时,一个棘手的问题就是模型的系数不带标签,原因是numpy ndarray无法存储这类元数据。如果想让输出结果和statsmodels类似,需要手动存储标签,并添加系数。

# 导入numpy库
import numpy as np
# 创建模型并拟合
lm=linear_model.LinearRegression()
predicted=lm.fit(X=x_tips_dummy_ref,y=tips['tip'])
# 获取截距以及其他系数
values=np.append(predicted.intercept_,predicted.coef_)
# 获取值得名称
names=np.append('intercept',x_tips_dummy_ref.columns)
# 把所有所项目放入一个带标签的DataFrame中
results=pd.DataFrame(values,index=names,columns=['coef'])
print(results)

http://www.shuangfujiaoyu.com/news/54083.html

相关文章:

  • 本地郑州网站建设陕西百度代理公司
  • 公司网站建设费用账务处理培训网站模板
  • 做私人网站 违法网站历史权重查询
  • 企业网站排名要怎么做百度应用商店app下载安装
  • 大学生可以做的网站项目营销策划方案包括哪些内容
  • 如何做网站友情链接山东seo
  • 做网站和seo流程东莞seoseo关键词排名优化
  • vi设计 站酷什么是软文
  • 马鞍山网站建设服务开发百度霸屏推广一般多少钱
  • 网站上传照片 传不上去百度关键词查询排名
  • java怎么做网站后台中铁建设集团有限公司
  • 网站开发收费表软文发稿
  • 有域名和空间怎么做网站百度客服电话人工服务热线
  • 最简单的营销方案百度seo优化价格
  • 建设网站的服务端口哈尔滨新闻头条今日新闻
  • 网站建设需要哪些技术b站推广网站2024
  • 青岛新闻网首页官网下载seo辅助优化工具
  • 新余网站建设找谁做百度手机助手app下载并安装
  • 网站做下CDN防护宣传广告
  • 做网站公司的排名杭州seo搜索引擎优化
  • 青岛集团网站建设网络营销策略存在的问题
  • 为什么有的网站打不开 别的网站就可以打开排名网站
  • 手机版网站如何做图片滚动百度快速收录账号购买
  • 赤壁网站建设链交换
  • 网站建设怎么分录网上找客户有什么渠道
  • 建设招标项目常挂网站有哪些外贸如何做网站推广
  • 网站风格指的是什么百度推广关键词排名在哪看
  • 邯郸做网站电话2024年新冠第三波症状分析
  • 做网站一般用什么语言广州seo招聘信息
  • 苏州做网站的哪个公司比较好陕西网站制作