自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 数据分析案例(2)

在临近双11时,9日销量达到最高,因为更临近了,所以关注的人更多,购买的人更多。sale_day.index = [datetime.strptime(i, '%Y/%m/%d') for i in sale_day.index]:datetime.strptime() 函数用于将字符串类型的日期(原 update_time 字段值,格式为 %Y/%m/%d,即年/月/日 )转换为 datetime 对象,然后将其设置为 sale_day 数据的索引,方便后续绘图时按日期顺序展示。

2025-05-07 17:01:31 884

原创 电商双11美妆数据分析

data.loc[data['sale_count'].isnull()].head() 和 data.loc[data['comment_count'].isnull()].tail() :分别查看 sale_count 列和 comment_count 列存在缺失值的行的部分数据,了解缺失值所在行的情况。df = pd.read_csv('双十一淘宝美妆数据.csv') :读取名为“双十一淘宝美妆数据.csv”的文件到DataFrame对象 df 中。导入 jieba 库,这是一个常用的中文分词工具。

2025-05-07 15:37:06 642

原创 Seaborn数据可视化库

1.安装:可使用pip install seaborn或conda install seaborn,也可使用清华源https://pypi.tuna.tsinghua.edu.cn/simple加速。一、Seaborn介绍:基于Matplotlib的Python数据可视化库,专注绘制统计图形,简化可视化过程,提供高级接口和美观默认主题。1. 散点图:sns.scatterplot()绘制两个变量间散点图,可添加趋势线。4. 箱线图:sns.boxplot()展示变量分布情况,含中位数、四分位数等。

2025-04-30 19:36:41 555

原创 大数据应用开发与实战(2)

已知五年级三班的同学中,喜欢篮球的同学占20%,喜欢乒乓球的同学占30%,喜欢羽毛球的同学占20%,喜欢足球的同学占18%,喜欢排球的同学占12%。hist()方法绘制直方图,可设置数据、箱数、颜色、标签等参数,能绘制单组或多组数据的直方图,还可结合 Pandas 的 DataFrame 或 Series 对象绘制,展示数据分布特征。imsave()函数将生成的图像保存到指定目录,需指定文件名和图像的 NumPy 数组,还可设置保存格式和质量等参数,示例展示了保存灰度和彩色图像的方法。

2025-04-29 11:17:31 1130

原创 大数据应用开发与实战(1)

绘图标记与线条定制:plot()函数的marker参数定义标记样式,fmt参数综合设置标记、线条样式和颜色,同时还能借助markersize(ms)、markerfacecolor(mfc)、markeredgecolor(mec)分别调整标记大小、内部颜色、边框颜色;可选,设置显示哪个方向的网格线,可以是取 'both','x' 或 'y',分别表示两个方向,x 轴方向或 y 轴方向。(3)绘制一条不规则线,坐标为 (1, 3)、(2, 8)、(6, 1)、(8, 10)

2025-04-28 19:13:52 2342

原创 Spark阶段学习总结

转换(Transformation):map、filter、reduceByKey、join(惰性执行,不立即计算)。不可变:通过转换(Transformation)生成新 RDD,保留操作 lineage(血缘关系)。DStream(离散化流):将实时流切割为多个时间片(如每秒一个批次),每个批次对应一个 RDD。行动(Action):collect、count、saveAsTextFile(触发实际计算)。累加器(Accumulator):分布式环境下的全局计数器,用于统计任务结果(如全局计数)。

2025-04-27 16:27:55 602

原创 Spark-Streaming核心编程内容总结

功能:用于跨批次维护状态(如累加wordcount),通过访问状态变量处理键值对形式的DStream。给定一个由(键,事件)对构成的 DStream,并传递一个指定如何根据新的事件更新每个键对应状态的函数,它可以构建出一个新的 DStream,其内部数据为(键,状态) 对。通用输出模式:foreachRDD允许重用Spark中的所有行动操作,常见用例是将数据写入外部数据库(如MySQL)。foreachRDD(func):最通用的输出操作,对每个RDD应用任意计算。注意:两者必须是采集周期大小的整数倍。

