Python使用训练数据拟合模型

# 假设“满意度”是因变量,其他的是自变量

# 提取自变量(特征)和因变量(目标)

X = df_filtered_cleaned[['Bonus', 'Enhancement', 'Time_in_seconds']]

y = df_filtered_cleaned['Satisfaction']

# 分割为训练集和测试集。

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

print(X_train) + '-' + (X_test)

class MultivariateLinearRegression:

    def __init__(self):

        self.coefficients = None

        self.intercept = None

    def fit(self, X, y):

        """

        使用普通最小二乘法的闭式解来拟合模型。

        X:形状为(n_samples,n_features)的numpy数组

        y:形状为(n_samples,)的numpy数组        """

        # 在输入特征中添加偏置列

        X_b = np.c_[np.ones((X.shape[0], 1)), X]

        # 使用正规方程计算最佳参数

        theta_best = np.linalg.inv(X_b.T.dot(X_b)).dot(X_b.T).dot(y)

        self.intercept = theta_best[0]

        self.coefficients = theta_best[1:]

    def predict(self, X):

        """

        使用训练好的模型进行预测。

        X: numpy数组的形状(n_samples, n_features)

        """

        # 在输入特征中添加偏置列

        X_b = np.c_[np.ones((X.shape[0], 1)), X]

        # 计算预测

        return X_b.dot(np.r_[self.intercept, self.coefficients])

# 初始化线性回归模型

model_custom = MultivariateLinearRegression()

# 使用训练数据拟合模型

model_custom.fit(X_train, y_train)

# 预测测试集的满意度分数

y_pred_custom = model_custom.predict(X_test)

# 计算预测结果的均方误差(MSE)

mse_custom = mean_squared_error(y_test, y_pred_custom)

# 输出模型的系数和均方误差

coefficients_custom = model_custom.coefficients

intercept_custom = model_custom.intercept

# 格式化模型的方程式

model_equation = f"Satisfaction = {intercept_custom:.4f}"

for i, coef in enumerate(coefficients_custom):

    model_equation += f" + ({coef:.4f}) * X{i+1}"

print( mse_custom)

# 由于我们处理的是多个特征,无法绘制一条单独的线。

# 然而,我们可以绘制真实值与预测值之间的图表来观察模型性能。

# 对整个数据集进行满意度评分预测,并将其与真实值进行比较。

y_pred_entire_dataset = model_custom.predict(X)

print(y_pred_entire_dataset)

plt.figure(figsize=(10, 6))

plt.scatter(y, y_pred_entire_dataset, alpha=0.5)

plt.plot([min(y), max(y)], [min(y), max(y)], 'r--')

plt.title('True vs Predicted Satisfaction')

plt.xlabel('True Values')

plt.ylabel('Predicted Values')

plt.show()

plt.savefig('test5.jpg')

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

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

相关文章

php连接excel表格数据类型,TP5 中使用PHPExcel 导出导入数据到excel表格

将下载好的PHPExcel文件夹放置在框架中的Vendor目录下,注意目录的结构,按照我的代码来基本上直接引用就能使用,如下图:导出数据代码如下//导出数据表 开始public function product(){$listdb(product)->select();vendor("…

PPTV网络电视如何修复浏览器支持异常

这篇文章主要说的是PPTV网络电视如何修复66760支持异常,希望可以帮助大家。pptv播放器是一款专注视频播放的客户端软件,免费下载安装,观看高清正版影视,可在线享受pptv播放器网站内全部免费高清正版视频,是最个性化、时…

oracle导致的负载高,Oracle 11g 数据库服务器CPU、IO负载高的故障排除流程

使用top查看负载高的进程~ [OSMSRDB]$ toptop - 11:02:43 up 12 days, 17:15, 4 users, load average: 1.50, 0.93, 0.36Tasks: 363 total, 1 running, 362 sleeping, 0 stopped, 0 zombieCpu(s): 1.2%us, 0.3%sy, 0.0%ni, 68.4%id,30.1%wa, 0.0%hi, 0.0%si, 0.0…

母狼高斯普和狐狸

《母狼高斯普和狐狸》母狼生了一只小狼,于是请来狐狸当教父。她说:“总之,狐狸是我们的近亲,见多识广而且头脑聪明;它能教好我儿子,帮他在世界上生存。” 狐狸装得很诚实地说:“亲爱的高司普太太&#xff…

oracle在线中文文档,Oracle TopLink

12.4.4. 事务管理将事务管理纳入到Service操作的执行中,你可以使用Spring通用的声明式的事务管理功能,参加下面的例子:xmlns"http://www.springframework.org/schema/beans"xmlns:xsi"http://www.w3.org/2001/XMLSchema-insta…

优酷视频什么是登录保护?

登陆维护是对于移动终端(包括iphone、android、ipad等手机端)的账户维护作用。 打开了登陆维护以后,在一个新的机器设备上开展登陆(包含账户密码登陆、第三方授权登录等方法)时,必须根据验证码短信开展身份认证,验证通过后才可以登录成功&am…

