- 博客(48)
- 收藏
- 关注
原创 电商双11美妆数据分析
观察饼图,不难发现A类平均单价的品牌所占的销售额比例最高,D类最少,并且D类中的一半以上收入都来自于雅诗兰黛品牌,而最受欢迎的相宜本草由于其价格便宜,销售额也最高。事实上,D类中,也就是高端商品中,雅诗兰黛占据了主要份额,一方面可能由于品牌效应,就个人主观的分析,雅诗兰黛为人熟知,在推广营销方面做的很好,所以销量尚可。相宜本草商品数量也只属于中游,但其销量销售额均排在第一位,由于其销量是第二名的大约两倍,而销售额远不到两倍,所以销售额/销量,也就是每一单的均价也是一个值得研究的新指标。
2025-05-07 16:01:53
348
原创 电商双11美妆数据分析(二)
在临近双11时,9日销量达到最高,因为更临近了,所以关注的人更多,购买的人更多。但是在10日有所下降,和双11下降有相同的理由,是人们都主观的认为双11当天的购买人数太多,可能会有网络、平台卡顿导致无法成功下单的忧虑,所以反而造成了双11当天销量急剧下滑。先观察销量,各店小类中销量最高的是相宜本草的补水类商品以及妮维雅的清洁类商品,这两类销量很接近。由于不同的类别使用量也不同,销量自然也会有所区别,所以相对于比较每个店铺的不同类别的销售量,比较每个不同类别的各店铺的销售量应该更有价值。可能存在刷单等现象。
2025-05-07 15:58:34
984
原创 数据科学与计算
格式为sns.set_theme(style="whitegrid", context="paper")# 创建一个示例数据框(文档中未给出完整示例,此处假设数据)sns.scatterplot() - 散点图。sns.violinplot() - 小提琴图。sns.lineplot() - 折线图。sns.barplot() - 柱形图。sns.boxplot() - 箱线图。# 创建一个示例数据框。# 创建一个示例数据框。# 创建一个示例数据框。# 创建一个示例数据框。# 创建一个示例数据框。
2025-05-06 08:02:25
615
原创 大数据应用开发和项目实战(二)
已知五年级三班的同学中,喜欢篮球的同学占20%,喜欢乒乓球的同学占30%,喜欢羽毛球的同学占20%,喜欢足球的同学占18%,喜欢排球的同学占12%。imread() 方法返回一个 numpy.ndarray 对象,其形状是 (nrows, ncols, nchannels),表示读取的图像的行数、列数和通道数。imshow() 创建了一个 4x4 的二维 numpy 数组,并对其进行了三种不同的 imshow 图像展示。imsave() 可以将生成的图像保存到指定的目录中。
2025-04-29 10:05:57
797
原创 大数据应用开发和项目实战
很多人在买一本书的时候,都比较喜欢货比三家,例如《python数据分析实战》在亚马逊、当当网、中国图书网、京东和天猫的最低价格分别为39.5、39.9、45.4、38.9、33.34。· 如果我们不指定 x 轴上的点,则 x 会根据 y 的值来设置为 0, 1, 2, 3..N-1。· 如果我们不指定 x 轴上的点,则 x 会根据 y 的值来设置为 0, 1, 2, 3..N-1。· 绘制一条不规则线,坐标为 (1, 3)、(2, 8)、(6, 1)、(8, 10)grid():来设置图表中的网格线。
2025-04-28 17:01:27
431
原创 Spark总结
3.有向无环图(DAG):大数据计算引擎框架分四类,Hadoop的MapReduce将计算分Map和Reduce阶段,上层应用拆分算法困难,催生了支持DAG的框架(第二代计算引擎如Tez、Oozie,多为批处理任务),以Spark为代表的第三代计算引擎支持Job内部DAG及实时计算。记住,这里的并行执行的任务数量,并不是指的切分任务的数量。Spark框架执行时,先申请资源,再把应用程序的数据处理逻辑拆解为一个个计算任务,接着将任务发送到已分配资源的计算节点,依据指定计算模型进行数据计算,最终得出计算结果。
2025-04-27 16:39:22
665
原创 Spark-Streaming核心编程
给定一个由(键,事件)对构成的 DStream,并传递一个指定如何根据新的事件更新每个键对应状态的函数,它可以构建出一个新的 DStream,其内部数据为(键,状态) 对。与 RDD 中的惰性求值类似,如果一个 DStream 及其派生出的 DStream 都没有被执行输出操作,那么这些 DStream 就都不会被求值。updateStateByKey() 的结果会是一个新的 DStream,其内部的 RDD 序列是由每个时间区间对应的(键,状态)对组成的。1. 定义状态,状态可以是一个任意的数据类型。
2025-04-27 16:38:21
519
原创 Kafka和其他组件的整合
DStream 上的操作与 RDD 的类似,分为 Transformations(转换)和 Output Operations(输。reduceByKey()会归约每个时间区间中的数据,但不会归约不同区间之间的数据。RDD 转化操作应用到每个批次上,也就是转化 DStream 中的每。RDD(批次)组成,且无状态转化操作是分别应用到每个 RDD 上的。需要记住的是,尽管这些函数看起来像作用在整个流上一样,但事实上每个。使用Spark消费Kafka中的数据。// 等迭代器中的数据,全部完成之后,再关。
2025-04-25 10:30:23
550
原创 kafka与spark连接
ReceiverAPI:需要一个专门的 Executor 去接收数据,然后发送给其他的 Executor 做计算。Executor 和计算的 Executor 速度会有所不同,特别在接收数据的 Executor。DirectAPI:是由计算的 Executor 来主动消费 Kafka 的数据,速度由自身控制。每一条数据,只存在于当前主题的一个分区中,所有的副本中,都有数据。Executor 速度,会导致计算数据的节点内存溢出。读取数据时,分区间的数据是无序的,分区中的数据是有序。目录下查看分区中log。
2025-04-24 09:37:48
679
原创 配置kafka与spark连接
1)修改hadoop配置文件/opt/software/hadoop/hadoop-2.9.2/etc/hadoop/yarn-site.xml,并分发给其他节点。2)返回到spark-yarn目录,修改conf/spark-env.sh,添加 JAVA_HOME 和 YARN_CONF_DIR 配置。log.dirs=/root/kafkadata // 数据存放的目录,会自动生成,不需要创建。是否启动一个线程检查每个任务正使用的虚拟内存量,如果任务超出分配值,则直接将其杀掉,默认是 true。
2025-04-23 17:49:25
781
原创 Spark-SQL项目
Spark SQL CLI 可以很方便的在本地运行 Hive 元数据服务以及从命令行执行查询任务。在 Spark 目录下执行如下命令启动 Spark SQL CLI,直接执行 SQL 语句,类似于 Hive 窗口。D:\spark\spark-3.0.0-bin-hadoop3.2\bin当中直接运行spark-sql。
2025-04-22 10:12:04
155
原创 Spark-Streaming
在Spark 1.5 以前版本,用户如果要限制 Receiver 的数据接收速率,可以通过设置静态配制参数“spark.streaming.receiver.maxRate”的值来实现,此举虽然可以通过限制接收速率,来适配当前的处理能力,防止内存溢出,但也会引入其它问题。Spark Streaming 支持的数据输入源很多,例如:Kafka、Flume、Twitter等,以及和简单的 TCP 套接字等等。容错:Spark Streaming在没有额外代码和配置的情况下,可以恢复丢失的数据。
2025-04-22 10:08:23
771
原创 Spark-SQL核心编程
Spark SQL CLI 可以很方便的在本地运行 Hive 元数据服务以及从命令行执行查询任务。在 Spark 目录下执行如下命令启动 Spark SQL CLI,直接执行 SQL 语句,类似于 Hive 窗口。➢ Spark 要接管 Hive 需要把 hive-site.xml 拷贝到 conf/目录下,并将url中的localhost改为node01。D:\spark\spark-3.0.0-bin-hadoop3.2\bin当中直接运行spark-sql。Spark-SQL连接Hive。
2025-04-16 18:05:48
1052
原创 Spark-SQL核心编程
/ 创建 SparkConf 对象,设置应用名称和运行模式。// 执行 SQL 查询,计算平均工资并显示结果。// 自定义聚合函数类,继承自 Aggregator。// 创建 RDD 并存储人员姓名和工资信息。// 创建 SparkContext 对象。// 创建 SparkSession 对象。// 创建 RDD 并进行转换和聚合操作。// 创建 SparkConf 对象。//创建SparkSession对象。//创建SparkSession对象。// 完成聚合操作,计算最终结果。
2025-04-15 10:02:00
741
原创 Spark-SQL
这使得 Spark SQL 得以洞察更多的结构信息,从而对藏于 DataFrame 背后的数据源以及作用于 DataFrame 之上的变换进行了针对性的优化,最终达到大幅提升运行时效率的目标。在 IDEA 中开发程序时,如果需要 RDD 与 DF 或者 DS 之间互相操作,那么需要引入 import spark.implicits._ 这里的 spark 不是 Scala 中的包名,而是创建的 sparkSession 对象的变量名称,所以必 须先创建 SparkSession 对象再导入。
2025-04-14 17:36:07
812
原创 Spark-Core编程二
在 Driver 程序中定义的变量,在。// 创建 SparkConf 对象,设置应用名称和运行模式为本地模式。// 创建 SparkConf 对象,设置应用名称和运行模式为本地模式。// 创建 SparkConf 对象,设置应用名称和运行模式为本地模式。// 创建 SparkConf 对象,设置应用名称和运行模式。// 创建 SparkConf 对象,设置应用名称和本地运行模式。// 创建 SparkConf 对象,设置应用名称和运行模式。// 创建 SparkConf 对象,设置应用名和运行模式。
2025-04-11 09:53:42
562
原创 Spark-Core编程
(acc1: (Int, Int), acc2: (Int, Int)) => (acc1._1 + acc2._1, acc1._2 + acc2._2) // 将分区内部计算的结果进行分区间的汇总计算。(acc: (Int, Int), v) => (acc._1 + v, acc._2 + 1), // 在分区内部进行,将新元素 v 合并到第一步操作得到的结果中。// 创建 SparkConf 对象,设置运行模式为本地模式,应用名为 RDD_function。
2025-04-10 10:32:49
750
原创 spark安装
启动成功后,可以输入网址进行Web UI监控页面进行访问。(默认端口为4040)在解压缩文件夹下的 data 目录中,添加 word.txt 文件。在命令行工具中执行如下代码指令。
2025-04-08 15:58:32
237
原创 集合计算高级函数
/(4)扁平化+映射 注:flatMap 相当于先进行 map 操作,在进行 flatten。//(2)转化/映射println(list.map(x => x + 1))// 从源码的角度,reduce 底层调用的其实就是 reduceLeft。// 单词计数:将集合中出现的相同的单词,进行计数,取计数排名前三的结。单词计数:将集合中出现的相同的单词,进行计数,取计数排名前三的结果。// 4) 对计数完成后的结果进行排序(降序)// 2) 将相同的单词放置在一起。// 3) 对相同的单词进行计数。
2025-04-08 15:52:26
552
原创 大数据技术之Scala
一、多维数组1)多维数组定义val arr = Array.ofDim[Double](3,4)说明:二维数组中有三个一维数组,每个一维数组中有四个元素2)案例实操object TestSet {def main(args: Array[String]): Unit = {//(1)创建了一个二维数组, 有三个元素,每个元素是,含有 4 个元素一维数组()val arr = Array.ofDim[Int](3, 4) arr(1)(2) = 88//(2)遍历二维数组for (i <- arr) { //
2025-04-07 16:07:17
698
原创 scala编程语言
(1)案例中的 super,不是表示其父特质对象,而是表示上述叠加顺序中的下一个特质,即,MyClass 中的 super 指代 Color,Color 中的 super 指代Category,Category 中的super指代Ball。第二种,一个类(Sub)混入的两个 trait(TraitA,TraitB)中具有相同的具体方法,且两个 trait 继承自相同的 trait(TraitC),及所谓的“钻石问题”,解决这类冲突问题,Scala 采用了特质叠加的策略。
2025-04-03 17:32:55
972
原创 scala编程语言
封装就是把抽象出的数据和对数据的操作封装在一起,数据被保护在内部,程序的其它部分只有通过被授权的操作(成员方法),才能对数据进行操作。在 Scala 中可以为每个包定义一个同名的包对象,定义在包对象中的成员,作为其对应包下所有 class 和 object 的共享变量,可以被直接访问。如果类是 public 的,则必须和文件名一致。(1)val 修饰对象,不能改变对象的引用(即:内存地址),可以改变对象属性的值。//val 修饰对象,不能改变对象的引用(即:内存地址),可以改变对象属性的值。
2025-04-02 16:26:30
1084
原创 函数式编程
/ (2)如果参数列表中存在多个参数,那么可变参数一般放置在最后def test2( name : String, s: String* ): Unit = {解决问题时,将问题分解成一个一个的步骤,将每个步骤进行封装(函数),通过调用这些封装好的步骤,解决问题。//(1)定义一个函数,函数参数还是一个函数签名;有多个参数,且每个参数再后面只使用一次,则参数省略且后面参数用_表示,第n 个_代表第n 个参数。闭包:如果一个函数,访问到了它的外部(局部)变量的值,那么这个函数和他所处的环境,称为闭包。
2025-04-01 10:42:29
763
原创 scala代码2
Scala 内置控制结构特地去掉了 break 和 continue,是为了更好的适应函数式编程,推荐使用函数式的风格解决break 和continue 的功能,而不是一个关键字。需求 4:循环遍历 10 以内的所有数据,奇数打印,偶数跳过(continue)需求:将原数据中所有值乘以 2,并把数据返回到一个新的集合中。需求 2:采用 Scala 自带的函数,退出循环。需求:输出 1 到 5 中,不等于 3 的值。需求:输出 5 句 "scala "需求:输出 5 句 "scala "
2025-03-31 16:54:35
671
原创 Scala基础代码展示
/使用val定义的变量值是不可变的,相当于java里用final修饰的变量val i = 1//使用var定义的变量是可变的,在Scala中鼓励使用val//Scala编译器会自动推断变量的类型,必要的时候可以指定类型//变量名在前,类型在后一、字符串的插值操作")条件表达式val x = 1三、类型的转换四、循环语句1、for循环1 to 151 until 20遍历字符串:遍历数组:双重循环:数组操作:对数组中的每个数乘以10,生成一个新数组:2、while循环。
2025-03-28 11:02:29
772
原创 scala编程语言
这可以大幅减少名称冲突的可能性。Scala比Java代码简洁明了,表达力强,开发速度快,可以与Java相互转换使用,可以为以后学习spark和Kafka打下基础。: Scala 可以直接调用 Java 代码,并且可以在 Java 中调用 Scala 代码。如果需要使用几个单词来构成一个类的名称,每个单词的第一个字母要大写。如果若干单词被用于构成方法的名称,则每个单词的第一个字母应大写。: 可以使用 Java 的标准库和框架,利用其丰富的生态系统。: 可以混入类中,提供类似多重继承的功能,增强代码复用性。
2025-03-27 10:29:40
296
原创 U-Net
Deep Supervision :也是很常见的事,多输出,损失由多个位置计算,再更新,现在来看 , 很多视觉任务都可以套用这招。:因为前面也单独有监督训练,可以根据速度要求来快速完成剪枝,训练的时候同样会用到L4 ,效果还不错。:特征融合,拼接更全面,其实跟densenet思想一致,把能拼能凑的特征全用上就是升级版了。:还引入了特征拼接操作,以前我们都是加法 , 现在全都要,这么简单的结构就能把分割任务做好。:概述就是编码解码过程,简单但是很实用 ,应用广,起初是做医学方向 , 现在也是。
2025-03-21 09:05:04
363
原创 图像识别技术与应用
Cityscape数据集:5000张精细标注的图像(2975张训练图、500张验证图和1525张测试图)、20000张粗略标注的图像。COCO数据集:共91类,以人类4岁小孩能够辨识为基准,其中82类有超过5000个instance。将不同的像素划分到不同的类别,非常细粒度的分类。只预测前景目标的类别属性以及边框,个体ID,每一个像素可以属于多个ID。VOC数据集:一共2913张图,1464张训练图片,1449张验证图片。人像抠图,医学组织提取,遥感图像分析,自动驾驶,材料图像等。
2025-03-20 09:59:55
281
原创 图像分割项目
Cityscape数据集:5000张精细标注的图像(2975张训练图、500张验证图和1525张测试图)、20000张粗略标注的图像。COCO数据集:共91类,以人类4岁小孩能够辨识为基准,其中82类有超过5000个instance。实例分割:只预测前景目标的类别属性以及边框,个体ID,每一个像素可以属于多个ID。将不同的像素划分到不同的类别,非常细粒度的分类。VOC数据集:一共2913张图,1464张训练图片,1449张验证图片。3、COCO数据集:以场景理解为目标,特别选取比较复杂的日常场景。
2025-03-20 09:18:17
375
原创 Yolov4
并且还是一个捷径 , 红色的没准走个100层(Resnet) , 绿色的几层就到了。比较好理解 , 坐标回归预测值都在0-1之间 , 如果在grid边界怎么表示?亲民政策 , 单GPU就能训练的非常好 , 接下来很多小模块都是这个出发点。V3中为了更好满足不同输入大小 , 训练的时候要改变输入数据的大小。做人留一面日好相见 ,柔和一点的NMS , 更改分数而且直接剔除。注意力机制 , 网络细节设计 ,特征金字塔等 , 你能想到的全有。只增加训练成本 , 但是能显著提高精度 , 并不影响推理速度。
2025-03-14 10:52:36
918
原创 YOLO-V3
终于到V3了,最大的改进就是网络结构,使其更适合小目标检测。特征做的更细致,融入多持续特征图信息来预测不同规格物体。先验框更丰富了,3种scale,每种3个规格,一共9种。为了能检测到不同大小的物体,设计了3个scale。softmax改进,预测多标签任务。下采样通过stride为2实现。没有池化和全连接层,全部卷积。3种scale,更多先验框。基本上当下经典做法全融入了。残差连接-为了更好的特征。scale变换经典方法。scale变换经典方法。softmax层替代。
2025-03-13 09:30:43
316
原创 YOLO系列
从现在的角度来看,Batch Normalization已经成网络必备处理。经过Batch Normalization处理后的网络会提升2%的mAP。可能导致模型水土不服,V2训练时额外又进行了10次448*448的微调。V2中并没有直接使用偏移量,而是选择相对grid cell的偏移量。这样会导致收敛问题,模型不稳定,尤其是刚开始进行训练的时候。V1训练时用的是224*224,测试时使用448*448。问题2:小物体检测效果一般,长宽比可选的但单一。网络的每一层的输入都做了归一化,收敛相对更容易。
2025-03-12 16:15:22
191
原创 目标检测项目
1、VOC数据集:PASCAL VOC挑战赛(The PASCAL Visual Object Classes)是一个世界级的计算机视觉挑战赛。经典发展线:R-CNN、SPP-Net、Fast R-CNN、 Faster R-CNN。2、COCO数据集:起源于微软2014年出资标注的MS COCO数据库。其他:Cascade R-CNN、Guided Anchoring。1、类别+真实边界框坐标(x,y,w,h)SSD系列:SSD、DSSD、FSSD。常见two stage算法。
2025-03-11 10:23:10
288
原创 图像分类识别任务项目汇报的总结感悟
标注问题:学习预测不相互排斥的类别的问题称为多标签分类(multi-label classification)-个样本(一个图片或者一个候选框)中含有多个物体,标注的label也是多个的,多个类间并不是互斥的。廉价又高质量的传感器、廉价的数据存储以及廉价计算的普及,特别是GPU的普及,使大规模的算力唾手可得。一般情况下,模型的精度越高,说明模型的效果越好。流程:在梯度法中,函数的取值从当前位置沿着梯度方向前进一定的距离然后在新的方向重新求梯度,再沿着新梯度的方向前进,如此反复,不断的沿梯度方向前进。
2025-03-10 17:59:58
489
原创 手写数字识别项目
3)求损失值:yprevmodel(x)loss=loss fu(y prev,y true)4)自动求导,实现梯度的反向传播:loss.backward()5)更新参数:optimizer.step)定义损失函数可以通过自定义方法或使用PvIorch内署的损失函数,如回归使用的loss fimem, SELoss0),分类使用的m.BCELoss等损失函数,更多内容可参考本书5.2.4节。Pytoch常用的优化方法都封装在torch.optin里面,其设计很灵活,可以扩展为自定义的优化方法。
2025-03-06 10:45:58
584
原创 图像识别技术与应用(集成算法)
对于一个复杂任务来说,将多个专家的判断进行适当的综合所得出的判断,要比其中任何一个专家单独的判断好。集成学习(ensemble learning)通过构建并结合多个学习器来完成学习任务等。集成学习的结果通过投票法产生?
2025-03-05 18:27:49
159
原创 图像识别技术与应用
CIFAR-10数据集由10个类的60000个32x32彩色图像组成,每个类有6000个图像。数据集分为5个训练批次和1个测试批次,每个批次有10000个图像。测试批次包含来自每个类别的恰好1000个随机选择的图像。训练批次以随机顺序选取剩余图像,但一些训练批次可能更多会选取来自一个类别的图像。图6-27 显示了数据集中涉及的10个类,以及来自每个类的10个随机图像。为方便起见,我们已预先下载好数据并解压,存放在当前目录的data目录下,所以,参数download=False。6.5.1 数据集说明。
2025-03-03 16:55:56
204
原创 图像分类项目
可以用来表示模型的精度,即模型识别正确的个数/样本的总个数。主对角线的元素之和为正确分类的样本数,其余元素之和为错误分类的样本数。准确率(Precision):又称为查准率,表示在模型识别为正类的样本中,真正为正类的样本所占的比例。召回率(Recall):又称为查全率,表示模型正确识别出为正类的样本的数量占总的正类样本数量的比值。对于k分类问题,混淆矩阵为k*k的矩阵,元素Cij表示第i类样本被分类器判定为第j类的数量。将不同的图像,划分到不同的类别标签,实现最小的分类误差。
2025-02-28 10:43:05
320
原创 Pytorch数据处理工具箱二
3)启动tensorboard服务。cd到logs目录所在的同级目录,在命令行输入如下命令,logdir等式右边可以是相对路径或绝对路径。1)导入tensorboard,实例化SummaryWriter类,指明记录日志路径等信息。transforms提供了对PIL Image对象和Tensor对象的常用操作。transforms提供了对PIL Image对象和Tensor对象的常用操作。ransforms提供了对PIL Image对象和Tensor对象的常用操作。使用TensorBoard的一般步骤如下。
2025-02-27 10:04:09
440
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人