Python全系列 教程
3567个小节阅读:5930.9k
目录
鸿蒙应用开发
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
xxxxxxxxxx
11pip install scikit-learn==1.3.1
xxxxxxxxxx
401# 引入必要的功能模块
2# 拆分数据集
3from sklearn.model_selection import train_test_split
4# 引入建立模型的算法 - 梯度提升回归树
5from sklearn.ensemble import GradientBoostingRegressor
6# 引入测试模型的算法
7from sklearn.metrics import mean_squared_error,mean_absolute_error,r2_score
8
9# 准备数据
10# 获取特征数据
11x = rs_df.iloc[:,1:].values
12# 获取标签数据(价格)
13y = rs_df['price']
14
15# 拆分数据
16# x特征 y标签 test_size测试集的比例 random_state随机种子
17# random_state随机种子 作用是保证每次拆分的数据都是一样的
18x_train,x_test,y_train,y_test = train_test_split(x,y,test_size=0.3,random_state=666)
19
20# 建立模型
21# n_estimators 参数指定了梯度提升回归算法中要使用的基本决策树的数量
22# 增加 n_estimators 的值通常会提高模型性能,
23# 因为模型会变得更加复杂,可以拟合更多的数据特点。
24# 但增加太多的树可能导致过拟合
25gbdt = GradientBoostingRegressor(n_estimators=70)
26# 训练模型
27gbdt.fit(x_train,y_train)
28# 预测数据
29pred = gbdt.predict(x_test)
30
31# 评估模型
32# 均方误差 值越小越好,表示模型的预测与真实值更接近。
33print('MSE',mean_squared_error(y_test,pred))
34# 平均绝对误差 值越小越好,表示模型的平均预测误差更小
35print('MAE',mean_absolute_error(y_test,pred))
36# 均方 根误差 值越小越好,表示模型的预测误差更接近真实值。
37import numpy as np
38print('RMSE',np.sqrt(mean_squared_error(y_test,pred)))
39# R2决定系数 值越大越好 0-1 0表示模型不好 1表示模型完美
40print('R2',r2_score(y_test,pred))