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

2.2.5

import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeRegressor
import pickle
from sklearn.metrics import mean_squared_error, mean_absolute_error, r2_score

# 加载数据集

df = pd.read_csv('fitness analysis.csv')

# 显示前五行数据

print(df.head()

# 选择相关特征进行建模

X = df[['Your gender ', 'How important is exercise to you ?', 'How healthy do you consider yourself?']]
X = pd.get_dummies(X)  # 将分类变量转为数值变量

# 设为目标变量

y = df['daily_steps']  # 替换为实际的目标变量名称

# 将数据集划分为训练集和测试集

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# 创建并训练决策树回归模型

dt_model = DecisionTreeRegressor(random_state=42)

dt_model.fit(X_train, y_train)

# 保存训练好的模型

with open('2.2.5_model.pkl', 'wb') as model_file:
    pickle.dump(dt_model, model_file)

# 进行预测

y_pred = dt_model.predict(X_test)

# 将结果保存到文本文件中

results = pd.DataFrame({'实际值': y_test, '预测值': y_pred})
results_filename = '2.2.5_results.txt'
results.to_csv(results_filename, index=False, sep='\t')  

# 将测试结果保存到报告文件中

report_filename = '2.2.5_report.txt'

with open(report_filename, 'w') as f:
    f.write(f'均方误差: {mean_squared_error(y_test, y_pred)}\n')
    f.write(f'平均绝对误差: { mean_absolute_error(y_test, y_pred)}\n')
    f.write(f'决定系数: { r2_score(y_test, y_pred)}\n')

代码解释:

open打开,report_filename文件,w写。

import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeRegressor
import pickle
from sklearn.metrics import mean_squared_error, mean_absolute_error, r2_score# 加载数据集
df = pd.read_csv('fitness analysis.csv')# 显示前五行数据
print(df.head())# 选择相关特征进行建模
X = df[['Your gender ', 'How important is exercise to you ?', 'How healthy do you consider yourself?']]
X = pd.get_dummies(X)  # 将分类变量转为数值变量# 设为目标变量
y = df['daily_steps']  # 替换为实际的目标变量名称# 将数据集划分为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)# 创建并训练决策树回归模型
dt_model = DecisionTreeRegressor(random_state=42)
dt_model.fit(X_train, y_train)# 保存训练好的模型
with open('2.2.5_model.pkl', 'wb') as model_file:pickle.dump(dt_model, model_file)# 进行预测
y_pred = dt_model.predict(X_test)# 将结果保存到文本文件中
results = pd.DataFrame({'实际值': y_test, '预测值': y_pred})
results_filename = '2.2.5_results.txt'
results.to_csv(results_filename, index=False, sep='\t')  # 将测试结果保存到报告文件中
report_filename = '2.2.5_report.txt'
with open(report_filename, 'w') as f:f.write(f'均方误差: {mean_squared_error(y_test, y_pred)}\n')f.write(f'平均绝对误差: { mean_absolute_error(y_test, y_pred)}\n')f.write(f'决定系数: { r2_score(y_test, y_pred)}\n')

http://www.xdnf.cn/news/520219.html

相关文章:

  • 进程间通信--信号量【Linux操作系统】
  • leetcode解题思路分析(一百六十四)1418 - 1424 题
  • [论文品鉴] DeepSeek V3 最新论文 之 MHA、MQA、GQA、MLA
  • 进程状态并详解S和D状态
  • C++学习:六个月从基础到就业——C++17:结构化绑定
  • 什么是dom?作用是什么
  • 产品周围的几面墙
  • C++高级用法--绑定器和函数对象
  • 垂直智能体:企业AI落地的正确打开方式
  • [人月神话_6] 另外一面 | 一页流程图 | 没有银弹
  • 三:操作系统线程管理之用户级线程与内核级线程
  • 大模型应用开发工程师
  • 从逻辑学视角探析证据学的理论框架与应用体系;《证据学》大纲参考
  • Java学习手册:服务熔断与降级
  • 朴素贝叶斯
  • 做什么, what to do?
  • 面试题总结二
  • atcoder C - ~
  • EmuEdit
  • 网页 H5 微应用接入钉钉自动登录
  • python29
  • 【从基础到模型网络】深度学习-语义分割-ROI
  • C++ - 网络编程之初始连接(Winsock2 概述、初始连接案例、初始连接案例解读)
  • 封装、继承、多态的理解
  • Java面试实战:从Spring Boot到分布式缓存的深度探索
  • 程序代码篇---python获取http界面上按钮或者数据输入
  • 批量下载AlphaFold结构
  • leetcode刷题日记——翻转二叉树
  • 第11章 JDBC与MySQL数据库
  • UI架构的历史与基础入门