4.Python数据分析—数据分析入门知识图谱索引(知识体系下篇)

4.Python数据分析—数据分析入门知识图谱&索引-知识体系下篇

  • 一·个人简介
  • 二·机器学习基础
    • 2.1 监督学习与无监督学习
      • 2.1.1 监督学习:
      • 2.1.2 无监督学习:
    • 2.2 特征工程
    • 2.3 常用机器学习算法概述
      • 2.3.1 监督学习算法:
      • 2.3.2 无监督学习算法:
      • 2.3.3 强化学习:
    • 2.4 模型评估与选择
  • 三·高级主题和工具
    • 3.1 大数据处理工具:
    • 3.2 分布式计算和云服务
      • 3.2.1 分布式计算
      • 3.2.2 云服务
    • 3.3 实时数据分析和流处理
      • 3.3.1 实时数据分析
      • 3.3.2 流处理
    • 3.4 机器学习库
  • 四·实际项目和练习
    • 4.1 波士顿房价预测——回归分析案例

一·个人简介

🏘️🏘️个人主页:以山河作礼。
🎖️🎖️:Python领域新星创作者,CSDN实力新星认证,CSDN内容合伙人,阿里云社区专家博主,新星计划导师,在职数据分析师。
🎉🎉免费学习专栏

1. 《Python基础入门》——0基础入门
2.《Python网络爬虫》——从入门到精通
3.《Web全栈开发》——涵盖了前端、后端和数据库等多个领域
4.《【30天】Python从入门到精通详解版》——30天入门到精通(持续更新中)
🎉🎉《机器学习算法专栏目前阶段免费(持续更新中)!!!
🪐🪐欢迎免费订阅!欢迎大家一起学习,一起成长!!
💕💕悲索之人烈焰加身,堕落者不可饶恕。永恒燃烧的羽翼,带我脱离凡间的沉沦。

二·机器学习基础

2.1 监督学习与无监督学习

在这里插入图片描述

2.1.1 监督学习:

监督学习的核心在于使用带有标签的训练数据来训练模型,以便模型能够学习输入到输出之间的映射关系。在这个过程中,算法会尝试找到一个最优的模型,使得对于新的输入数据,能够预测出正确的输出。

监督学习的应用场景非常广泛,包括但不限于邮件过滤图像识别疾病诊断等。在这些场景中,我们通常有一个明确的任务目标,比如将邮件分类为垃圾邮件或非垃圾邮件,或者识别图像中的物体类别。

2.1.2 无监督学习:

无监督学习不依赖于标注的数据,而是直接从数据中寻找模式或结构。在无监督学习中,算法试图揭示数据中的隐藏结构,如通过聚类算法对数据进行分组,或者通过降维技术减少数据的复杂性,同时保留其主要特征。

