自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(46)
  • 收藏
  • 关注

原创 数据实验分析

小类销售量、销售额的占比plt.subplot(2,2,3)data.groupby('sub_type').sale_count.sum().plot.pie(autopct = '%0f%%',title = '各小类销售量占比')plt.subplot(2,2,4)data.groupby('sub_type')['销售额'].sum().plot.pie(autopct = '%0f%%',title = '各小类销售额占比')plt.tight_layout()#大类销售量、销售额的占比。

2025-05-07 17:52:31 563

原创 购物数据分析

avg_price=data.groupby('店名')['销售额'].sum()/data.groupby('店名').sale_count.sum() ###每个品牌售出的商品的平均单价。data.groupby('店名').sale_count.sum().sort_values().plot.bar()data.groupby('店名')['销售额'].sum().sort_values().plot.bar()plt.ylabel('售出商品的平均单价' , fontsize = 15)

2025-05-06 11:34:34 572

原创 数据可视化

imread() 方法返回一个 numpy.ndarray 对象,其形状是 (nrows, ncols, nchannels),表示读取的图像的行数、列数和通道数。其格式为matplotlib.pyplot.imread(fname, format=None)。我们可以使用 pyplot 中的 hist() 方法来绘制直方图。其格式为matplotlib.pyplot.hist(x, bins=None, color=None, label=None, **kwargs)pie():绘制饼图。

2025-04-29 11:38:51 255

原创 数据可视化

Matplotlib 是 Python 的绘图库,它能让使用者很轻松地将数据图形化,并且提供多样化的输出格式。Matplotlib 可以用来绘制各种静态,动态,交互式的图表。比如说散点图、柱状图等等。plot() :用于画图,它可以绘制点和线,语法格式如下: plot([x], y, [fmt], [x2], y2, [fmt2], ..., **kwargs)

2025-04-28 17:50:35 598

原创 Spark-Streaming核心编程

给定一个由(键,事件)对构成的 DStream,并传递一个指定如何根据新的事件更新每个键对应状态的函数,它可以构建出一个新的 DStream,其内部数据为(键,状态) 对。这会将 wordCounts DStream 中的数据以文本文件的形式保存到指定路径 output/wordcounts 下,每个RDD的数据会保存为一个独立的文件。updateStateByKey() 的结果会是一个新的 DStream,其内部的 RDD 序列是由每个时间区间对应的(键,状态)对组成的。

2025-04-27 17:54:08 525

原创 Spark总结

通用性强:提供了多种高层组件,包括用于批处理的Spark SQL、用于流计算的Spark Streaming、用于机器学习的MLlib和用于图计算的GraphX等,能满足不同类型的大数据处理需求。- 功能:是Spark用于图计算的库,提供了图的抽象和操作,包括图的创建、遍历、算法执行等功能,支持Pregel API和GraphFrames API。- 功能:是Spark的机器学习库,提供了一系列的机器学习算法和工具,包括分类、回归、聚类、协同过滤等,还支持模型评估、参数调优等功能。

2025-04-27 17:39:11 398

原创 Spark

在测试前要确保node10,node02,node03的时间统一ntpdate time.nist.gov提交测试应用bin/spark-submit \--class org.apache.spark.examples.SparkPi \--master yarn \--deploy-mode cluster \./examples/jars/spark-examples_2.12-2.0.0.jar \10。配置文件修改:修改spark-env.sh文件,添加Java home路径和其他变量。

2025-04-23 18:43:51 481

原创 Spark–steaming

使用Spark SQL语言进行数据处理,包括创建数据库、数据表,导入数据文件,进行数据转换。RDD队列案例: 循环创建多个RDD并推送到队列中,使用Spark Streaming处理RDD队列进行词频统计。工作节点接收和处理数据,执行任务并备份数据到其他节点。Spark Streaming实操 词频统计案例: 使用ipad工具向999端口发送数据,Spark Streaming读取端口数据并统计单词出现次数。启动和运行: 启动netpad发送数据,Spark Streaming每隔三秒收集和处理数据。

2025-04-22 13:00:28 1613

原创 spark–sql项目实验

格式转换:按照题目要求,利用 get_json_object 函数(如果是在SQL语句中操作,在不同语言中使用该函数的语法略有差异)对JSON格式数据进行格式转换,以便后续分析处理。排序与筛选:根据统计出的用户数量,使用排序函数(如 orderBy ,并按降序排列)对地址进行排序,最后使用 limit 函数选取用户数量最多的前二十个地址。筛选有效数据:依据有效数据的定义( uid 、 phone 、 addr 三个字段均无空值 ),使用过滤条件(如 filter 函数 )筛选出满足条件的数据行。