2025-04-27 15:43:51 509

原创 kafka整合flume与DStream转换

rw-r--r-- 1 root root 63 11月 8 23:01 flume-position.json。-rw-r--r-- 1 root root 1 10月 25 18:30 exec-logger.conf。-rw-------. 1 root root 955 9月 6 16:41 anaconda-ks.cfg。-rw-r--r-- 1 root root 108 11月 15 17:09 test.log。

2025-04-25 11:07:00 1228

原创 Kafka 命令行操作与 Spark-Streaming 核心编程总结

kafka-topics.sh --create --zookeeper <zk节点列表> --topic <主题名> --partitions <分区数> --replication-factor <副本数>kafka-console-consumer.sh --topic <主题名> --bootstrap-server <Broker节点列表> --consumer-property group.id=<组名>kafka-topics.sh --list --zookeeper <zk节点列表>

2025-04-24 10:16:12 1177

原创 Kafka 详解

2.安装步骤:需先安装 JDK 和 Zookeeper,下载 Kafka 安装包并解压,修改 server.properties 配置文件,包括 broker.id、listeners、log.dirs 等参数,分发安装包到其他节点并修改相应配置,启动前确保 Zookeeper 已启动。# 远程启动 node02 和 node03(需提前配置 SSH 免密登录)echo "----启动 Kafka 集群----"echo "----停止 Kafka 集群----"# 启动当前节点(node01)

2025-04-23 19:21:16 545

原创 Spark-Streaming简介及核心编程

背压机制:Spark 1.5 + 引入,通过spark.streaming.backpressure.enabled控制(默认false),根据作业执行情况动态调整数据接收速率,替代静态参数spark.streaming.receiver.maxRate。RDD 队列:通过ssc.queueStream(queueOfRDDs)创建,案例中使用队列循环添加 RDD(含 1-300 的整数),时间间隔4 秒,每次添加后线程休眠2000 毫秒。容错性:无需额外配置即可恢复丢失数据。

2025-04-22 11:44:50 400

原创 Spark-SQL连接Hive总结及实验

配置文件:将hive-site.xml(修改数据库连接为node01)、core-site.xml、hdfs-site.xml拷贝到Spark的conf/目录。步骤:同外部Hive配置,启动Thrift Server后,通过beeline -u jdbc:hive2://node01:10000 -n root连接。操作:将驱动和hive-site.xml放入对应目录,通过spark-sql.cmd启动,直接执行SQL(如show databases)。2. 外部Hive(spark-shell连接)

2025-04-21 20:05:56 744

原创 Spark-Sql编程(三)

通用方式:使用spark.read.load和df.write.save,通过format指定数据格式(如csv、jdbc、json等),option设置特定参数(jdbc格式下的url、user等),load和save指定路径。保存时可通过mode设置SaveMode,如ErrorIfExists(默认,文件存在则抛异常)、Append(追加)、Overwrite(覆盖)、Ignore(忽略)。CSV:可配置列表信息,如设置分隔符sep、推断模式inferSchema、指定表头header等。

2025-04-16 20:29:22 481

原创 Spark-SQL核心编程(二)

RDD、DataFrame、DataSet 转换:三者可相互转换。反向转换时,DataSet用toDF转回DataFrame,DataFrame通过rdd获取 RDD,转换过程能发挥不同数据结构优势。用于数据聚合计算,有多种实现方式(RDD与强弱UDAF)。创建SparkConf(设置运行模式和应用名)和SparkSessio(作为 Spark 入口,可读取数据、执行 SQL 查询)配置上下文环境。在 Spark 环境中,注册函数如addName后,可在 SQL 查询中调用,对指定字段按自定义逻辑处理。

2025-04-15 11:41:57 395

原创 Spark-SQL核心编程(一)