无监督学习适用于探索性数据分析市场细分、`社交网络分析等场景,这些场景中我们可能没有预先定义好的标签或结果。

监督学习和无监督学习的主要区别在于是否使用标注数据以及它们的学习目标
监督学习依赖于标注数据来预测或分类新的数据,而无监督学习则专注于发现数据中的固有结构和关系。

2.2 特征工程

  • 定义与目的:特征工程指的是从数据中提取、选择、转换和构造特征的过程,以便更好地代表问题的本质,从而提高模型的预测能力和泛化能力。
  • 重要性:特征工程对于模型性能至关重要,好的特征可以使模型训练更加高效,同时也能显著提高模型的准确性。
  • 流程与方法:特征工程包括多个步骤,如数据清洗、特征选择、特征构造和特征转换等。其中,特征选择是通过选取最有用的特征来减少数据的维度;特征构造则是创造新的特征,以捕捉数据中的某些模式或关系。
  • 工具与实践:在实际中,可以使用各种工具和技术来进行特征工程,如使用sklearn库中的preprocessing模块进行数据预处理和特征选择。还可以使用随机森林等算法来评估特征的重要性,并据此进行选择。
  • 类型与处理:特征工程涉及多种类型的数据,包括数值、分类值、日期、空间、图像和文本等。

2.3 常用机器学习算法概述

常用机器学习算法主要包括线性回归、支持向量机 (SVM)、最近邻居 (KNN)、逻辑回归、决策树、k平均、随机森林、朴素贝叶斯、降维和梯度增强等。

这些算法根据学习方式可以分为以下三类

2.3.1 监督学习算法:

在监督学习中,模型从带有标签的训练数据中学习,并预测未知数据的标签。常用的监督学习算法包括:

  • 线性回归:用于预测数值型输出,通过找到最佳拟合直线来描述自变量和因变量之间的关系。
  • 逻辑回归:虽然命名为回归,但它是用于分类问题的,特别是二分类问题。它通过逻辑函数将线性回归的输出映射到0到1之间,从而预测类别值。
  • 支持向量机(SVM):通过找到最优的超平面来区分不同的类别,尤其适用于边界清晰的复杂数据集。
  • 决策树:通过树状图模型进行决策,每个节点代表一个特征或属性,而每个分支代表这个特征的一个决策结果。
  • 随机森林:由多个决策树组成,通过集成学习提高预测准确性和控制过拟合。

2.3.2 无监督学习算法:

在无监督学习中,模型从未标记的数据中学习,通常用于发现数据中的模式或结构。常用的无监督学习算法包括:

  • K-均值聚类:一种划分方法,将数据分为K个簇,使得同一簇内的数据点尽可能相似。
  • 主成分分析(PCA):一种降维技术,通过保留数据中最重要的方差来减少数据集的维度。

2.3.3 强化学习:

强化学习与前两者不同,它关注如何基于环境反馈做出最佳决策。

2.4 模型评估与选择

  1. 评估方法:为了衡量学习器预测输出与样本真实输出之间的差异,我们需要选择合适的模型和参数。将数据集分为训练集和测试集,使用训练集来训练模型,然后使用测试集来评估模型的性能。
  2. 评估指标:模型的评估指标取决于问题是分类还是回归。对于分类问题,常用的指标包括准确率、召回率、F1分数、ROC曲线和AUC值。对于回归问题,常用的指标包括均方误差(MSE)、平均绝对误差(MAE)、Huber损失和均方根误差(RMSE)。
  3. 性能度量:通过计算上述指标,我们可以对模型的性能进行量化。例如,准确率告诉我们模型正确分类的比例,而ROC曲线则展示了模型在不同阈值下的表现。
  4. 泛化能力:泛化能力是指模型在新数据上的表现能力。使用交叉验证等技术,以确保模型不仅在测试集上表现良好,而且能够推广到未见过的数据上。
  5. 模型选择:在选择模型时,我们不仅要考虑模型的性能,还要考虑模型的复杂性、训练时间以及特征数量等因素。
  6. 实践应用:在实际应用中,我们通常会尝试多种模型和参数组合,然后根据评估结果来选择最佳的模型。这个过程可能需要多次迭代和调整,直到找到最适合问题的模型。

三·高级主题和工具

在这里插入图片描述

3.1 大数据处理工具:

大数据处理工具是一系列用于存储、处理和分析大量数据集的软件和技术。

  1. Hadoop:它是一个开源的数据存储和处理框架,能够分布式地处理大规模数据。Hadoop 的核心组件包括 HDFS(Hadoop Distributed File System)用于存储数据,以及 MapReduce 用于数据处理。

  2. MongoDB:这是一个领先的NoSQL数据库软件,它以文档形式存储数据,适合快速有效地进行大数据分析。

  3. Spark:它是一个强大的开源实时数据处理引擎,特别适合于需要快速迭代访问数据的应用场景。

  4. Cassandra:这是一个分布式NoSQL数据库系统,设计用来处理大量的数据跨许多商品服务器,提供高可用性和可扩展性。

  5. Excel:虽然通常被认为是一个电子表格软件,但 Microsoft Excel 也广泛用于数据分析,尤其是在需要进行简单的数据处理和可视化时。

  6. R:这是一种专门用于统计计算和图形的编程语言和软件环境,非常适合进行复杂的数据分析和建模。

  7. SPSS:它是统计分析软件,广泛应用于社会科学、健康科学、市场研究等领域的复杂统计分析。

  8. SAS:这是一个全面的软件套件,用于数据管理、高级分析、多变量分析、业务智能等领域。

  9. 腾讯大数据处理套件(TBDS):这是基于腾讯多年海量数据处理经验提供的大数据处理平台,提供多种大数据分析引擎和服务。

3.2 分布式计算和云服务

分布式计算和云服务都提供了强大的计算能力,但它们的关注点和应用方式有所不同

3.2.1 分布式计算

  • 分布式计算是一种计算方法,它将任务分散到多台计算机上执行,这些计算机在地理上可能相隔很远,但在用户看来它们像一个单一的系统一样工作。
  • 这种方法可以提高计算效率和可靠性,因为即使部分计算机出现故障,整个系统仍能继续运行。
  • 分布式计算通常用于需要大量计算资源的任务,如大型数据分析、科学研究等。

3.2.2 云服务

  • 云计算是分布式计算的一种商业实现,它通过互联网提供了计算资源和服务。
  • 云服务依赖于虚拟化技术,允许用户根据需求快速扩展或缩减资源。
  • 云服务模型包括基础设施即服务(IaaS)、平台即服务(PaaS)和软件即服务(SaaS),为用户提供了灵活的选择以满足不同的业务需求。
  • 分布式云是云计算的一种形式,它将云服务的节点部署得更靠近用户,以降低延迟并提高性能。

3.3 实时数据分析和流处理

实时数据分析和流处理是现代数据处理中的两个关键概念,它们在延迟要求、应用场景和目的上有所不同

3.3.1 实时数据分析

  • 实时分析通常要求数据的处理延迟在微秒到毫秒级别。这意味着数据一旦产生,就必须立即被处理和分析,以便快速做出反应。
  • 实时处理常用于那些需要即时数据消费、决策和控制的系统,例如机器人系统、智能驾驶系统等。在这些系统中,实时性对于安全性和可靠性至关重要。
  • 实时处理系统的设计要求低延迟和高实时性,以确保决策和控制动作能够迅速反馈。

3.3.2 流处理

  • 流处理是指对持续产生的数据流进行处理的能力。它支持对数据进行连续的分析和决策,而不是等到所有数据都可用时再进行处理。
  • Flink是一个流行的流处理框架,它适用于多种场景,包括流分析、复杂事件处理、流与流的连接、机器学习、图分析、批处理和ETL等。
  • 流处理的目的是从不断变化的数据中获得洞察,并实时更新分析结果,以帮助业务做出更好的决策。

总的来说,实时数据分析侧重于极短时间内的数据处理和反应,而流处理则关注于对持续产生的数据流进行分析和处理。两者都是数据驱动决策的重要工具,但它们的设计目标和技术实现有所不同。

3.4 机器学习库

在机器学习领域,有多个流行的库可供使用,它们各自有不同的特点和优势。

  • scikit-learn:这是一个非常流行的机器学习库,提供了多种分类、回归、聚类、降维和预处理算法。它基于NumPy、SciPy和matplotlib,适用于数据挖掘和数据分析。
  • TensorFlow:由Google开发的一个开源库,主要用于深度学习和神经网络。它灵活且功能强大,支持多种深度学习模型的构建和训练。
  • Keras:一个高层神经网络API,它可以运行在TensorFlow、CNTK或Theano之上。Keras的设计旨在实现快速的实验,能够以TensorFlow作为后端时,具有高速和高效的特点。
  • Theano:一个优化的Python库,用于高效地定义、优化和计算数学表达式涉及多维数组。它适合进行深度学习和大数据集的计算。
  • PyTorch:一个由Facebook人工智能研究团队开发的库,用于自然语言处理等应用程序。它以其动态计算图和对Python的本地支持而受到欢迎。

四·实际项目和练习

4.1 波士顿房价预测——回归分析案例

回归分析是一种统计学方法,用于研究变量之间的关系,特别是一个或多个自变量(解释变量)对因变量(响应变量)的影响。
在这里插入图片描述
目前回归分析的研究范围可以分为如下几个部分组成

线性回归:一元线性回归、多元线性回归和多个因变量与多个自变量的回归。

回归诊断:通过数据推断回归模型基本假设的合理性、基本假设不成立时对数据的修正、回归方程拟合效果的判断以及回归函数形式的选择。

回归变量的选择:根据什么标准选择自变量和逐步回归分析方法。

参数估计方法:偏最小二乘回归、主成分回归和岭回归。

非线性回归:一元非线性回归、分段回归和多元非线性回归。

定性变量的回归:因变量含有定性变量和自变量含有定性变量。

波士顿房价数据说明:此数据源于美国某经济学杂志上,分析研究波士顿房价( Boston HousePrice)的数据集。数据集中的每一行数据都是对波士顿周边或城镇房价的情况描述,下面对数据集变量说明下,方便大家理解数据集变量代表的意义。

CRIM: 城镇人均犯罪率
ZN: 住宅用地所占比例
INDUS: 城镇中非住宅用地所占比例
CHAS: 虚拟变量,用于回归分析
NOX: 环保指数
RM: 每栋住宅的房间数
AGE: 1940 年以前建成的自住单位的比例
DIS: 距离 5 个波士顿的就业中心的加权距离
RAD: 距离高速公路的便利指数
TAX: 每一万美元的不动产税率
PTRATIO: 城镇中的教师学生比例
B: 城镇中的黑人比例
LSTAT: 地区中有多少房东属于低收入人群
MEDV: 自住房屋房价中位数(也就是均价)

首先对数据分析,处理特殊异常值,然后才是模型和评估,并应用模型进行预测。

1.首先导入数据集,对数据进行分析

#导入Python常用数据分析的库import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
sns.set()    #设置画图空间为 Seaborn 默认风格names=['CRIM','ZN','INDUS','CHAS','NOX','RM','GE','DIS','RAD','TAX','PRTATIO','B','LSTAT','PRICE']boston=pd.read_csv("/Users/glenji/Desktop/housing.csv",names=names,delim_whitespace=True)
boston.head(10)

在这里插入图片描述
查看各字段基础信息:

boston.info()

在这里插入图片描述
查看缺失值:

#查看缺失值boston.isnull().sum()

在这里插入图片描述
二、描述性数据分析
①查看描述性数据统计:可以看到各个字段的均值、中位数、标准差等。

描述性数据统计

boston.describe()

在这里插入图片描述
查看各字段的相关性:可以看到房子价格跟住宅的房间数成比较强的正相关,而跟低收入人数比例有比较强的负相关。

#查看相关性corrboston = boston.corr()
corrbostonplt.figure(figsize=(10,10))    #设置画布
sns.heatmap(corrboston,annot=True,cmap='RdGy')
plt.show()

在这里插入图片描述
查看是否穿过查尔斯河对房价的影响:可以看到被河流穿过的豪宅仅占比6.92%,而被查尔斯河穿过的豪宅,比没有被穿过的豪宅平均贵了28.7%。

#查看是否穿过查尔斯河的两类占比
#可以看到被河流穿过的豪宅仅占比6.92%fig,ax = plt.subplots(1,2,figsize=(10,5))boston['CHAS'].value_counts().plot.pie(ax=ax[0],shadow=False,autopct='%1.2f%%')
ax[0].set_ylabel('')    #设置y轴标签
ax[0].set_xlabel('CHAS')    #设置x轴标签sns.countplot('CHAS',data=boston,ax=ax[1])
ax[1].set_ylabel('')
ax[1].set_xlabel('CHAS')
plt.show()

在这里插入图片描述

#再来看看两种不同类型的房子的价值如何
#可以看到被查尔斯河穿过的豪宅,比没有被穿过的豪宅平均贵了28.7%bostonCHAS = boston[['CHAS','PRICE']]    #先将CHAS和PRICE两列数据取出bostonCHAS1=bostonCHAS.pivot_table(values='PRICE',    #计算的值index='CHAS',       #透视的行,分组的依据aggfunc='mean')            #聚合函数# 对透视表进行降序排列
bostonCHAS1 = bostonCHAS1.sort_values(by='PRICE',     # 排序依据ascending=False                 # 是否升序排列)bostonCHAS1

在这里插入图片描述
④看看各个字段与价格的散点图:以初步了解价格与相应字段的关系。可以看到不是所有的字段与价格都有较强的相关关系,但本例中不涉及多元线性回归的向后删除,仅做最简单的多元性性回归的分析处理。

x_data = boston[['CRIM','ZN','INDUS','CHAS','NOX','RM','GE','DIS','RAD','TAX','PRTATIO','B','LSTAT']] # 导入所有特征变量
y_data = boston[['PRICE']] # 导入目标值(房价)plt.figure(figsize=(18,10))for i in range(13):plt.subplot(4,4,i+1)plt.scatter(x_data.values[:,i],y_data,s = 5)    #.values将DataFrame对象X_df转成ndarray数组plt.xlabel(names[i])plt.ylabel('Price')plt.title(str(i+1)+'. '+names[i]+' - Price')  plt.tight_layout()
plt.show()

在这里插入图片描述
三、预测性数据分析
①选取线性回归字段:

from sklearn import linear_model#定义线性回归的x和y变量
x=pd.DataFrame(boston[['CRIM','ZN','INDUS','CHAS','NOX','RM','GE','DIS','RAD','TAX','PRTATIO','B','LSTAT']])
y=boston['PRICE']x

在这里插入图片描述
②建立线性回归模型,并调用:可以看到各个字段的回归系数,可以写出一个回归方程:y=ax1+bx2+……,理论上你知道一套新房子的各个字段,带入公式即可预测出价格。

#建立线性回归模型,并将变量带入模型进行训练。
clf = linear_model.LinearRegression()
clf.fit(x, y)#查看回归系数。本例为一元回归,所以只有一个系数。
print('回归系数:', clf.coef_)

在这里插入图片描述
③计算回归系数:计算出的回归系数为0.74,回归拟合效果较好。

from sklearn.metrics import r2_score
score = r2_score(y, y_pred)
score

在这里插入图片描述

④可以进行简单的预测:

y_pred =clf.predict(x)
print(y_pred)

在这里插入图片描述

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

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

相关文章

阿里云ubuntu服务器搭建可视化界面

连接终端 最好初始化服务器的时候 不要以root权限创建 否则会出错 1更新软件: sudo apt-get update2安装ubuntu desktop : sudo apt-get install ubuntu-desktop3 配置ubuntu desktop并重启: sudo apt-get -f install sudo dpkg-reconfigure ubuntu-desktop sudo reboot4 su…

2024年新算法-美洲狮优化算法(PO)优化CNN-BiLSTM-附代码

美洲狮优化算法(PO)是一种启发式优化算法,灵感来源于美洲狮狩猎时的觅食行为。这种算法通过模拟美洲狮寻找猎物的过程来寻找最优解。在你提到的情况下,将这种算法应用于优化CNN-BiLSTM模型进行数据回归预测可能会有所帮助。 CNN-…

【蓝桥杯省赛真题34】python积木搭建 中小学青少年组蓝桥杯比赛 算法思维python编程省赛真题解析

python积木搭建 第十三届蓝桥杯青少年组python比赛省赛真题 一、题目要求 (注:input()输入函数的括号中不允许添加任何信息) 1、编程实现 小蓝和小青在玩积木搭建游戏,具体玩法如下: 小蓝报一个数字N&…

ZC706+AD9361 运行 open WiFi

先到github上下载img,网页链接如下: https://github.com/open-sdr/openwifi?tabreadme-ov-file 用win32 Disk lmager 把文件写入到SD卡中,这一步操作会把SD卡重新清空,注意保存数据。这个软件我会放在最后的网盘链接中 打开linu…

计算机网络(二)物理层

物理层 一、通信基础1.奈氏准则、香农定理2.编码与调制3.电路交换、报文交换、分组交换 二、 传输介质、设备1.导向性传输介质:1.1双绞线1.2 同轴电缆1.3光纤 2.非导向性传输介质: 一、通信基础 信道带宽:信道能通过的最高频率和最低频率之差…

ECP-PTP-001 核算范围ZZ同步问题

最近一直在做ECP payroll的项目,原来有接触过CPI,所以PTP的主数据复制相对来说就简单很多,但是ECP payroll整体实施难度与SAP hcm相差不大,比较麻烦的就是PCC与PTP相关知识,今天就遇到一个奇葩问题,如果工资核算范围是…

[激光原理与应用-80]:PLC通信协议之-OMRON欧姆龙FINS TCP通信协议详细解析

目录 一、OMRON欧姆龙 PLC简介 1.1 OMRON欧姆龙 PLC 1.2 OMRON欧姆龙 PLC通信协议简介 1.3 通信架构 二、欧姆龙FINS协议简介 2.1 简介 2.2 协议分层 2.3 OMRON(欧姆龙)FINS协议的本质 2.4 OMRON(欧姆龙)FINS&#xff08…

GRU实现时间序列预测(PyTorch版)

💥项目专栏:【深度学习时间序列预测案例】零基础入门经典深度学习时间序列预测项目实战(附代码数据集原理介绍) 文章目录 前言一、基于PyTorch搭建GRU模型实现风速时间序列预测二、时序数据集的制作三、数据归一化四、数据集加载器…

踩坑uniapp中打包Andiord app,在真机调试时地图以及定位功能可以正常使用,打包成app后失效的问题

首先看到这是uni官网提出的,app上建议使用高德地图。 下面就用高德地图进行配置。 步骤一:登陆高德地图控制台 名称和类型根据自己情况填写选择即可 步骤二: 添加key 步骤三:取到SHA1 进入uniapp开发官网 点击应用名称&#…

深度好文:解决Ubuntu 18.04安装nvidia显卡驱动,导致内核不匹配:无需重装系统修复内核

深度好文:解决Ubuntu 18.04安装nvidia显卡驱动,导致内核不匹配:无需重装系统修复内核 目录 一、问题描述二、尝试修复三、安装Nvidia驱动和CUDA并配置cuDNN四、总结 一、问题描述 昨天打算更新一下Ubuntu 18.04的显卡驱动,以支持…

使用OpenXlab下载数据集(推荐)

OpenXLab浦源面向人工智能领域开发者和使用者,提供一站式AI开发平台。提供包括应用开发,模型免费托管,数据集下载等服务 官方网址:https://openxlab.org.cn/datasets?lang=zh-CN 提供了6622种数据集, 涉及计算机视觉、自然语言处理、多模态、通用机器学习、音频识别以及其他…

互联网公司裁员现象调查:探寻背后原因与应对策略

近年来,随着互联网行业的快速发展,裁员现象日益引起广泛关注。本文通过对互联网公司裁员现象的调查,分析背后原因,探讨应对策略,以期为互联网企业和求职者提供参考。 近年来,我国互联网行业历经高速发展&am…