python数据分析-笔记本内存和价格预测分析

一、背景和研究意义

计算机已成为现代社会不可或缺的工具,广泛应用于个人生活、学术研究和商业领域。随着科学技术的飞速发展,计算机不仅在性能上不断突破,在种类和品牌上也呈现出多样化和差异化。无论是办公、娱乐、学习还是创作,人们都离不开电脑的帮助。然而,随着电脑市场的不断扩大和竞争的加剧,消费者在面对琳琅满目的产品时,往往需要综合考虑性能、品牌和价格等因素才能做出购买决策。价格作为购买决策中最关键的因素之一,对消费者来说尤为重要。

二、数据选择

该数据集包含数千台笔记本电脑的信息,涵盖各种品牌、型号和配置。其中包括入门级和高端笔记本电脑,满足了不同用户的需求和偏好。数据集中的每个笔记本电脑条目都提供了大量属性,如处理器详细信息、内存容量、存储空间大小、显示屏特性、图形处理能力、电池寿命、操作系统等。利用该数据集,用户可以进行探索性数据分析,发现不同笔记本电脑规格之间的有趣趋势、模式和相关性。

数据集和代码

代码和完整报告​​​​​​​

三、数据描述

接下来查看缺失数据 

从上述结果可以看出,数据相对完整,没有缺失值。接下来,对数据的数字类型特征进行描述性统计分析:

df[num_cols].describe().T

每台笔记本电脑具有以下特征:

内存:平均内存大小约为 8.45 GB,标准差约为 5.10 GB,最小为 2 GB,最大为 64 GB。平均重量约为 2.04 kg,标准差约为 0.67 kg,最小为 0.69 kg,最大为 4.7 kg。价格平均约为 10.83,标准差约为 0.62,最小约为 9.13,最大约为 12.69。触摸屏:约 14.7%的笔记本电脑具有触摸屏功能。就触摸屏功能而言,约 14.7% 的笔记本电脑具有触摸屏功能。。。。

四、数据预处理

接下来查看数据集类型:

df[cat_cols].info()

可以看到,数据类型主要包括数字类型和字符串。

接下来移除数据集中的特征单位:

五、数据分析和结果讨论

plt.subplots(nrows=2,ncols=2,figsize = (25,12))
plt.subplot(2,2,1)
ax = sns.histplot(data=df[num_cols]['Price'],kde=True,color='g')
for i in ax.containers:ax.bar_label(i)
plt.title('Price Distribution')
plt.subplot(2,2,2)
ax = sns.histplot(data=df[num_cols]['Ppi'],kde=True,color='y')
for i in ax.containers:ax.bar_label(i)
plt.subplot(2,2,3)
sns.histplot(data=df[num_cols]['Ram'],kde=True)
plt.subplot(2,2,4)
ax = sns.histplot(data=df[num_cols]['Weight'],kde=True,color='b')
for i in ax.containers:ax.bar_label(i)

从图中可以看出,在价格分布方面,整体呈现正态分布,其中价格最高的为 11,从ppi 的分布也可以看出,分布较为分散,其中频率最高的为 145

plt.subplots(nrows=1,ncols=2,figsize = (20,7))plt.subplot(1,2,1)
ax = sns.histplot(data=df,x=df['Price'],color='g',hue='Company',kde=True)
plt.title('campanies')
plt.xticks(rotation = 'vertical')plt.subplot(1,2,2)
sns.histplot(data=df,x=df['Price'],kde=True,hue=df['TypeName'])
plt.title('TypeName',)
plt.xticks(rotation = 'vertical')print(f'{df["Company"].value_counts().head(1)}') 
print('')
print(f'{df["TypeName"].value_counts().head(1)}') 
print('')

从图中我们可以清晰地看到,左边展示的是电脑公司品牌的分布情况。通过柱状图的呈现,我们可以明显地观察到宏碁和联想这两个品牌的分布较为广泛。这意味着在市场中,宏碁和联想的产品较为常见,受到了较多消费者的青睐。。。。

 该图清晰地呈现了系统在各类电脑上的分布状况。通过仔细观察,可以发现 Windows 系统的分布最为广泛,其总数超过了 1000 个。这表明 Windows 系统在电脑市场中占据着主导地位,被广泛应用于各种类型的电脑设备中。紧随其后的是其他系统,它们在电脑上的分布也较为可观。

通过对图中不同公司价格分布的仔细观察和分析,我们可以发现这些公司之间的价格差距实际上并不是特别明显。其中,Razer 公司的价格分布呈现出相对较高的水平,达到了 11.94。这表明 Razer 公司的产品在市场上可能被定位为高端或具有特定竞争优势的品牌。。。。