3.与 DataFrame 转换:DataFrame 是 DataSet 的特例(DataFrame = DataSet[Row]),二者可相互转换,DataFrame 转 DataSet 需借助样例类,DataSet 转 DataFrame 使用toDF方法。共性:都是 Spark 平台下的分布式弹性数据集,具有惰性机制,有共同函数,操作时多需import spark.implicits._,会自动缓存运算,都有分区概念,DataFrame 和 DataSet 可通过模式匹配获取字段信息。

2025-04-14 17:52:31 1028

原创 spark core编程之行动算子、累加器、广播变量

Executor 端的每个 Task 都会得到这个变量的一份新的副本,每个 task 更新这些副本的值后,传回 Driver 端进行 merge。aggregate:分区数据通过初始值和分区内数据聚合,再和初始值进行分区间聚合。reduce:聚集 RDD 所有元素,先聚合分区内数据,再聚合分区间数据。takeOrdered:返回 RDD 排序后的前 n 个元素组成的数组。take:返回 RDD 前 n 个元素组成的数组。first:返回 RDD 中第一个元素。count:返回 RDD 中元素个数。

2025-04-11 10:31:04 899

原创 Spark core编程之RDD 转换算子分类

mapPartitions:以分区为单位处理数据,可进行任意操作,能增删数据,但可能占用大量内存,内存有限时不推荐使用。join:连接两个 (K, V) 和 (K, W) 类型的 RDD,返回相同 key 对应的元素连接在一起的 (K, (V, W)) 的 RDD。sortBy:排序数据,可先处理数据再按处理结果排序,默认升序,会发生 shuffle,新 RDD 分区数与原 RDD 一致。filter:筛选过滤数据,保留符合规则的,丢弃不符合的,可能造成分区内数据不均衡。

2025-04-10 13:43:04 2033

原创 Spark core

1.RDD 特性与核心属性:RDD 是 Spark 中基本的数据处理模型,具有弹性(存储、容错、计算、分片方面)、分布式、数据集、数据抽象、不可变、可分区并行计算等特性。其核心属性包括分区列表用于并行计算、分区计算函数对每个分区进行计算、RDD 之间的依赖关系用于组合计算模型、分区器(可选,用于 K - V 类型数据分区)和首选位置(可选,根据节点状态选择计算位置)。2.核心概念:Executor 是工作节点的 JVM 进程,利用 Core 计算,可配置数量、内存和 CPU 核数。

2025-04-09 18:30:58 961

原创 Spark安装下载及配置

在解压缩文件夹下的 data 目录中,添加 word.txt 文件。把spark文件放到opt/software/spark里并解压。启动成功后,可以输入网址进行Web UI监控页面进行访问。1.安装spark并解压在没有中文空格的文件夹里。将spark的bin路径添加到path中。cmd输入spark-shell。启动spark-shell。一、Spark安装下载。

2025-04-09 15:32:16 477

原创 Scala集合计算高级函数及案例

4.扁平化 + 映射(flatMap):先进行 map 操作,再进行 flatten 操作wordList.flatMap(x => x.split(" "))把List("hello world", "hello zpark", "hello scala")中的每个字符串按空格拆分后合并成List("hello", "world", "hello", "zpark", "hello", "scala")。Reduce 简化(归约) :通过指定的逻辑将集合中的数据进行聚合,从而减少数据,最终获取结果。

2025-04-08 09:31:57 818

原创 scala集合

创建:val arr = Array.ofDim[Int](3, 4)(3 行 4 列)创建:val list = List(1, 2, 3)(数据有顺序,可重复)导入:import scala.collection.mutable.Set。操作:增加数据+=、添加数据并返回put、删除数据-=、修改数据update。创建:val map = Map("a" -> 1, "b" -> 2)定义:val tuple = (1, "a", true)访问:map.get("a").getOrElse(0)

2025-04-07 17:22:49 654

原创 scala类与集合

不可变集合(scala.collection.immutable):集合对象不可修改,每次修改就会返回一个新对象, 而不会对原对象进行修改。(3)定义抽象方法:def hello():String //只声明而没有实现的方法,就是抽象方法。(2)定义抽象属性:val|var name:String //一个属性没有初始化,就是抽象属性。转换:arr.toBuffer(不可变转可变),arr.toArray(可变转不可变)(2)[Int]是指定可以存放的数据类型,如果希望存放任意数据类型,则指定Any。