2025-04-21 18:28:03 287

原创 spark-SQL

外部Hive:需要下载配置文件(PSML、CORE-SML、HDFS),并将这些文件放在Spark目录下。修改配置文件:将hive-site.xml中的本地文件路径改为虚拟机中的Hive路径(如note01)。加载数据:使用spark.read.format("jdbc")方法加载MySQL数据。加载JSON文件:使用spark.read.json方法加载JSON文件。加载数据:使用不同的方法加载数据(如选项参数、路径参数、MySQL语句)。保存模式:可以选择不同的保存模式(如追加、覆盖、忽略、报错)。

2025-04-16 17:40:38 718

原创 spark-shell基础知识

除此之外,用户可以设定自己的自定义聚合函数。Spark3.0之前我们使用的是UserDefinedAggregateFunction作为自定义聚合函数,从 Spark3.0 版本后可以统一采用强类型聚合函数 Aggregator。强类型的 Dataset 和弱类型的 DataFrame 都提供了相关的聚合函数, 如 count(),

2025-04-15 11:26:37 238

原创 Spark-SQL

它提供了 RDD 的优势(强类型,使用强大的 lambda 函数的能力)以及 Spark SQL 优化执行引擎的优点。,SparkSQL 可以简化 RDD 的开发,提高开发效率,且执行效率非常快,所以实际工作中,基本上采用的就是 SparkSQL。Spark SQL 为了简化 RDD 的开发, 提高开发效率,提供了 2 个编程抽象,类似 Spark Core 中的 RDD。在 Spark 中,DataFrame 是一种以 RDD 为基础的分布式数据集,类似于传统数据库中 的二维表格。

2025-04-14 18:04:25 736

原创 Spark Core

Executor 端的每个 Task 都会得到这个变量的一份新的副本,每个 task 更新这些副本的值后,传回 Driver 端进行 merge。在类型为(K,V)和(K,W)的 RDD 上调用,返回一个(K,(Iterable<V>,Iterable<W>))类型的 RDD。在一个(K,V)的 RDD 上调用,K 必须实现 Ordered 接口(特质),返回一个按照 key 进行排序。在类型为(K,V)和(K,W)的 RDD 上调用,返回一个相同 key 对应的所有元素连接在一起的。

2025-04-11 12:19:49 412

原创 Spark Core

从 shuffle 的角度:reduceByKey 和 groupByKey 都存在 shuffle 的操作,但是 reduceByKey可以在 shuffle 前对分区内相同 key 的数据进行预聚合(combine)功能,这样会减少落盘的数据量,而 groupByKey 只是进行分组,不存在数据量减少的问题,reduceByKey 性能比较高。该操作用于排序数据。将待处理的数据以分区为单位发送到计算节点进行处理,这里的处理是指可以进行任意的处理,哪怕是过滤数据,在处理时同时可以获取当前分区索引。

2025-04-10 11:40:49 445

原创 spark基础知识

代码中是一个抽象类,它代表一个。创建新文件:通过点击“new”,选择“model”,然后在弹窗中选择“maven”,输入文件名并避免与现有文件名重复。Worker:运行在集群服务器上的进程,负责并行处理和计算,类似于YARN环境中的NodeManager(NM)。项目配置:在新窗口中打开项目,复制必要的配置文件和依赖到项目中,确保不删除原有内容。转换算子和行动算子:转换算子对数据进行格式或内容上的转换,行动算子触发实际的计算。不可变:RDD封装了计算逻辑,不可改变,只能创建新的RDD。

2025-04-09 17:38:55 548

原创 Scala基础知识

Reduce 简化(归约) :通过指定的逻辑将集合中的数据进行聚合,从而减少数据,最终获取结果。单词计数:将集合中出现的相同的单词,进行计数,取计数排名前三的结果。规约(折叠):通过指定逻辑将集合数据聚合,减小数据量。需求:统计集合中相同单词的出现次数,并取前三个结果。扁平化:将嵌套的集合元素展开成一个单一层次的集合。映射:将原始集合中的元素通过函数转换成新的元素。扁平化加映射:先进行映射操作,再进行扁平化操作。分组:按照指定规则对集合元素进行分组。普通WordCount 案例。扁平化与扁平化加映射。

2025-04-08 11:23:48 132

原创 Spark安装Windows

第一步 解压spark。第二步 配置环境变量。

2025-04-08 09:36:52 296

原创 Scala基础

