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

人工智能知识分享第八天-机器学习_泰坦尼克生存预估线性回归和决策树回归对比案例

泰坦尼克生存预估案例

import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier
from sklearn.metrics import classification_report
import matplotlib.pyplot as plt
from sklearn.tree import plot_treetitanic_df = pd.read_csv('./data/train.csv')
titanic_df.info()x = titanic_df[['Pclass', 'Sex', 'Age']]
y = titanic_df['Survived']# x['Age'].fillna(x['Age'].mean(), inplace=True)
x['Age'] = x['Age'].fillna(x['Age'].mean())
x.info()print(len(x), len(y))
# titanic_df.info()x = pd.get_dummies(x)
x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.2, random_state=22)estimator = DecisionTreeClassifier()
estimator.fit(x_train, y_train)y_predict = estimator.predict(x_test)print('预测结果为:\n', y_predict)
print('准确率: \n', estimator.score(x_test, y_test))
print(f'分类评估报告: \n {classification_report(y_test, y_predict, target_names=["Died", "Survivor"])}')
plt.figure(figsize=(70, 45))
plot_tree(estimator, filled=True, max_depth=10)
plt.savefig("./data/titanic_tree.png")
# 7.3 具体的绘制.
plt.show()

运行结果
在这里插入图片描述

在这里插入图片描述

线性回归和决策树回归对比案例

"""
案例:演示线性回归 和 回归决策树对比.结论:回归类问题, 既能用线性回归, 也能用决策树回归. 优先使用 线性回归, 因为 决策树回归可能会导致 过拟合.
"""# 导包.
import numpy as np
import pandas as pd
from sklearn.tree import DecisionTreeRegressor      # 回归决策树
from sklearn.linear_model import LinearRegression   # 线性回归
import matplotlib.pyplot as plt                     # 绘图# 1. 获取数据.
x = np.array(list(range(1,11))).reshape(-1, 1)
y = np.array([5.56, 5.70, 5.91, 6.40, 6.80, 7.05, 8.90, 8.70, 9.00, 9.05])
print(x)
print(y)# 2. 创建线性回归 和 决策树回归模型.
estimator1 = LinearRegression()                    # 线性回归
estimator2 = DecisionTreeRegressor(max_depth=1)    # 回归决策树, 层数=1
estimator3 = DecisionTreeRegressor(max_depth=3)    # 回归决策树, 层数=3# 3. 训练模型.
estimator1.fit(x, y)
estimator2.fit(x, y)
estimator3.fit(x, y)# 4. 准备测试数据, 用于测试.
# 起始, 结束, 步长.
x_test = np.arange(0.0, 10.0, 0.1).reshape(-1, 1)
print(x_test)# 5. 模型预测.
y_predict1 = estimator1.predict(x_test)
y_predict2 = estimator2.predict(x_test)
y_predict3 = estimator3.predict(x_test)# 6. 绘图
plt.figure(figsize=(10, 5))# 散点图(原始的坐标)
plt.scatter(x, y, color='gray', label='data')
# 线性回归的预测结果
plt.plot(x_test, y_predict1, color='r', label='liner regression')
# 回归决策树, 层数=1
plt.plot(x_test, y_predict2, color='b', label='max depth=1')
# 回归决策树, 层数=3
plt.plot(x_test, y_predict3, color='g', label='max depth=3')
# 显示图例.
plt.legend()
# 设置x轴标签.
plt.xlabel('data')
# 设置y轴标签.
plt.ylabel('target')
# 设置标题
plt.title('Decision Tree Regression')# 显示图片
plt.show()

运行结果
在这里插入图片描述
坚持分享 共同进步

相关文章:

人工智能知识分享第八天-机器学习_泰坦尼克生存预估线性回归和决策树回归对比案例

泰坦尼克生存预估案例 import pandas as pd from sklearn.model_selection import train_test_split from sklearn.tree import DecisionTreeClassifier from sklearn.metrics import classification_report import matplotlib.pyplot as plt from sklearn.tree import plot_t…...