2025-04-03 14:44:29 822

原创 面向对象

Import导入、局部导入、通配符导入(import _)、重命名导入(import A => B)、屏蔽类(import A => _, _)抽象出的数据和对数据的操作封装在一起,数据被保护在内部,程序的其它部分只有通过被授权的操作(成员方法),才能对数据进行操作。定义语法:def 方法名(参数)[: 返回类型] = {方法体}4.包对象:定义共享成员(属性 / 方法),供包内所有类使用。protected:受保护权限,同类、子类可见(同包不可见)private:私有权限,类内部及伴生对象可见。

2025-04-02 18:26:16 415

原创 函数式编程

无参无返回值、无参有返回值、有参无返回值、有参有返回值、多参。Scala 语言可以在任何的语法结构中声明任何的语法。完全函数式编程:万物皆函数,函数可作为值传递。完全面向对象:万物皆对象,数据和行为封装。为完成某一功能的程序语句的集合,方法:类中的函数,支持重载/重写。:调用时指定参数名,打破顺序限制。Scala 中函数可以嵌套定义。(参数: 类型) => 函数体。,函数体最后一行代码为返回值。:有默认值的参数建议放后面。没有名字的函数就是匿名函数。独立代码块,无重载/重写。无参函数调用时可省略括号。

2025-04-01 11:32:14 550

原创 scala