PP视频怎么关闭PP视频虚拟键盘显示

今天小编给广大用户分享PP视频怎么关闭PP视频虚拟键盘显示。此外,在PP视频视频播放器上观看更流畅,画质更清晰,拒绝卡慢钝,而且还有许多自制独播综艺,让你看到停不下来!PP视频视频播放器是PP视频官方推出的一款网络视频…

清理linux 服务器的命令行,使用Linux上的Magic SysRq键修复冻结的X服务器,清理重新启动并运行其他低级命令 | MOS86...

在Linux中,魔术SysRq键可以直接发送命令到Linux内核。您可以使用它来恢复冻结或干净地重新启动系统,即使没有任何反应。魔术SysRq键是作为Linux键盘驱动程序的一部分实现的 - 只要Linux内核仍在运行,它将会工作。只有内核崩溃才能禁用此组合键…

利用火狐浏览器Firebug查看网页相关属性

核心提示:Firebug从各个不同的角度剖析Web页面内部的细节层面,给Web开发者带来很大的便利。 Firebug从各个不同的角度剖析Web页面内部的细节层面,给Web开发者带来很大的便利。 我们先看看在火狐浏览器在没安装Firebug组件前的界面。 利用火…

linux 命令 kps,Linux顶级命令.内存使用情况

我用Jmeter测试我的Web服务器.我启动40个用户测试,然后dump top命令.我所看到的是40(1个主机)apache进程.每个流程都使用appr. 7毫秒的RES内存.但7 * 40是280 MB的内存.但顶部显示总共有508mb和345mb免费.所以只用了163mb ……为什么我有这么奇怪的东西?top - 04:49…

河马先生钓鱼

河马先生钓鱼 今天是周末,河马先生一早就起来,在树下挖东西。 河马先生的邻居小鸟问:河马先生,一大早,你在挖什么? 河马先生说:“我今天去钓鱼,挖点蚯蚓钓鱼用。” 河马先生来到河边&#x…

linux 环境变量详解,linux环境变量实例详解

1.环境变量简单理解了变量的概念,就很容易理解环境变量了。环境变量的作用域比自定义变量的要大,如 Shell 的环境变量作用于自身和它的子进程。在所有的 UNIX 和类 UNIX 系统中,每个进程都有其各自的环境变量设置,且默认情况下&am…

亲爱的稻草人

亲爱的稻草人:连绵的山脚下,有一片绿油油的稻田,风儿吹过,吹起层层稻浪,也吹得稻田里的稻草人微微晃动。 稻草人是妍颖的妈妈新做的,看得出妈妈手很巧。你看稻草人的头上扎着一条红艳艳的方巾,…

乌鸦

乌鸦;从前有一位王后,她有一个还在怀里抱着的小女儿。小姑娘总是调皮不老实,妈妈只能顺着她的性子劝她,可是小姑娘就是不听话。后来,妈妈不耐烦了,正好看见一群乌鸦在皇宫四周飞翔,她就打开窗户…

linux时间子系统之,linux时间子系统(四)

2.3 系统调用timekeeper提供一系列的系统调用,使得用户空间可以获取想要的时间。下面简单的介绍一下clock_gettime系统调用SYSCALL_DEFINE2(clock_gettime, const clockid_t, which_clock,struct timespec __user *,tp){struct k_clock *kc clockid_to_kclock(whic…

腾讯视频上传视频如何同步到企鹅号

企鹅号是腾讯的一个非常棒的产品,让一大批自媒体人赚了钱,我们都知道腾讯视频和企鹅号是互通的,腾讯视频中的视频也可以同步到企鹅号中。所以今天播放器家园网小编教大家如何将视频进行同步。 腾讯视频上传视频如何同步到企鹅号   1、我们首…

linux认令牌操作错误,验证令牌操作错误

问题描述我忘了我的Ubuntu密码,因此我启动进入恢复过程并进入root shell提示符,这就是发生了什么事:rootusername-PC:~# passwd usernameEnter new UNIX password:Retype new UNIX password:passwd: Authentication token manipulation error…

怎么将手机QQ浏览器里面的文章分享给QQ好友

qq浏览器是一个大家都会使用到的搜索软件,用户可以使用手机在这里掌握非常便捷的搜索服务,用户可以打开自己的手机在这里搜索自己想要的文章内容,可以将这些内容分享给朋友,让朋友一起来学习文章内容,那么用户在使用这…

风姐姐,对不起

风姐姐,对不起:一棵木棉树,生长在小山岗上。春风一吹,木棉花就开了,红彤彤的花朵缀满枝头,远看像一片彩云,又像一团火焰,吸引了无数崇敬的目光。每天,彩蝶飞到她身边翩翩…

linux bash 历史记录,Linux Bash History 命令历史记录

此处网址,有详细介绍标准状况下, bash命令历史记录的传统修改方式。linux下面文章,介绍了更符合实际须要的处理方法:git1. 在/etc/bashrc文件末尾内添加内容:不一样版本Linux,该文件名不一样,视…