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

news2024/10/6 20:33:27

一、背景和研究意义

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

二、数据选择

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

数据集和代码

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

三、数据描述

接下来查看缺失数据 

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

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.coloradmin.cn/o/1816100.html

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

相关文章

华为支持手指关节手势的原理

华为的指关节手势有指关节截屏、指关节录屏、指关节区域截屏、指关节分屏等。该技术的实现是靠触控结合了其他一些传感器实现的。 华为的专利: 一种手势控制方法、装置、终端设备和存储介质——华为技术有限公司 专利中提到以往终端设备对于手势的识别都是基于位置和…

【机器学习300问】114、什么是度量学习?三元组损失又是什么?

这些天都在加强自己的CV基本功,之前做过的人脸识别项目里有很多思考,在学习了这些基础知识后,我再次回顾了之前的人脸识别项目。我发现,很多之前困惑不解的问题现在都有了清晰的答案。 一、什么是度量学习? 度量学习也…

vue相关的2个综合案例,网页打字练习

for循环的应用 /* 1. 用for循环控制台打印0到100 */ for (var i 0; i < 100; i) {console.log(i) } /* 2. 用for循环控制台打印100到0 */ for (var i 100; i > 0; i--) {console.log(i) }网页打字练习案例练习 <template><div class"main"><…

安灯(andon)系统如何帮助工厂流水线实现精益生产

在当今竞争激烈的制造业领域&#xff0c;实现精益生产已成为众多工厂追求的目标。而安灯&#xff08;Andon&#xff09;系统在这一过程中发挥着至关重要的作用。 安灯&#xff08;Andon&#xff09;系统通过及时反馈和沟通机制&#xff0c;让生产过程中的问题能够迅速被察觉和解…

【面向就业的Linux基础】从入门到熟练,探索Linux的秘密(二)

主要内容介绍可tmux和vim的一些常用操作&#xff0c;可以当作笔记需要的时候进来查就行。 文章目录 前言 一、tmux和vim 二、Linux系统基本命令 1.tmux教程 2. vim教程 3.练习 总结 前言 主要内容介绍可tmux和vim的一些常用操作&#xff0c;可以当作笔记需要的时候进来查就行…

清远mes系统开发商 盈致科技

清远MES系统开发商盈致科技为企业提供专业的MES系统解决方案&#xff0c;帮助企业实现生产过程的数字化管理和优化。盈致科技的服务范围包括但不限于以下方面&#xff1a;MES系统定制开发&#xff1a;盈致科技可以根据清远企业的实际需求定制开发适合的MES系统&#xff0c;满足…

大神出新品,吴恩达开源机器翻译智能体项目

节前&#xff0c;我们星球组织了一场算法岗技术&面试讨论会&#xff0c;邀请了一些互联网大厂朋友、参加社招和校招面试的同学。 针对算法岗技术趋势、大模型落地项目经验分享、新手如何入门算法岗、该如何准备、面试常考点分享等热门话题进行了深入的讨论。 合集&#x…

2 程序的灵魂—算法-2.4 怎样表示一个算法-2.4.2 用流程图表示算法

流程图表示算法&#xff0c;直观形象&#xff0c;易于理解。 【例 2.6】将例 2.1 求 5!的算用流程图表示。 【例 2.7】将例 2.2 的算用流程图表示。 【例 2.8】将例 2.3 判定闰年的算用流程图表示。

双非本科一年20w,已是人中龙凤了

大家好&#xff0c;我是白露啊。 “双非本科一年20w已经是人中龙凤了”……吗&#xff1f; 牛客上刷到这条帖子&#xff0c;我一开始以为是一个钓鱼、引战贴。看完才觉得他说的很对&#xff0c;现在在求职选择工作的时候&#xff0c;网上都觉得得40万、50万&#xff0c;但当真…

SpringSecurity入门(一)

1、引入依赖 spring-boot版本2.7.3&#xff0c;如未特殊说明版本默认使用此版本 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-security</artifactId></dependency><dependency><g…

新书速览|Autodesk Inventor 2024入门与案例实战:视频教学版

《Autodesk Inventor 2024入门与案例实战&#xff1a;视频教学版》 本书内容 《Autodesk Inventor 2024入门与案例实战&#xff1a;视频教学版》以Autodesk Inventor 2024为平台&#xff0c;重点介绍Autodesk Inventor 2024中文版的各种操作方法及其在工程设计领域的应用。《Au…

TOGAF架构介绍

框架组件 软件开发过程中通用能力的集合。 一个完整的框架包括&#xff1a;异常处理组件&#xff0c;数据访问组件&#xff0c;日志组件&#xff0c;错误码组件。

韩顺平0基础学java——第21天

p430-440 enum昨日剩余 enum常用方法&#xff1a; 1.toString已经重写过了&#xff0c;返回的是当前对象名。子类可以重写 2.name&#xff1a;返回当前对象名&#xff08;常量名&#xff09;&#xff0c;子类中不能重写 3.ordinal&#xff1a;返回当前对象的位置号。默认从…

LVGL欢乐桌球游戏(LVGL+2D物理引擎学习案例)

LVGL欢乐桌球游戏&#xff08;LVGL2D物理引擎学习案例&#xff09; 视频效果&#xff1a; https://www.bilibili.com/video/BV1if421X7DL

webshell获取总结(cms获取方法、非cms获取方法、中间件拿Webshell方法)

目录 前期准备&#xff1a; 1、cookices靶场网站搭建&#xff1a; 2、dedecms靶场环境搭建&#xff1a; 获取Webshell方法总结&#xff1a; 一、CMS获取Webshell方法 二、非CMS获取Webshell方法 1、数据库备份获取Webshell 例如&#xff1a; 2、抓包上传获取Webshell 3、…

SPI 配置寄存器程序

/************************************************** * **************************************************/ module zhm_mspi #( parameter C_SPI_CPHA 1 ,// clock phase &#xff0c;0&#xff0c;在 SCLK 的第一个跳变沿进行采样&#xff1b;1&…

Linux - 复盘一次句柄数引发的故障

文章目录 Pre&#xff08;内核、用户、进程&#xff09;句柄数设置问题 shell修复 Pre Linux - 深入理解/proc虚拟文件系统&#xff1a;从基础到高级 &#xff08;内核、用户、进程&#xff09;句柄数设置 在Linux系统中&#xff0c;进程打开的最大句柄数可以通过多种方式配置…

0605 实际集成运算放大器的主要参数和对应用电路的影响

6.5.1 实际集成运放的主要参数 6.5.2 集成运放应用中的实际问题 6.5.2 集成运放应用中的实际问题

【启程Golang之旅】网络编程与反射

欢迎来到Golang的世界&#xff01;在当今快节奏的软件开发领域&#xff0c;选择一种高效、简洁的编程语言至关重要。而在这方面&#xff0c;Golang&#xff08;又称Go&#xff09;无疑是一个备受瞩目的选择。在本文中&#xff0c;带领您探索Golang的世界&#xff0c;一步步地了…

FFmpeg开发笔记(三十五)Windows环境给FFmpeg集成libsrt

《FFmpeg开发实战&#xff1a;从零基础到短视频上线》一书的“10.2 FFmpeg推流和拉流”提到直播行业存在RTSP和RTMP两种常见的流媒体协议。除此以外&#xff0c;还有比较两种比较新的流媒体协议&#xff0c;分别是SRT和RIST。 其中SRT全称为Secure Reliable Transport&#xf…