默认情况下, Scala 使用的是不可变集合, 如果你想使用可变集合, 需要引用。元组也是可以理解为一个容器,可以存放各种相同或不同类型的数据。scala.collection.mutable.Set 包。说明:二维数组中有三个一维数组,每个一维数组中有四个元素。增加元素使用的是 append 方法(),支持可变参数。Scala 中的 Map 和 Java 类似,是将多个无关的数据封装为一个整体,称为。,它存储的内容也是键值对(不可变数组转可变数组。可变数组转不可变数组。

2025-04-07 17:41:46 348

原创 Scala基础知识

子类对非抽象属性重写,父类非抽象属性只支持 val 类型,而不支持 var。因为var修饰的为可变变量,子类继承之后就可以直接使用,没有必要重写和 Java 一样,可以通过包含带有定义或重写的代码块的方式创建一个匿名的子类。Person{单例对象采用object关键字声明单例对象对应的类称之为伴生类,伴生对象的名称应该和伴生类名一致。单例对象中的属性和方法都可以通过伴生对象名(类名)直接调用访问。伴生对象apply方法,obj(arg)applyScala 中的 trait 中即。

2025-04-03 11:39:45 773

原创 Scala基础知识

包对象的概念,即为每一个包定义一个同名的包对象,包对象中的成员可以被包下的所有类和对象直接访问。不同参数类型的辅助构造器的区分方式。protected 为受保护权限,Scala 中受保护权限比 Java 中更严格,同类、子类可以访问,同包无法访问。1.和 Java 一样,可以在顶部使用 import 导入,在这个文件中的所有类都可以使用。强调了辅助构造器的命名规则是this,并且可以通过参数的个数和类型来区分不同的辅助构造器。辅助构造器,函数的名称 this,可以有多个,编译器通过参数的个数及类型来区分。

2025-04-02 17:40:09 356

原创 Scala函数式编程

解决问题时,将问题分解成一个一个的步骤,将每个步骤进行封装(函数),通过调用这些封装好的步骤,解决问题。解决问题,分解对象,行为,属性,然后通过对象的关系以及行为的调用来解决问题。:如果一个函数,访问到了它的外部(局部)变量的值,那么这个函数和他所处的环境,称为闭包。x:表示输入参数类型;类型省略之后,发现只有一个参数,则圆括号可以省略;一个函数/方法在函数/方法体内又调用了本身,我们称之为递归调用。:把一个参数列表的多个参数,变成多个参数列表。参数的类型可以省略,会根据形参进行自动的推导。

2025-04-01 11:24:14 1813

原创 Scala基本知识

来隔断逻辑for 推导式有一个不成文的约定:当 for 推导式仅包含单一表达式时使用圆括号, 当包含多个表达式时,一般每行一个表达式,并用花括号代替圆括号,如下。循环步长在for循环中设置步长,默认步长为1,可以通过指定步长来改变循环的取值间隔。基本语法for (i <- 1 to 10 by 2) { println("i=" + i)}说明:by 表示步长示例如下:需求:输出 1 到 10 以内的所有奇数。循环守卫的概念,通过足球守门员的比喻,说明了循环守卫的作用是控制循环的执行。

2025-03-31 17:51:29 284

原创 Scala基础总结

Scala基础语法1. 变量与常量val 定义常量(不可变)var 定义变量(可变)。示例 3. 集合操作不可变集合(默认):List、Map、Set等。reduce:聚合操作。Scala是一种多范式编程语言,融合了面向对象编程(OOP)与函数式编程(FP)的特性。Scholar中的变量与常量:在Scholar中如何使用VAR定义变量,使用VAL定义常量。数据类型指定:在Scholar中定义变量时可以指定数据类型,而定义常量时则不需要。Java(强类型)和JavaScript(弱类型)在变量定义上的差异。

2025-03-28 13:05:25 306

原创 Scala基础

Scala 是一门多范式(multi-paradigm)的编程语言,设计初衷是要集成面向对象编程和函数式编程的各种特性。Scala 运行在 Java 虚拟机上,并兼容现有的 Java 程序。Scala 源代码被编译成 Java 字节码,所以它可以运行于 JVM 之上,并可以调用现有的 Java 类库。

2025-03-27 10:19:37 328

原创 U-net算法

深度监督(Deep Supervision):在解码器的多个子网络输出端计算损失,通过多任务学习提升训练稳定性,加速收敛。密集跳跃连接:引入类DenseNet的密集连接机制,在编码器与解码器间构建多层级特征融合路径,增强特征复用能力。统一特征维度:各层卷积输出固定为64通道,最终拼接所有层级特征(共5层,总通道数320),实现多粒度信息互补。特征拼接:取代传统特征叠加,将编码器各层的特征图与解码器对应层拼接,保留多尺度信息。高阶特征整合:利用上采样融合高层特征的全局语义信息(如大感受野特征)。

2025-03-21 11:47:55 375

原创 图像分割项目

Cityscape数据集:5000张精细标注的图像(2975张训练图、500张验证图和1525张测试图)、20000张粗略标注的图像。COCO数据集:共91类,以人类4岁小孩能够辨识为基准,其中82类有超过5000个instance。实例分割:只预测前景目标的类别属性以及边框,个体ID,每一个像素可以属于多个ID。VOC数据集:一共2913张图,1464张训练图片,1449张验证图片。人像抠图,医学组织提取,遥感图像分析,自动驾驶,材料图像等。反卷积输入2*2,输出4*4,卷积核3*3,

2025-03-20 10:37:03 306

原创 YOLO-V4

V4中用的是SAM , 也就是空间的注意力机制 不光NLP,语音识别领域在搞attention , CV中也一样。别一棒子全给打死 , 给个改过自新的机会Relu有点太绝对了 , M ish更符合实际。V4贡献:亲民政策 , 单GPU就能训练的非常好 , 接下来很多小模块都是这个出发点。并且还是一个捷径 , 红色的没准走个100层(Resnet) , 绿色的几层就到了。M 注意力机制 , 网络细节设计 ,特征金字塔等 , 你能想到的全有。V3中为了更好满足不同输入大小 , 训练的时候要改变输入数据的大小。

2025-03-14 11:22:23 267

原创 YOLO-V3

感受野大,检测大目标,感受野中,检测中目标,感受野小,检测小目标。终于到V3了,最大的改进就是网络结构,使其更适合小目标检测。特征做的更细致,融入多持续特征图信息来预测不同规格物体。先验框更丰富了,3种scale,每种3个规格,一共9种。YOLO-V2中选了5个,这回更多了,一共有9种。softmax改进,预测多标签任务。

2025-03-13 10:00:25 248

原创 YOLOV1和YOLOV2

很明显,堆叠小的卷积核所需的参数更少一些,并且卷积过程越多,特征提取也会越细致,加入的非线性变换也随着增多,还不会增大权重参数个数,这就是VGG网络的基本出发点,用小的卷积核来完成体特征提取操作。如果堆叠3个3*3的卷积层,并且保持滑动窗口步长为1,其感受野就是7*7的了,这跟一个使用7*7卷积核的结果是一样的,那为什么非要堆叠3个小卷积呢?感受野更大,特征提取更明显。V1训练时用的是224*224,测试时使用448*448可能导致模型水土不服,V2训练时额外又进行了10次448*448的微调。

2025-03-12 17:02:38 1460

原创 目标检测项目

设定目标框的置信度阈值,常用的阈值是0.5左右根据置信度降序排列候选框列表选取置信度最高的框A添到输出列表,将其从候选框列表删除候选框列表中的所有框依次与A计算IoU,删除大于阈值的候选框重复上述过程,直到候选框列表为空,返回输出列表。COCO(JSON)格式:(Xmin, Ymin, W, H),其中x,y,w,h均不是归一化后的数值,分别代表左上角坐标和宽、高。VOC(XML)格式:(Xmin,Ymin,Xmax,Ymax)分别代表左上角和右下角的两个坐标。类别+真实边界框坐标(x,y,w,h)

2025-03-11 10:50:44 461

原创 图像分类识别任务项目汇报的总结感悟

构建模型,定义类,一般是卷积层,池化层,全连接层,再进行正向传播,定义损失,学习率,优化器。预处理数据:导包,对图像进行标准化,转化totensor格式,翻转,剪切等,加载数据。训练模型:获取训练数据,权重参数剃度清零,正向传播,显示损失值,最后查看预测后的结果。先需要获取数据,数据一般是爬取,或者下载开源数据,如自己获取工作量太大,不推荐。项目完成,但是还有不足的地方,说一下未来规划,未来展望。测试模型的准确度,预测正确/总体。将玫瑰的解释从百度上爬取。最后将团队成员分工写清楚。

2025-03-10 17:03:59 323

原创 手写数字识别项目

因图像是灰色的只有一个通道,如果有多个通道,需要有多个数字,如三个通道,应该是Normalize([m1,m2,m3], [n1,n2,n3])。定义Net 类,借助 Sequential 函数组合各网络层,包括线性层、批归一化层等,并在 forward 方法中定义数据前向传播流程,输出经 softmax 处理。动态修改参数学习率,可以不断改变学习率,学习率不能过大,过大将会错过最小的值,过小,速度太慢,所以进行动态修改✖️0.9,在不断减小以便取得最小值。

2025-03-06 11:26:28 271

原创 优化模型2

进行集成,对三个模型进行判断,图片与标签预测一样为正确,计数为1,进行累加,得到最后集成数据 准确值。要想集成提升性能:需要学习器之前要用差异性;学习器的准确率要高,得出结果才是可以提升性能。VGG16 VGG19的模型复杂 ,所以预测出来比集成预测出来准确度高,下面导入数据。进行网络搭建,卷积层,池化层,卷积层,池化层,全连接层等。对VGG16进行迭代测试,进行评估。

2025-03-05 17:23:23 155

原创 测试模型和优化模型

输出显示预测类别为“frog”、“dog”、“deer”和“horse”计算准确率 准确率是百分之66,不同的电脑可能结果不同。conv卷积层 pool池化层 使用全局平均池化层。将图像和标签移动,并使用训练好的模型对图像进行预测。使用了钩子函数,可以挂钩任何东西,先进行定义。加载测试数据集并显示部分图像的标签。将图像拼接成网格形式显示。一个linear全连接层。

2025-03-04 11:21:03 429

原创 构建网络和训练数据集

CIFAR-10数据集由10个类的60000个32x32彩色图像组成,每个类有6000个图像。有50000个训练图像和10000个测试图像。使用PyTorch实现CIFAR-10多分类任务的示例代码,CIFAR-10数据集包含10个不同类别的图像,如飞机、汽车、鸟类等。先进行数据预处理,再进行模型构建,再进行数据训练。数据集分为5个训练批次和1个测试批次,每个批次有10000个图像。训练批次以随机顺序选取剩余图像,但一些训练批次可能更多会选取来自一个类别的图像。#加载训练集和测试集并创建数据加载器。

2025-03-03 18:19:02 137

原创 图像分类识别

一般情况下,模型的精度越高,说明模型的效果越好。多类别分类模型各个类别之间的分类情况对于k分类问题,混淆矩阵为k*k的矩阵,元素Cij表示第i类样本被分类器判定为第j类的数量。主对角线的元素之和为正确分类的样本数,其余元素之和为错误分类的样本数。准确率(Precision):又称为查准率,表示在模型识别为正类的样本中,真正为正类的样本所占的比例。召回率(Recall):又称为查全率,表示模型正确识别出为正类的样本的数量占总的正类样本数量的比值。将不同的图像,划分到不同的类别标签,实现最小的分类误差。

2025-02-28 13:29:51 356

原创 Pytorch安装教程总结

之后输入y安装,如果出现上图,虚拟环境就创建成功,创建完虚拟环境进行激活,activate pytorch,进入pytorch虚拟环境中。安装成功点击Next,把finish上面两个勾去掉,点击finish就安装完成。如果你电脑有GPU,也就是显卡,可以下GPU版本,没有则下CPU版本。后面的cu121可以修改,改成比自己cuda版本小的就可以。版,过低了过高了可能会有不兼容的情况,推荐下这个版本。可以去C盘,用户,.condarc中删出一些通道。应用就可以了 ,进去看是否有版本号,就成功了。

2025-02-27 22:16:55 351

原创 Pytorch数据处理工具箱

2)调用相应的API接口,接口一般格式为:add_xxx(tag-name, object, iteration-number)#即add_xxx(标签,记录的对象,迭代次数)如果要对数据集进行多个操作,可通过Compose将这些操作像管道一样拼接起来,类似于nn.Sequential,nn.Sequential相当于容器,封装代码。conv卷积 ,drop随机丢失神经元,Linear全连接层,relu激活函数,softmax输出,解决分类问题,BatchNorm为批量归一。

2025-02-27 10:54:06 421

原创 Pytorch数据处理

数据集(torchvision.datasets):提供了MNIST、CIFAR10、ImageNet等多个常用数据集,封装在torch.utils.data.Dataset的子类中,方便读取和迭代,还支持自定义数据集创建。可视化工具(torchvision.utils):可将多个图像拼接成一个网格,以更好地观察生成的图像或模型预测的效果,还提供了一些函数,可以轻松绘制学习曲线和其他统计指标,帮助开发者分析模型训练过程中的表现。2.DataLoader:可以批量处理。DataLoader:可以批量处理。

2025-02-26 18:55:43 283

原创 继承nn.Module基类模型容器和自定义网络模块

另一种是为使输入与输出形状一致,需添加通过1×1卷积调整通道和分辨率,方便相加整合。forward正向传播,括号中的x与等号前面中的x平不相同。·组合这两个模块得到现代经典RetNet18网络结构。avgpool平均池化层。maxpool最大池化层。

2025-02-25 14:31:22 314

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除