从图表中可以清晰地看出,戴尔、联想和惠普这三家公司的分布范围最为广泛。它们在市场上的占有率相对较高,产品覆盖面较广

接下来,让我们一起看看数值数据的相关系数热图。

plt.figure(figsize=(15,6))
sns.heatmap(data=df[num_cols].corr(),annot=True)

 从热图中我们可以清晰地看到,拉姆与 Ppi 以及怀特的相关系数均达到了 0.3。这意味着它们之间存在着一定程度的正相关关系。同时,价格预测 Ppi 的相关系数为 0.48,这表明 Ppi 对价格预测具有一定的影响力。。。

接下来是机器学习

对非数字数据进行唯一热编码,然后按 8:2 的比例分成训练集和测试集

from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error# 划分特征和目标变量
X = df_encoded
y = df['Price']# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 训练线性回归模型
model = LinearRegression()
model.fit(X_train, y_train)# 预测
y_pred = model.predict(X_test)# 评估模型
mse = mean_squared_error(y_test, y_pred)
print("均方误差 (MSE):", mse)# 训练随机森林回归模型
rf_model = RandomForestRegressor(n_estimators=100, random_state=42)
rf_model.fit(X_train, y_train)# 预测
y_pred_rf = rf_model.predict(X_test)# 评估模型
mse_rf = mean_squared_error(y_test, y_pred_rf)
print("随机森林模型均方误差 (MSE):", mse_rf)
# 模型名称
models = ['Linear Regression', 'Random Forest', 'Support Vector Machine']# 模型均方误差值
mse_values = [0.0818452452933915, 0.04533960518967475, 0.05473241603725401]# 绘制直方图
plt.figure(figsize=(10, 6))
plt.bar(models, mse_values, color=['blue', 'green', 'red'])
plt.xlabel('Model')
plt.ylabel('Mean Squared Error (MSE)')
plt.title('Mean Squared Error of Different Models')
plt.show()

六、结论

本研究通过对笔记本电脑数据集的分析,旨在探讨笔记本电脑的内存和价格之间的关系,并利用机器学习算法进行价格预测。研究结果表明,内存和价格之间存在一定的相关性,并且通过机器学习算法可以较为准确地预测笔记本电脑的价格。。。。

参考文献

[1] Gu Xiaojun. Research on price prediction model based on improved KNN algorithm[J]. Computer Knowledge and Technology,2010,6(33):9463-9465.

[2] Feng Kepeng.Research and improvement of KNN price prediction model[J]. Software Guide,2010,9(10):84-86.

创作不易,希望大家多点赞关注评论!!!

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

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

相关文章

【C++】类和对象(二)this指针

书接上回:【C】类和对象(一) 文章目录 九、this指针this指针的指出this指针的特性面试题:question:this指针存在内存中的哪个区域:question:this指针可以为空吗 十、C语言和C实现Stack的对比C语言C 九、this指针 this指针的指出 我们先来看…

解决uview2中u--input输入框禁用状态下click事件不生效

需求:想要点击输入框,展示下拉内容 之前使用uview1是可以直接在input上添加click事件(禁用和只读情况下都不影响) 但是在uview2上直接写click不生效 解决方式:直接在写click.native"xxx" 代码部分&#x…

linux驱动学习(十一)之看门狗

需要板子一起学习的可以这里购买(含资料):点击跳转 一、看门狗定时器功能 1、产生复位信号:当系统受到由于噪声或者干扰而造成系统死机,看门狗产生一个复位信号。 2、普通定时器:16bits定时器&#xff0c…

人工智能和机器学习的区别

目录 一、介绍人工智能 二、介绍机器学习 三、人工智能和机器学习的区别和联系? 一、介绍人工智能 先来说下人工智能,人工智能(Artificial Intelligence),英文缩写为AI,通俗来讲就是用机器去做在过去只有…

C++ bfS