html中下拉选框的基本实现方式及JavaScript动态修改选项内容情况总结

最近项目中使用到了下拉选项以及通过js判断动态改变选项值的相关操作,查询了一些相关内容,在此记录一下,以免后续再碰到布置如何书写。 一、html中下拉选框的基本方式 在 HTML 中,创建下拉选择框(也叫选择菜单&#…...

sql server期末复习

表操作 创建create 删除drop 修改alter 数据操作 查询 select from <tableName> 插入 insert into <tableName> values 修改 update <tableName> set 删除 delete from <tableName> 授权与收回对数据的操作权限 授予 grant <权…...

LabVIEW语言学习过程是什么?

学习LabVIEW语言的过程可以分为几个阶段&#xff0c;每个阶段的重点内容逐步加深&#xff0c;帮助你从入门到精通。以下是一个简洁的学习过程&#xff1a; ​ 1. 基础入门阶段 理解图形化编程&#xff1a;LabVIEW是一种图形化编程语言&#xff0c;与传统的文本编程语言不同&am…...

小程序租赁系统开发的优势与应用前景分析

内容概要 小程序租赁系统是一种新兴的数字化解决方案&#xff0c;旨在为用户提供更加便捷与高效的租赁服务。它通常包括一系列功能&#xff0c;如在线浏览、即时预定、支付功能以及用户反馈机制。这些系统在使用上极为友好&#xff0c;让用户能够轻松选择所需的商品或服务&…...

『SQLite』安装与基本命令语法

SQLite安装 Windows&#xff1a; 访问 SQLite 的安装网页&#xff1a;https://www.sqlite.org/download.html.向下滚动页面到“Precompiled Binaries for Windows”部分。下载适用于你的系统架构&#xff08;32-bit 或 64-bit&#xff09;的预编译二进制文件。将下载的 ZIP 文…...

Unity-Mirror网络框架-从入门到精通之Benchmark示例

文章目录 前言什么是Benchmark&#xff1f;Benchmark 简要说明Benchmark示例BenchmarkNetworkManagerMonsterMovementPlayerMovementInterestManagement性能指标 BenchmarkIdle示例BenchmarkPrediction示例BenchmarkStinkySteak示例 前言 在现代游戏开发中&#xff0c;网络功能…...

毕业项目推荐:基于yolov8/yolov5的行人检测识别系统(python+卷积神经网络)

文章目录 概要一、整体资源介绍技术要点功能展示&#xff1a;功能1 支持单张图片识别功能2 支持遍历文件夹识别功能3 支持识别视频文件功能4 支持摄像头识别功能5 支持结果文件导出&#xff08;xls格式&#xff09;功能6 支持切换检测到的目标查看 二、数据集三、算法介绍1. YO…...

今日头条ip属地根据什么显示?不准确怎么办

在今日头条这样的社交媒体平台上&#xff0c;用户的IP属地信息对于维护网络环境的健康与秩序至关重要。然而&#xff0c;不少用户发现自己的IP属地显示与实际位置不符&#xff0c;这引发了广泛的关注和讨论。本文将深入探讨今日头条IP属地的显示依据&#xff0c;并提供解决IP属…...

FPGA设计-如何使用后端工具

目录 简介 布线布局 设计前期 布局布线策略 兼谈如何做第一次布局布线 正确看待map之后的资源占用报告 简介 本章节主要说明Xilinx的一些后端工具能为我们做什么在什么情况下我们考虑使用这些工具至于这些工具具体如何使用可以看Xilinx提供的相关文件 可从www.xilinx.com…...

苍穹外卖04——Redis初入门 在店铺打烊or营业状态管理功能中的使用

Redis入门 redis简介 它以键值对的形式存储数据在内存中,并且以极高的性能和灵活性而著称,通常用于缓存、消息代理以及持久化数据。 - 基于内存存储,读写性能高- 适合存储热点数据(热点商品、资讯、新闻)- 企业应用广泛Windows版下载地址:https://github.com/microsoft…...

【MySQL关于数据库和表结构的增删查改】

数据库和表结构的基本语法 数据库命令关于字符集语法 表操作语法创建表查看表结构修改表修改表名增加字段同时修改字段名和字段数据类型仅修改字段数据类型删除字段 删除表 备份和恢复备份恢复 mysql -h 127.0.0.1 -P 3306 -u root -p mysql -u root -h 和 -p 默认 进入MySQL程…...

JVM实战—11.OOM的原因和模拟以及案例

大纲 1.线上系统突然由于OOM内存溢出挂掉 2.什么是内存溢出及哪些区域会发生内存溢出 3.Metaspace如何因类太多而发生内存溢出 4.无限制调用方法如何让线程的栈内存溢出 5.对象太多导致堆内存实在放不下而内存溢出 6.模拟JVM Metaspace内存溢出的场景(动态生成268个类占1…...

LLM - 使用 LLaMA-Factory 部署大模型 HTTP 多模态服务 教程 (4)

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/144881432 大模型的 HTTP 服务,通过网络接口,提供 AI 模型功能的服务,允许通过发送 HTTP 请求,交互大模型,通常基于云计算架构,无需在本地部署复杂的模型和硬件,…...

Clickhouse集群部署(3分片1副本)

Clickhouse集群部署 3台Linux服务器&#xff0c;搭建Clickhouse集群3分片1副本模式 1、安装Java、Clickhouse、Zookeeper dpkg -i clickhouse-client_23.2.6.34_amd64.deb dpkg -i clickhouse-common-static_23.2.6.34_amd64.deb dpkg -i clickhouse-server_23.2.6.34_amd64…...

刷服务器固件

猫眼淘票票 大麦 一 H3C通用IP 注:算力服务器不需要存储 二 刷服务器固件 1 登录固定IP地址 2 升级BMC版本 注 虽然IP不一致但是步骤是一致的 3 此时服务器会出现断网现象&#xff0c;若不断网等上三分钟ping一下 4 重新登录 5 断电拔电源线重新登录查看是否登录成功...

数据结构C语言描述9(图文结合)--二叉树和特殊书的概念,二叉树“最傻瓜式创建”与前中后序的“递归”与“非递归遍历”

前言 这个专栏将会用纯C实现常用的数据结构和简单的算法&#xff1b;有C基础即可跟着学习&#xff0c;代码均可运行&#xff1b;准备考研的也可跟着写&#xff0c;个人感觉&#xff0c;如果时间充裕&#xff0c;手写一遍比看书、刷题管用很多&#xff0c;这也是本人采用纯C语言…...

CSS——2.书写格式一

<!DOCTYPE html> <html><head><meta charset"UTF-8"><title></title></head><body><!--css书写中&#xff1a;--><!--1.css 由属性名:属性值构成--><!--style"color: red;font-size: 20px;&quo…...

Elasticsearch 创建索引 Mapping映射属性 索引库操作 增删改查

Mapping Type映射属性 mapping是对索引库中文档的约束&#xff0c;有以下类型。 text&#xff1a;用于分析和全文搜索&#xff0c;通常适用于长文本字段。keyword&#xff1a;用于精确匹配&#xff0c;不会进行分析&#xff0c;适用于标签、ID 等精确匹配场景。integer、long…...

【NLP高频面题 - 分布式训练篇】ZeRO主要为了解决什么问题?

【NLP高频面题 - 分布式训练篇】ZeRO主要为了解决什么问题&#xff1f; 重要性&#xff1a;★★ 零冗余优化器技术由 DeepSpeed 代码库提出&#xff0c;主要用于解决数据并行中的模型冗余问题&#xff0c;即每张 GPU 均需要复制一份模型参数。 ZeRO的全称是Zero Redundancy …...

开源无人机身份识别解决方案:ArduRemoteID完全指南

开源无人机身份识别解决方案&#xff1a;ArduRemoteID完全指南 【免费下载链接】ArduRemoteID RemoteID support using OpenDroneID 项目地址: https://gitcode.com/gh_mirrors/ar/ArduRemoteID 在无人机监管日益严格的今天&#xff0c;FAA RemoteID合规性已成为全球无人…...

用Matplotlib绘制完美的圆形图表

在数据可视化的领域中,Matplotlib是一个强大的工具,它能够帮助我们生成各种复杂的图表。今天,我们将探讨如何使用Matplotlib来绘制一个完美的圆形图表,并通过实际的例子来展示如何解决常见的绘图问题。 问题描述 假设我们有一组数据,表示一个近似圆形的形状,但当我们用…...

跨平台网络资源嗅探工具:Res-downloader的技术原理与实践指南

跨平台网络资源嗅探工具&#xff1a;Res-downloader的技术原理与实践指南 【免费下载链接】res-downloader 视频号、小程序、抖音、快手、小红书、直播流、m3u8、酷狗、QQ音乐等常见网络资源下载! 项目地址: https://gitcode.com/GitHub_Trending/re/res-downloader Res…...

从零开始:用HSPICE仿真CMOS反相器的动态特性与时延(附完整代码)

从零开始&#xff1a;用HSPICE仿真CMOS反相器的动态特性与时延&#xff08;附完整代码&#xff09; 在VLSI设计领域&#xff0c;CMOS反相器作为最基本的逻辑单元&#xff0c;其性能直接影响整个芯片的工作速度与功耗。理论分析固然重要&#xff0c;但只有通过实际仿真验证&…...

用DOTween的Sequence和回调函数,轻松搞定Unity中复杂的多步骤动画流程

用DOTween的Sequence和回调函数构建游戏动画逻辑链 在游戏开发中&#xff0c;动画不仅仅是视觉装饰&#xff0c;更是游戏逻辑的重要载体。想象一个典型场景&#xff1a;玩家角色拾取钥匙触发门锁解除动画&#xff0c;随后镜头聚焦到缓缓开启的门户&#xff0c;最后播放胜利特效…...

Windows 11任务栏拖放功能修复终极指南:如何让消失的拖放功能重回桌面

Windows 11任务栏拖放功能修复终极指南&#xff1a;如何让消失的拖放功能重回桌面 【免费下载链接】Windows11DragAndDropToTaskbarFix "Windows 11 Drag & Drop to the Taskbar (Fix)" fixes the missing "Drag & Drop to the Taskbar" support i…...

RV1106开发板实战:手把手教你编译FFmpeg 3.4.8并集成到LVGL 9.2.3播放视频

RV1106开发板实战&#xff1a;从零构建FFmpeg 3.4.8与LVGL 9.2.3视频播放系统 在嵌入式设备上实现流畅的视频播放一直是开发者面临的挑战之一。RV1106作为一款高性能的嵌入式处理器&#xff0c;结合FFmpeg强大的多媒体处理能力和LVGL轻量级图形库的优雅界面&#xff0c;能够打造…...

从理论到实践:软件体系结构核心概念与敏捷开发融合指南

1. 软件体系结构的核心骨架 第一次接触软件架构时&#xff0c;我盯着满屏的UML图发懵——这些方框和箭头到底想表达什么&#xff1f;直到参与实际项目后才明白&#xff0c;架构本质上就是系统的骨架设计。就像建造房屋需要先画结构图&#xff0c;软件架构决定了系统由哪些"…...

day24-数据结构力扣

122.买卖股票的最佳时机II 题目链接122. 买卖股票的最佳时机 II - 力扣&#xff08;LeetCode&#xff09; 思路 这个题感觉和之前一个题有点像&#xff0c;就是摆动序列&#xff0c;但是又有点不太一样 本题的核心规则&#xff1a; 可以无限次买卖 任何时候最多持有 1 股…...

如何用genshin-wish-export快速导出原神抽卡记录:完整免费指南

如何用genshin-wish-export快速导出原神抽卡记录&#xff1a;完整免费指南 【免费下载链接】genshin-wish-export Easily export the Genshin Impact wish record. 项目地址: https://gitcode.com/GitHub_Trending/ge/genshin-wish-export 你是否曾为原神抽卡记录无法导…...