机器学习-保险花销预测笔记+代码

news2024/11/24 15:29:17

读取数据

import numpy as np
import pandas as pd

data=pd.read_csv(r'D:\人工智能\python视频\机器学习\5--机器学习-线性回归\5--Lasso回归_Ridge回归_多项式回归\insurance.csv',sep=',')
data.head(n=6)

EDA 数据探索

import matplotlib.pyplot as plt
%matplotlib inline

plt.hist(data['charges'])

 

#上图出现右偏现象,要变成正态分布形式
plt.hist(np.log(data['charges']),bins=20)

特征工程

data=pd.get_dummies(data)
data.head()

x=data.drop('charges',axis=1)
x

y=data['charges']

x.fillna(0,inplace=True)
y.fillna(0,inplace=True)

from sklearn.model_selection import train_test_split
x_train,x_test,y_train,y_test=train_test_split(x,y,test_size=0.3)

from sklearn.preprocessing import StandardScaler
scaler=StandardScaler(with_mean=True,with_std=True).fit(x_train)


x_train_scaled=scaler.transform(x_train)
x_test_scaled=scaler.transform(x_test)
x_train_scaled

from sklearn.preprocessing import PolynomialFeatures
poly_features=PolynomialFeatures(degree=2,include_bias=False)
x_train_scaled=poly_features.fit_transform(x_train_scaled)
x_test_scaled=poly_features.fit_transform(x_test_scaled)

模型训练

from sklearn.linear_model import LinearRegression


reg=LinearRegression()

reg.fit(x_train_scaled,np.log1p(y_train))
y_predict=reg.predict(x_test_scaled)

#%%
from sklearn.linear_model import Ridge
ridge=Ridge(alpha=0.4)

ridge.fit(x_train_scaled,np.log1p(y_train))
y_predict_ridge=ridge.predict(x_test_scaled)
#%%
from sklearn.ensemble import GradientBoostingRegressor
booster=GradientBoostingRegressor()

booster.fit(x_train_scaled,np.log1p(y_train))
y_predict_booster=ridge.predict(x_test_scaled)

模型评估

from sklearn.metrics import mean_squared_error

#log变换之后的
log_rmse_train=np.sqrt(mean_squared_error(y_true=np.log1p(y_train),y_pred=reg.predict(x_train_scaled))) 
log_rmse_test=np.sqrt(mean_squared_error(y_true=np.log1p(y_test),y_pred=y_predict))
#没有做log变换的
rmse_train=np.sqrt(mean_squared_error(y_true=y_train,y_pred=np.exp(reg.predict(x_train_scaled))))
rmse_test=np.sqrt(mean_squared_error(y_true=y_test,y_pred=np.exp(reg.predict(x_test_scaled))))

log_rmse_train,log_rmse_test,rmse_train,rmse_test

#log变换之后的
log_rmse_train=np.sqrt(mean_squared_error(y_true=np.log1p(y_train),y_pred=ridge.predict(x_train_scaled))) 
log_rmse_test=np.sqrt(mean_squared_error(y_true=np.log1p(y_test),y_pred=y_predict_ridge))
#没有做log变换的
rmse_train=np.sqrt(mean_squared_error(y_true=y_train,y_pred=np.exp(ridge.predict(x_train_scaled))))
rmse_test=np.sqrt(mean_squared_error(y_true=y_test,y_pred=np.exp(ridge.predict(x_test_scaled))))

log_rmse_train,log_rmse_test,rmse_train,rmse_test

#log变换之后的
log_rmse_train=np.sqrt(mean_squared_error(y_true=np.log1p(y_train),y_pred=booster.predict(x_train_scaled))) 
log_rmse_test=np.sqrt(mean_squared_error(y_true=np.log1p(y_test),y_pred=y_predict_booster))
#没有做log变换的
rmse_train=np.sqrt(mean_squared_error(y_true=y_train,y_pred=np.exp(booster.predict(x_train_scaled))))
rmse_test=np.sqrt(mean_squared_error(y_true=y_test,y_pred=np.exp(booster.predict(x_test_scaled))))