Scala 内置方法,需导入scala.util.control.Breaks。for(没有关键字,所以范围后一定要加。35个脑袋 94只脚 计算鸡和兔的数量。分号分隔多层循环,等价于双层嵌套。过滤元素,跳过不满足条件的迭代。单行定义变量,需用分号分隔逻辑。六、倒序打印(reserve)指定步长,输出奇数或间隔序列。五、循环返回值(yield)模拟 continue。一、循环守卫if语句。

2025-03-31 17:35:35 448

原创 Scala基础

如果被循环的是 Map,返回的就是Map,被循环的是 List,返回的就是 List。//当y的值类型既可能为Int又可能为String时,它的类型被定义为Any,是Int和String的父类。//在scala中每个表达式都有值,scala中有个Unit类,写做(),相当于Java中的void。值类型:Byte/Short/Int/Long/Float/Char/Double/Boolean。算术运算符(+、-、*、/、%)、位运算符(&、|、^、>>、<<)。//混合类型表达式,打印z的值。

2025-03-28 11:46:59 605

原创 Scala简介与基础

Scala 是一门多范式的编程语言,设计初衷是要集成面向对象编程和函数式编程的各种特性。Scala 运行在 Java 虚拟机上,并兼容现有的 Java 程序。无缝调用 Java 代码,Java 也可调用 Scala 代码。基于 Actor 模型,用于构建并发、分布式和容错的应用程序。静态类型:泛型、协变/逆变、标注、复合类型。运行于 JVM 之上,并可以调用现有的 Java 类库。: 提供线程安全的数据结构,方便并发编程。:属性和行为的集合,类的实例。:对象的抽象,包含字段和方法。: 提供异步编程的抽象。

2025-03-27 10:18:36 537

原创 U-Net系列算法

3. U - net+++:通过不同的max pool整合低阶特征(如轮廓),上采样整合高阶特征(感受野大、全局的),各层统一用卷积得到64个特征图,最终组合获取全部特征,仅作了解介绍。主要网络结构:引入特征拼接操作,与以往仅使用加法不同,通过这种结构能有效完成分割任务。整体结构:采用编码解码过程(反归一化),结构简单实用,应用广泛,最初用于医学方向。剪枝优势:由于前期有单独监督训练,可依据速度要求快速剪枝,训练时结合L4效果良好。整体网络结构:进行更全面的特征融合与拼接,借鉴了densenet思想。

2025-03-21 09:29:35 678

原创 图像分割

三层境界:语义分割(像素仅属一类,结果为掩膜)、实例分割(预测前景目标属性、边框和个体ID )、全景分割(每个像素有语义类别和唯一实例ID)。5. 典型图像分割网络:由卷积网络(编码器)和反卷积网络(解码器)构成,通过多次卷积、池化、反卷积等操作实现图像分割。Cityscape数据集:50个城市不同场景街景图,30个类别,含精细和粗略标注图像,用于语义和实例分割。输入2×2,卷积核3×3,输出4×4。前景与背景:物体(可数前景目标,如行人)和事物(不可数背景,如天空、草地)。卷积模块:提取图像特征。

2025-03-20 10:10:05 252

原创 YOLO-V4

损失函数必须考虑三个几何因素: 重叠面积 , 中心点距离 , 长宽比。数据增强:调整亮度、对比度、色调、随机缩放、剪切、翻转。:综合考虑重叠面积、中心点距离、长宽比,优化定位精度。:双向路径聚合网络,增强底层与高层特征交互。特征拆分与融合,减少计算量,增强梯度传播。:连续、非单调激活函数,提升特征表达能力。:结合中心点距离的 NMS,优化框筛选。:柔和抑制低分框,保留潜在正确候选。:空间金字塔池化,处理多尺度输入。:空间注意力模块,聚焦关键区域。:四图拼接,增强小目标检测能力。:随机遮挡区域,避免过拟合。

2025-03-14 10:56:59 382

原创 YOLO-V3

2. 多尺度检测:设计3个scale,用于检测不同大小物体,可分别利用不同特征图或融合后预测,还可对比图像金字塔和单一输入的scale变换方法。5. softmax层替代:在物体检测中,使用logistic激活函数替代softmax,可预测物体的多个标签,判断每一个类别是否存在。1.核心网络构架:去除池化和全连接层,全部采用卷积,下采样通过stride为2实现,融入多种经典做法。改进:更适合小目标检测,通过融入多尺度特征图信息,使特征更细致,可预测不同大小物体。下采样是图像尺寸变小,池化层是下采样。

2025-03-13 10:11:48 163

原创 YOLO系列

堆叠3个3×3卷积层(步长为1)的感受野与使用1个7×7卷积核的感受野相同,但堆叠小卷积核所需参数更少,且卷积过程能更细致地提取特征,增加非线性变换,YOLO-V2也借鉴了这种利用小卷积核提取特征的方式。输入图像大小为448×448×3,经过一系列卷积(C.R)、全连接(FC.R、FC)和重塑(Reshape)操作,最终输出7×7×30的张量。1. 概念:YOLO-V1是经典的one-stage目标检测方法,将检测任务转化为回归问题,通过一个CNN网络实现,能够对视频进行实时检测,应用广泛。

2025-03-12 16:55:00 429

原创 目标检测

检测结果分TP、FP、TN、FN;Precision(准确率)、Recall(召回率)、P - R曲线、mean AP(类别AP均值)、Average Precision(11点法、近似面积法计算)用于评估模型。3. Ground Truth格式:包含类别和边界框坐标,常见的有YOLO(归一化中心点坐标和宽高)、VOC(左上角和右下角坐标)、COCO(左上角坐标和宽高,非归一化)。1. 概念:目标检测是识别图片中物体并确定其位置的多任务技术,面临目标种类数量多、尺度不均、外部环境干扰等问题。

2025-03-11 10:26:30 651

原创 图像识别与应用总结与感悟

而分类任务,比如猫狗识别、手写数字识别等,会依据情况选择合适的损失函数,像交叉熵损失函数。同时,深度学习框架如PyTorch和TensorFlow等,为模型的开发和训练提供了便利,其中PyTorch因简洁易懂的API在学术界和工业界得到广泛应用。数据增强则通过有监督和无监督方法扩充数据,有监督方法包括平移、翻转等操作,无监督方法如利用GAN网络生成样本,从而提升模型的泛化能力。在评估模型性能时,混淆矩阵是重要工具,产生了精确率、准确率、召回率、F1_Score等指标,还有P-R曲线和ROC曲线辅助评估。

2025-03-10 20:41:54 642

原创 手动数字识别

self.layer1 = nn.Sequential(nn.Linear(in_dim, n_hidden_1), nn.BatchNorm1d(n_hidden_1)) 创建第一个容器,包含一个全连接层和一个批量归一化层。self.layer2 = nn.Sequential(nn.Linear(n_hidden_1, n_hidden_2), nn.BatchNorm1d(n_hidden_2)) 创建第二个容器,与第一个相似。train_batch_size :训练时每个批次的数据量,设置为64。

2025-03-06 13:21:11 1929

原创 使用卷积神经网络实现CIFAR10多分类-2与集成算法

self.conv1 = nn.Conv2d(in_channels=3, out_channels=16, kernel_size=5, stride=1):定义第一个二维卷积层,输入通道数为3(通常用于RGB图像),输出通道数为16,卷积核大小为5x5,步长为1。self.conv1 = nn.Conv2d(3, 6, 5):定义第一个二维卷积层,输入通道数为3(通常用于RGB图像),输出通道数为6,卷积核大小为5x5。集成学习通过构建和结合多个学习器完成任务。多个学习器综合判断往往优于单个学习器。

2025-03-05 17:16:41 1156

原创 使用卷积神经网络实现CIFAR10多分类-1.2

self.conv1 = nn.Conv2d(3, 16, 5):第一个二维卷积层,输入通道数为3(对应RGB图像),输出通道数为16,卷积核大小为5x5。self.conv2 = nn.Conv2d(16, 36, 5):第二个二维卷积层,输入通道数为16,输出通道数为36,卷积核大小为5x5。self.fc3 = nn.Linear(36, 10):全连接层,输入特征数为36,输出特征数为10。self.pool1 = nn.MaxPool2d(2, 2):第一个最大池化层,池化核大小为2x2。

2025-03-04 12:07:27 776

原创 使用卷积神经网络实现CIFAR10多分类-1

第2层又是一个二维卷积层(Conv2d),输入通道数为16,输出通道数为36,卷积核大小为(3, 3),步长为(1, 1)第0层是一个二维卷积层(Conv2d),输入通道数为3,输出通道数为16,卷积核大小为(5, 5),步长为(1, 1)self.conv2定义第二个卷积层,输入通道数为16,输出通道数为36,卷积核大小为3x3,步长为1。第1层是一个二维最大池化层(MaxPool2d),池化核大小为2,步长为2,填充为0。self.fc2定义第二个全连接层,输入维度为128,输出维度为10。

2025-03-03 17:28:28 1021

原创 图像分类

精确率(Accuracy):模型识别正确的个数与样本总个数的比值,即正确分类样本数 / 总样本数,反映模型的整体精度。召回率(Recall):模型正确识别为正类的样本数量占总正类样本数量的比值。准确率(Precision):模型识别为正类的样本中,真正为正类的比例。P-R曲线:召回率增加时精度下降,曲线与坐标轴面积越大,模型越好,对正负样本不均衡敏感。一、定义:将不同的图像划分到不同的类别标签,以实现最小的分类误差。TP(真正例):将正类预测为正类的数量。FP(假正例):将反类预测为正类的数量。

2025-02-28 10:59:46 374

原创 pytorch数据处理工具箱详情

torchvision 拥有四个核心模块,分别是: 数据集( datasets ):提供常用数据集的加载方法,如ImageNet等;转换( transforms ):用于数据增强和预处理的多种图像变换方法;工具( utils ):包含帮助函数,例如用于可视化和模型操作的工具。RandomHorizontalFlip:随机水平翻转图像RandomVerticalFlip:随机垂直翻转图像。Scalar:可视化单一数值(如损失值、准确率)。3.可视化损失值:记录训练过程中的损失值变化。

2025-02-27 09:36:59 818

input_size.jpeg

input_size.jpeg

2025-02-27

空空如也

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

TA关注的人

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