岛屿的最大面积 . - 力扣(LeetCode) 1.刚开始mn又加了int 2.bfs里符合条件了,不push,,,在写什么几把 class Solution { public:int dx[4] {0, 0, 1, -1};int dy[4] {1, -1, 0, 0};bool vis[50][50];int…

AIGC之MetaHuman:HeyGen(基于AI驱动的视频生成平台+数字人)的简介、安装和使用方法、案例应用之详细攻略

AIGC之MetaHuman:HeyGen(基于AI驱动的视频生成平台数字人)的简介、安装和使用方法、案例应用之详细攻略 目录 HeyGen的简介 1、HeyGen是一款AI视频生成平台,它提供以下关键功能: HeyGen的安装和使用方法 1、使用方法 01创建或选择一个头…

pdf文件怎么改变大小?在线快速压缩pdf的方法

pdf作为一种常用的文件格式,使用这种文件类型的好处在于不仅拥有更好的兼容性,还可以设置密码来保证安全性,防止未授权用户查看内容,所以现在导出文件展示都会采用这种格式的来做内容展示。当遇到pdf文件过大问题时,想…

ping: www.baidu.com: 未知的名称或服务(IP号不匹配)

我用的是VMware上的Red Hat Enterprise Linux 9,出现了能联网但ping不通外网的情况。 问题描述:设置中显示正常连接,而且虚拟机右上角有联网的图标,但不能通外网。 按照网上教程修改了/etc/resolv.conf和/etc/sysconfig/network-…

MySQL密码自动过期配置

目录 一、密码自动过期 1、临时 2、永久 3、查看 4、账号设置 一、密码自动过期 登录数据库查看是否生效 mysql -u root -p #查看数据库账号状态 select user,host,password_expired,password_lifetime,password_last_changed,account_locked from mysql.user; 1、passwo…

看了这面经,测开上岸不远了

前段时间和4位来自百度、美团、快手、滴滴的高级测开大厂学长学姐,进行了一场直播,负责解答24届春招补录&25届找实习同学的问题 当天直播时长达2个小时,对于如何找测开实习,需要怎么准备项目,简历怎么写&#xff…

GEE数据集——全球河流阻塞数据库 (GROD)1.1 版

全球河流阻塞数据库 (GROD) GROD v1.1(文件名:GROD_v1.1.csv),即全球河流阻塞数据库 1.1 版,包含 30549 个人工识别的阻碍河流纵向流动的人为结构。谷歌地球引擎卫星地图上的所有河流障碍物都已在全球陆地卫星河宽&am…

Golang 依赖注入库Wire应用案例

文章目录 简介Github指南安装案例wire.NewSetwire.Buildwire.Bindwire.Structwire.Valuewire.InterfaceValue 简介 Go语言的依赖注入库Wire是由Google提供的一个代码生成工具,用于简化和自动化依赖注入过程。Wire主要通过生成代码来处理依赖关系,而不是…

炒币千万条,安全第一条,The First提示您:警惕账户风险,守护资产安全

随着区块链技术的飞速发展和数字资产的普及,越来越多的人选择进入加密货币的世界进行投资。与此同时,黑客和诈骗分子的手段也在不断升级,给投资者的账户安全带来了严峻挑战。 近期,交易所安全事件频发,有黑客和诈骗分子…

Hadoop3:MapReduce源码解读之Map阶段的Job任务提交流程(1)

3、Job工作机制源码解读 用之前wordcount案例进行源码阅读,debug断点打在Job任务提交时 提交任务前,建立客户单连接 如下图,可以看出,只有两个客户端提供者,一个是YarnClient,一个是LocalClient。 显然&a…

DevExpress WPF中文教程:Grid - 如何向项目添加GridControl并绑定到数据

DevExpress WPF拥有120个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpress WPF能创建有着强大互动功能的XAML基础应用程序,这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。 无论是Office办公软件…

知识付费平台功能模块详解

知识付费平台作为一种新兴的在线教育模式,以其用户需求导向的设计理念和便捷高效的学习方式,受到了广泛欢迎。这类平台汇集了职业技能、生活兴趣和人文社科等多领域的专业知识,并通过视频播放、在线问答、作业批改等工具和服务,助…

零售商为什么分析用户数据?盘点六大零售业用户分析常用模型

在当今这个数据驱动的时代,零售行业正面临着前所未有的机遇与挑战。随着消费者行为的日益多样化和市场竞争的不断加剧,零售商们迫切需要有效的方法来洞察市场动态,优化运营策略,并最终实现业务的持续增长。用户数据分析&#xff0…

DOS 命令

Dos: Disk Operating System 磁盘操作系统, 简单说一下 windows 的目录结构。 ..\ 到上一级目录 常用的dos 命令: 查看当前目录是有什么内容 dir dir d:\abc2\test200切换到其他盘下:盘符号 cd : change directory 案例演示:切换…

GEO ISP图像调试-PFC(蓝紫边校正)

目录 1、简单介绍 2、调试策略 3、输出结果 1、简单介绍 GEO中中调整图像蓝紫边可分为两步,第一步:调整蓝紫边检测区域,第二步:设置去蓝紫边强度。 2、调试策略 图1 该图像蓝紫边较严重 主要原因是由于蓝紫边检测不准导致的&…

使用GPT-soVITS再4060下2小时训练声音模型以及处理断句带来的声音模糊问题

B站UP主视频 感谢UP主“白菜工厂1145号员工”的“熟肉”,我这篇笔记就不展示整一个训练和推理流程,重点写的4060该注意的一些事项。如何解决断句模糊的问题,在本篇笔记的最末尾。 相关连接: 原项目github UP主的说明文档 1、训…