- 博客(47)
- 收藏
- 关注
原创 电商双11美妆数据分析实验总结
销售高峰期分析:通过折线图分析了双11期间的销售数据,发现销售量在11月9日达到高峰,商家应在高峰期前安排促销活动。销售数据分析:分析了不同类别(如清洁、补水等)的销售数据,发现男士主要关注清洁和补水类产品,女士则关注更多类别。消费者偏好:通过饼图和柱形图展示了男士和女士在美妆产品上的消费偏好,男士偏好清洁和补水类产品,女士则更为多样化。评论数与销售数据结合:通过绘制画布和分析评论数据,结合销售数据,可以更全面地了解消费者行为和产品受欢迎程度。销售数据与消费者偏好。
2025-05-07 17:15:43
638
原创 电商双11美妆数据分析
电商双11美妆数据分析,分析品牌销售量、性价比。强调数据可视化的目的是为了数据分析,需从图表中得出结论。数据处理使用Pandas和Numpy库进行数据预处理。读取CSV文件及查看数据的前五行和后五行。数据清洗重复值处理重复值的处理方式包括忽略和删除,需有充分理由。示例代码展示了如何删除完全重复的数据行。缺失值处理缺失值处理方式包括填充和删除。示例中使用了零填充法处理销售量和评论数量的缺失值。新特征挖掘类别细分通过对标题进行中文分词,将数据分为大类和小类。数据处理思路。
2025-05-06 10:59:33
635
原创 数据科学与计算
Seaborn 是一个建立在 Matplotlib 基础之上的 Python 数据可视化库,专注于绘制各种统计图形,以便更轻松地呈现和理解数据。Seaborn 的设计目标是简化统计数据可视化的过程,提供高级接口和美观的默认主题,使得用户能够通过少量的代码实现复杂的图形。函数,展示数据的最大值、最小值、中位数、上四分位数和下四分位数,以及离群点。函数,通过设置 X 轴和 Y 轴的值绘制散点图,并可选择添加趋势线。函数,展示数据的分布情况,结合了箱形图和密度估计。函数,表示相关性矩阵,展示变量之间的相关性。
2025-04-30 16:17:08
705
原创 大数据应用开发和项目实战
其格式为matplotlib.pyplot.hist(x, bins=None, color=None, label=None, **kwargs)其格式为matplotlib.pyplot.imsave(fname, arr, **kwargs)imshow() 函数是 Matplotlib 库中的一个函数,可显示图像。我们可以使用 pyplot 中的 hist() 方法来绘制直方图。可以使用 pyplot 中的 hist() 方法来绘制直方图。imsave() 可以将生成的图像保存到指定的目录中。
2025-04-29 11:26:03
194
原创 大数据应用开发和项目实战
Matlab 功能:Matlab 可以绘制散点图、柱形图、饼图和直方图等多种图表。多图绘制:介绍了如何使用 Matlab 绘制多图,包括标签、网格线和数据可视化。标记和格式:详细讲解了如何设置绘图标记、线条样式和颜色。标题和标签:如何添加 X 轴和 Y 轴标签以及图表标题。坐标轴:X 轴和 Y 轴的概念及其在绘图中的作用。柱形图:如何绘制柱形图并设置柱子的颜色和宽度。绘制点:通过示例代码展示了如何绘制点和线。散点图:绘制散点图并设置点的大小和颜色。子图:如何在一个图表中绘制多个子图。6. 绘图标记和格式。
2025-04-28 17:57:57
474
原创 spark总结
Spark SQL是Spark用来处理结构化数据的一个模块,它提供了一个编程抽象结构叫做DataFrame的数据模型(即带有Schema信息的RDD),Spark SQL作为分布式SQL查询引擎,让用户可以通过SQL、DataFrames API和Datasets API三种方式实现对结构化数据的处理。Spark SQL架构与Hive架构相比,把底层的MapReduce执行引擎更改为Spark,还修改了Catalyst优化器,Spark SQL快速的计算效率得益于Catalyst优化器。
2025-04-27 17:23:25
577
原创 Spark-Streaming核心编程
通过定义更新函数,获取当前数据和之前的状态,将新数据和旧状态相加,生成新的状态。无状态转换操作是指在固定的时间跨度内进行数据处理,不涉及跨批次的数据处理。有状态转换操作涉及跨批次的数据处理,可以将不同批次的数据放在一起进行处理。设置采集周期为三秒,窗口时长为12秒,滑动步长为6秒,进行词频统计。例如,设置采集时间为三秒,则只对这三秒内的数据进行计算和聚合。定义状态更新函数:根据新的事件更新每一个键对应的状态。设置窗口大小和滑动窗口的间隔,动态获取流媒体的状态。例如,进行累加操作,统计所有输入数据的累加值。
2025-04-27 16:28:44
413
原创 Spark-streaming
transform操作允许对RDD进行任意转换,并扩展Spark Streaming的功能。这些操作是分别应用到每个RDD上的,即使这些RDD属于不同的时间区间。在kafka中创建topic,并将数据写入指定的topic中。ACKS机制的不同级别及其对数据可靠性和延迟的影响。无状态转换操作的概念,即对每个批次的RDD进行转换。join操作的概念,即对两个流的RDD进行关联操作。oin操作的硬性要求,即两个流的批次大小必须一致。在不同的节点上输入数据,并在控制台上输出结果。在Kafka的数据目录下查看。
2025-04-25 11:18:33
513
原创 Spark-Streaming核心编程
分区概念:每个topic包含一个或多个分区,生产者和消费者通过节点进行数据发布和读取。消费者组:每个消费者属于一个特定组,同一组内的消费者共同消费数据。副本:分区副本数量不能高于节点数量,副本用于数据备份和故障恢复。特性:高吞吐量低延迟:每秒处理几十万条数据,延迟最低几毫秒。可扩展性:支持水平扩展。持久性和可靠性:消息持久化到本地磁盘,支持数据备份。容错性:允许N-1个节点失败。高并发性:支持数千个客户端读写。
2025-04-24 11:43:55
634
原创 Spark-Streaming
支持多种数据输入源(如Kafka、Flume、Twitter、TCP套接字等)和输出存储位置(如HDFS、数据库等)。循环创建多个RDD并推送到队列中,使用Spark Streaming处理RDD队列进行词频统计。使用Spark SQL语言进行数据处理,包括创建数据库、数据表,导入数据文件,进行数据转换。代码配置包括设置关键对象、接收TCP套接字数据、扁平化处理、累加相同键值对、分组统计词频。代码包括配置对象、创建可变队列、转换RDD为DStream、累加和分组统计词频。
2025-04-22 12:30:21
981
原创 spark–sql项目
格式转换:按照题目要求,利用 get_json_object 函数(如果是在SQL语句中操作,在不同语言中使用该函数的语法略有差异)对JSON格式数据进行格式转换,以便后续分析处理。排序与筛选:根据统计出的用户数量,使用排序函数(如 orderBy ,并按降序排列)对地址进行排序,最后使用 limit 函数选取用户数量最多的前二十个地址。筛选有效数据:依据有效数据的定义( uid 、 phone 、 addr 三个字段均无空值 ),使用过滤条件(如 filter 函数 )筛选出满足条件的数据行。
2025-04-21 18:59:20
202
原创 Spark-SQL核心编程
选项参数:可以通过选项参数传入URL地址、用户名、密码和数据表名称等。路径参数:可以传入加载数据的路径。MySQL语句:可以直接导入MySQL语句来加载数据。通用方法:使用df.write方法保存数据。格式和选项:可以指定保存的数据格式和选项参数。保存模式:可以选择不同的保存模式(如追加、覆盖、忽略、报错)。数据源格式默认数据源格式:Spark SQL默认使用一种能够存储嵌套数据的格式,不需要指定格式。具体数据加载和查询。
2025-04-16 17:26:52
1034
原创 Spark-SQL简介与编程
在 Spark 中,DataFrame 是一种以 RDD 为基础的分布式数据集,类似于传统数据库中 的二维表格。DataFrame 与 RDD 的主要区别:前者带有 schema 元信息,即 DataFrame 所表示的二维表数据集的每一列都带有名称和类型。创建DataFrame使用SparkSession对象读取数据文件,创建DataFrame。
2025-04-14 18:03:21
2243
原创 Spark基础知识
函数说明将数据按照指定 Partitioner 重新进行分区。Spark 默认的分区器是 HashPartitioner函数说明将数据源的数据根据 key 对 value 进行分组函数说明可以将数据按照相同的 Key 对 Value 进行聚合。
2025-04-11 11:43:19
808
原创 Spark基础知识
无论是将分区数多的RDD 转换为分区数少的 RDD,还是将分区数少的 RDD 转换为分区数多的 RDD,repartition操作都可以完成,因为无论如何都会经 shuffle 过程。排序后新产生的 RDD 的分区数与原 RDD 的分区数一致。将待处理的数据以分区为单位发送到计算节点进行处理,这里的处理是指可以进行任意的处理,哪怕是过滤数据,在处理时同时可以获取当前分区索引。当 spark 程序中,存在过多的小任务的时候,可以通过 coalesce 方法,收缩合并分区,减少分区的个数,减小任务调度成本。
2025-04-10 11:43:18
822
原创 spark core
运行任务:Executor负责运行组成Spark应用的任务,并将结果返回给驱动器进程。缓存管理:Executor通过自身的块管理器为用户程序中要求缓存的RDD提供内存或存储。Master和Worker的角色Master:负责资源调度和分配,进行集群监控,类似于YARN环境中的ResourceManager(RM)。Worker:运行在集群服务器上的进程,负责并行处理和计算,类似于YARN环境中的NodeManager(NM)。
2025-04-09 17:28:17
888
原创 Spark 安装(windows)
环境变量配置完成后验证spark是否安装成功,开启一个新的cmd窗口。输入:spark-shell 出现版本号即为安装成功。点击确定后 再编辑用户变量 点击path进行编辑。把spark安装包解压到一个新文件夹中。搜索环境变量 在系统变量中配置路径。复制spark安装包解压后的路径。环境变量设置完成后点击确定退出。
2025-04-08 11:00:55
1030
原创 Scala基础知识
可以有多个 catch,分别捕获对应的异常,这时需要把范围小的异常类写在前面, 把范围大的异常类写在后面,否则编译错误。单词计数:将集合中出现的相同的单词,进行计数,取计数排名前三的结果。需求:统计集合中相同单词的出现次数,并取前三个结果。扁平化:将嵌套的集合元素展开成一个单一层次的集合。映射:将原始集合中的元素通过函数转换成新的元素。扁平化加映射:先进行映射操作,再进行扁平化操作。分组:按照指定规则对集合元素进行分组。过滤:筛选满足条件的元素组成新集合。普通WordCount 案例。
2025-04-08 09:48:06
434
原创 Scala基础知识
默认情况下, Scala 使用的是不可变集合, 如果你想使用可变集合, 需要引用scala.collection.mutable.Set 包。数据类型声明:在创建列表、集合、映射时,需要明确数据类型,如int、double等。遍历方法:使用嵌套的for循环遍历多维数组,通过行索引和列索引访问特定元素。可变列表:通过list buffer创建,可以进行添加、修改、删除操作。可变映射:通过mutable map创建,支持添加、删除、修改操作。索引从零开始:无论是列表、数组还是映射,索引都是从零开始的。
2025-04-07 17:30:26
2102
原创 Scala基础知识
3.Scala 不可变集合,就是指该集合对象不可修改,每次修改就会返回一个新对象, 而不会对原对象进行修改。类似于 java 中的 String 对象。4.可变集合,就是这个集合可以直接对原对象进行修改,而不会返回新的对象。不可变集合与可变集合的继承关系,以及数组的定义、定义方法、赋值、遍历和增加元素的操作。抽象属性:未初始化的属性即为抽象属性,使用 val 或 var 定义。集合的分类,包括序列、集和映射,并强调了它们的可变与不可变版本的区别。操作细节:包括属性的定义、方法的实现、重写关键字的使用等。
2025-04-03 11:37:38
624
原创 Scala基础知识
在 Java 中,访问权限分为:public,private,protected 和默认。包对象的概念,即为每一个包定义一个同名的包对象,包对象中的成员可以被包下的所有类和对象直接访问。protected 为受保护权限,Scala 中受保护权限比 Java 中更严格,同类、子类可以访问,同包无法访问。1.和 Java 一样,可以在顶部使用 import 导入,在这个文件中的所有类都可以使用。强调了辅助构造器的命名规则是this,并且可以通过参数的个数和类型来区分不同的辅助构造器。
2025-04-02 17:26:36
1519
原创 Scala基础知识
可变参数的概念,即在函数定义时使用星号(*)表示该参数可以接受一个或多个值,甚至可以不传入值。惰性加载的概念,即将函数的返回值声明为 lazy,函数的执行会被推迟到取值时。函数没有重载或重写的概念,而方法可以根据形参列表的不同进行重载或重写。柯里化的概念,即将多个参数列表变成多个参数列表,以简化复杂参数的情况。闭包的概念,即函数访问到其外部或局部变量时,该函数及其环境称为闭包。可变参数的概念,即在参数类型后面加一个星号表示该参数是可变的。函数为中心:将计算视为数学函数的求值,强调纯函数。
2025-04-01 11:37:13
696
原创 Scala基础知识
(2) for 推导式有一个不成文的约定:当 for 推导式仅包含单一表达式时使用圆括号, 当包含多个表达式时,一般每行一个表达式,并用花括号代替圆括号,如下。循环守卫的概念,通过足球守门员的比喻,说明了循环守卫的作用是控制循环的执行。(1) 循环守卫,即循环保护式(也称条件判断式,守卫)。在for循环中设置步长,默认步长为1,可以通过指定步长来改变循环的取值间隔。例如,设置步长为2时,循环变量会每次增加2。说明:将遍历过程中处理的结果返回到一个新 Vector 集合中,使用 yield 关键字。
2025-03-31 17:47:58
548
原创 Scala基础知识
如果被循环的是 Map,返回的就是Map,被循环的是 List,返回的就是 List,以此类推。for循环:详细讲解了for循环的基本语法和应用,包括从1到10的循环示例,强调了Scholar语言中for循环的简洁性。方法调用:Scholar语言中没有运算符,所有的操作都是通过方法调用来实现的,并通过示例展示了如何定义和调用加法方法。to和until的区别:解释了to表示闭区间,until表示左闭右开区间,并通过示例展示了它们在循环中的应用。索引的使用:强调了索引从0开始,遍历数组时需要注意索引的范围。
2025-03-28 11:13:06
523
原创 Scala基本知识
定义包可用“package”关键字,有在文件头定义和类似 city 的方式两种,推荐后者可在文件夹中定义多个包。引用包用“import”关键字,可出现在任何地方,效果延伸至语句块结束,能减少名称冲突可能,但要尽量避免变量名与包名、类名相同以保证唯一性。语句可用空格或注释分割,换行符和分号都可结束语句,分行写多个语句时需分号分隔,一行一个语句可不加分号。多行注释可嵌套且必须正确嵌套,以“/”开始,“/”结束;单行注释为“//”。定义变量名称时要避开,如 if、do、case 等,否则会产生歧义。
2025-03-27 09:31:21
381
原创 图像识别技术与应用学习总结
语义分割是计算机视觉中针对图像像素进行分类的任务,其目标是为图像中的每个像素分配一个类别标签。特征融合方式:编码器每一层的特征会通过多个卷积层逐步与所有更深层的解码器特征融合。跳跃连接:将编码器各层的特征图直接拼接到解码器对应层,保留细节信息。输出:H ×W的类别矩阵,每个元素对应C个预定义类别之一。编码器:通过卷积和池化逐步提取高层语义特征。解码器:通过上采样和卷积恢复空间分辨率。1. 自动驾驶:道路、行人、车辆识别。2. 医学影像:肿瘤、区域器官、分割。输入:H× W× 3的RGB图像。
2025-03-21 09:50:15
317
原创 图像识别技术与应用学习总结
5000张精细标注的图像(2975张训练图、500张验证图和1525张测试图)、20000张粗略标注的图像。:共91类,以人类4岁小孩能够辨识为基准,其中82类有超过5000个instance。只预测前景目标的类别属性以及边框,个体ID,每一个像素可以属于多个ID。将不同的像素划分到不同的类别,非常细粒度的分类。人像抠图,医学组织提取,遥感图像分析,自动驾驶,材料图像等。一共2913张图,1464张训练图片,1449张验证图片。:以场景理解为目标,特别选取比较复杂的日常场景。每个类的IoU平均值。
2025-03-20 10:59:20
659
原创 图像识别技术与应用学习总结
比较好理解 , 坐标回归预测值都在0-1之间 , 如果在grid边界怎么表示?M 此时就需要非常大的数值才可以达到边界。Random Erase: 用随机值或训练集的平均像素值替换图像的区域。V3中为了更好满足不同输入大小 , 训练的时候要改变输入数据的大小。做人留一面日好相见 ,柔和一点的NMS , 更改分数而且直接剔除。之前的dropout是随机选择点(b) , 现在吃掉一个区域。神经网络最大的缺点: 自觉不错(过拟合) , 让它别太自信。使用之后效果分析(下图) :簇内更紧密 , 簇间更分离。
2025-03-14 11:05:50
320
原创 图像识别技术与应用学习总结
13*13特征图上:(116x90),(156x198),(373x326) 26*26特征图上:(30x61),(62x45),(59x119) 52*52特征图上:(10x13),(16x30),(33x23)左图:对不同的特征图分别利用;右图:不同的特征图融合后进行预测;为了能检测到不同大小的物体,设计了3个scale。YOLO-V2中选了5个,这回更多了,一共有9种。YOLO-V2中选了5个,这回更多了,一共有9种。物体检测任务中可能一个物体有多个标签。下采样通过stride为2实现。
2025-03-13 09:36:21
299
原创 图像识别技术与应用学习总结
很明显,堆叠小的卷积核所需的参数更少一些,并且卷积过程越多,特征提取也会越细致,加入的非线性变换也随着增多,还不会增大权重参数个数,这就是VGG网络的基本出发点,用小的卷积核来完成体特征提取操作。如果堆叠3个3*3的卷积层,并且保持滑动窗口步长为1,其感受野就是7*7的了,这跟一个使用7*7卷积核的结果是一样的,那为什么非要堆叠3个小卷积呢?都是卷积操作可没人能限制了!faster-rcnn系列选择的先验比例都是常规的,但是不一定完全适合。最后一层时感受野太大了,小目标可能丢失了,需融合之前的特征。
2025-03-12 16:59:36
671
原创 图像识别技术与应用学习总结
Ground Truth指的是图像或视频等数据中目标的真实位置、类别等信息,是目标检测算法的参考标准和学习依据,相当于给算法提供的“标准答案”。COCO(JSON)格式:(Xmin, Ymin, W, H),其中x,y,w,h均不是归一化后的数值,分别代表左上角坐标和宽、高。YOLO(TXT)格式:(x,y,w,h)分别代表中心点坐标和宽、高x,y,w,h均为归一化结果。VOC(XML)格式:(Xmin,Ymin,Xmax,Ymax)分别代表左上角和右下角的两个坐标。feature map的点来决定位置。
2025-03-11 11:23:52
685
原创 图像识别技术与应用学习总结
以二分类为例,混淆矩阵分为真正例(True Positive,TP)、假正例(False Positive,FP)、真反例(True Negative,TN)、假反例(False Negative,FN)四个部分。实例级图片分类不仅要将图像中的物体划分到特定类别,还要对同一类别的不同个体实例进行区分和识别,为每个具体的实例赋予唯一的标识或编号,实现对每个实例的精准分类。通用的多类别图像分类是计算机视觉领域的一项基础且重要的任务,旨在将给定的图像准确地划分到多个预定义的类别中。
2025-03-10 17:45:52
424
原创 图像识别技术与应用学习总结
如果模型中有BN(Batch Normalization使用的层)和Dropout,需要在训练时添加model.train(),在测试时添加model.eval()。而对于Dropout,model.train()是随机取一部分网络连接来训练更新参数,而model.eval()是利用到了所有网络连接。定义损失函数可以通过自定义方法或使用PyTorch内置的损失函数,如回归使用的loss_fun=nn.MSELoss(),分类使用的nn.BCELoss等损失函数,更多内容可参考本书5.2.4节。
2025-03-06 10:59:01
642
原创 图像识别技术与应用学习总结
对于一个复杂任务来说,将多个专家的判断进行适当的综合所得出的判断,要比其中任何一个专家单独的判断好。集成学习(ensemble learning)通过构建并结合多个学习器来完成学习任务等。集成学习的结果通过投票法产生?即“少数服从多数”。
2025-03-05 17:02:38
396
原创 图像识别技术与应用学习总结
outputs = net(images) :将图像数据输入到已定义好的模型 net 中,得到模型的输出结果 outputs ,输出一般是各个类别的得分。dataiter = iter(testloader) :创建一个测试数据的迭代器。计算准确率 准确率是百分之六十六。一个linear全连接层。
2025-03-04 11:33:34
397
原创 图像识别技术与应用学习总结
数据集分为5个训练批次和1个测试批次,每个批次有10000个图像。测试批次包含来自每个类别的恰好1000个随机选择的图像。训练批次以随机顺序选取剩余图像,但一些训练批次可能更多会选取来自一个类别的图像。图6-27显示了数据集中涉及的10个类,以及来自每个类的10个随机图像。CIFAR-10数据集由10个类的60000个32x32彩色图像组成,每个类有6000个图像。以下是使用PyTorch实现CIFAR-10多分类任务的示例代码,CIFAR-10数据集包含10个不同类别的图像,如飞机、汽车、鸟类等。
2025-03-03 17:59:48
177
原创 图像识别技术与应用学习总结
实例级图片分类不仅要将图像中的物体划分到特定类别,还要对同一类别的不同个体实例进行区分和识别,为每个具体的实例赋予唯一的标识或编号,实现对每个实例的精准分类。通用的多类别图像分类是计算机视觉领域的一项基础且重要的任务,旨在将给定的图像准确地划分到多个预定义的类别中。准确率(Precision):又称为查准率,表示在模型识别为正类的样本中,真正为正类的样本所占的比例。召回率(Recall):又称为查全率,表示模型正确识别出为正类的样本的数量占总的正类样本数量的比值。正类中实际负实例占所有负实例的比例。
2025-02-28 11:30:32
607
原创 pythorch数据处理
tensorboard --logdir=logs --port 6006 #如果是windows环境,要注意路径解析,如#tensorboard --logdir=r'D:\myboard\test\logs' --port 6006。2)调用相应的API接口,接口一般格式为:add_xxx(tag-name, object, iteration-number)#即add_xxx(标签,记录的对象,迭代次数)其中,xxx指的是各种可视化方法。对PIL Image的常见操作如下。
2025-02-27 18:55:07
380
原创 Pytorch数据处理
torchvision是一个开源Python库,是PyTorch生态系统的一部分,专门用于处理计算机视觉任务。DataLoader并不是迭代器,可以通过“iter”命令转换成迭代器。2.DataLoader:可以批量处理。2.DataLoader:可以批量处理。相关参数介绍如下所示。·_getitem_一次只能获取一个样本。数据处在不同目录之下时会不方便!DataLoader:可以批量处理。
2025-02-26 17:03:50
408
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