log_rmse_train,log_rmse_test,rmse_train,rmse_test

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1626554.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python实现飞机大战

提供学习或者毕业设计使用,功能基本都有,不能和市场上正式游戏相提比论,请理性对待! 本博文将开启免费试读,如有您需要完整源码或者素材材料等,请订阅本专栏或者找博主购买!购买后将提供源码文件…

太速科技-基于6 U VPX M.2 高带宽加固存储板

基于6 U VPX M.2 高带宽加固存储板 一、板卡概述 基于6 U VPX M.2 高带宽加固存储板,可以实现VPX接口的数据读写到PCI-E总线的NVME存储媒介上。采用PLX8732,上行链路提供带宽x16的PCI-E数据到VPX接口上;下行链路提供3路带宽x4的PCI-E接口…

【CSS】使用 scroll snap 实现页面的垂直大屏滚动

CSS 属性 scroll-snap-type 设置了在有滚动容器的情形下吸附至吸附点的严格程度。 scroll-snap-type 使用 scroll snap 也可以用于垂直滚动&#xff0c;全屏展示就是一个很好的例子: <main><section class"section section-1"></section><sect…

MATLAB - 机器人动力学 - 质心(Center of Mass)

系列文章目录 前言 一、用法 com centerOfMass(robot) com centerOfMass(robot,configuration) [com,comJac] centerOfMass(robot,configuration) 二、说明 com centerOfMass(robot) 计算机器人模型在原点构型处相对于基础坐标系的质心位置。com centerOfMass(robot,conf…

Linux下载及安装OpenSSL

文章目录 前言一、OpenSSL下载二、OpenSSL安装1.上传下载好的安装包到服务器2.解压3.切换目录4.配置config5.编译6.安装7.备份旧版本OpenSSL7.创建软链接8.添加OpenSSL动态链接库9.更新库缓存10.查看OpenSSL版本验证安装是否成功 前言 一般系统会自带有OpenSSL&#xff0c;我们…

用Python绘制了几张有趣的可视化图表

流程图存在于我们生活的方方面面&#xff0c;对于我们追踪项目的进展&#xff0c;做出各种事情的决策都有着巨大的帮助&#xff0c;而对于的Python而言呢&#xff0c;绘制流程图也是十分轻松的&#xff0c;今天小编就来为大家介绍两个用于绘制流程图的模块&#xff0c;我们先来…

CogVLM CogAgent模型部署

CogVLM & CogAgent 下载地址 CogVLM & CogAgent 的 Github 官方仓库&#xff1a;https://github.com/THUDM/CogVLM CogVLM & CogAge…

安卓NetworkStatsManager使用及demo

目录 一、TrafficStats类简介二、demo示例 一、TrafficStats类简介 TrafficStats Android API 8提供了android.net.TrafficStats类。 通过此类能获取设备重启以来网络信息&#xff0c;部分函数如下所示&#xff1a; static long getMobileRxBytes() //获取通过移动数据网络…

Java苍穹外卖02-公共字段自动填充-菜品管理

一、公共字段自动填充 1.问题分析 需要有一种手段能够在mapper层&#xff08;持久层&#xff09;知道当前操作是否是insert或者update。 为mapper中需要进行拦截的方法加注解&#xff0c;然后去为这些赋值 2.代码开发 注解创建&#xff1a; 注意这里的Retention注解一定要是…

MySQL—MySQL的存储引擎之InnoDB

MySQL—MySQL的存储引擎之InnoDB 存储引擎及种类 存储引擎说明MyISAM高速引擎&#xff0c;拥有较高的插入&#xff0c;查询速度&#xff0c;但不支持事务InnoDB5.5版本后MySQL的默认数据库存储引擎&#xff0c;支持事务和行级锁&#xff0c;比MyISAM处理速度稍慢ISAMMyISAM的…

Unity AssetsBundle打包

为什么要使用AssetsBundle包 减少安装包的大小 默认情况下&#xff0c;unity编译打包是对项目下的Assets文件夹全部内容进行压缩打包 那么按照这个原理&#xff0c;你的Assets文件夹的大小将会影响到你最终打包出的安装包的大小&#xff0c;假如你现在正在制作一个游戏项目&…

Apollo 7周年大会:百度智能驾驶的展望与未来

本心、输入输出、结果 文章目录 Apollo 7周年大会&#xff1a;百度智能驾驶的展望与未来前言百度集团副总裁、智能驾驶事业群组总裁王云鹏发言 直播回放大会相关内容先了解 Apollo&#xfeff;开放平台 9.0架构图 发布产品Apollo 定义自己对于智能化的认知百度集团副总裁 王云鹏…

阿斯达年代记三强争霸服务器没反应 安装中发生错误的解决方法

阿斯达年代记三强争霸服务器没反应 安装中发生错误的解决方法 最近刚上线的由影视剧改编的游戏《阿斯达年代记三强争霸》可谓是在游戏圈内引起了轩然大波&#xff0c;这是一款由网石集团与龙工作室联合开发的MMORPG游戏&#xff0c;游戏背景设定在一个名为阿斯大陆的区域&…

Java之复制图片

从文件夹中复制图片 从这个文件夹&#xff1a; 复制到这个空的文件夹&#xff1a; 代码如下&#xff1a; import java.io.*; import java.util.Scanner;/*** 普通文件的复制*/public class TestDome10 {public static void main(String[] args) {// 输入两个路径// 从哪里(源路…

IOMMU和SMMU详解

前言&#xff1a; IOMMU&#xff08;输入输出内存管理单元&#xff09;的原理与CPU中的MMU&#xff08;内存管理单元&#xff09;相似。它的作用是管理设备的内存访问请求&#xff0c;允许安全、高效地在设备和内存之间直接传输数据。IOMMU通常用于支持高速数据传输的设备&…

了解时间复杂度和空间复杂度

在学习数据结构前&#xff0c;我们需要了解时间复杂度和空间复杂度的概念&#xff0c;这能够帮助我们了解数据结构。 算法效率分为时间效率和空间效率 时间复杂度 一个算法的复杂度与其执行的次数成正比。算法中执行基础操作的次数&#xff0c;为算法的时间复杂度。 我们采…

墨水屏技术在工业智能化领域的创新应用

墨水屏技术在工业智能化领域的创新应用 随着科技的快速发展&#xff0c;各种显示技术层出不穷&#xff0c;其中墨水屏作为一种独特的显示技术&#xff0c;逐渐在工业领域展现出其独特的优势和价值。墨水屏以其低功耗、高对比度和阅读舒适度高等特点&#xff0c;正成为工业应用…

9【PS作图】像素画Tips

放大缩小 “窗口”-排列-为…画布新建窗口&#xff0c;就可以新建一个窗口&#xff0c;实时看作图效果 如果要保持放大或缩小的像素画仍然保持硬边缘&#xff0c;需要设置两个东西 将 编辑 > 首选项 > 常规 中的 插值方式 改为 “邻近&#xff08;靠近硬边缘&#xff09…

android脱壳第二发:grpc-dumpdex加修复

上一篇我写的dex脱壳&#xff0c;写到银行类型的app的dex修复问题&#xff0c;因为dex中被抽取出来的函数的code_item_off 的偏移所在的内存&#xff0c;不在dex文件范围内&#xff0c;所以需要进行一定的修复&#xff0c;然后就停止了。本来不打算接着搞得&#xff0c;但是写了…

Hadoop伪分布式平台搭建

搭建Hadoop伪分布式环境是在单台机器上模拟完整的Hadoop分布式系统&#xff0c;使得所有的Hadoop守护进程&#xff08;如NameNode、DataNode、ResourceManager、NodeManager等&#xff09;都在同一台机器上运行。这样可以在一台机器上体验Hadoop的分布式特性&#xff0c;适合学…