- 博客(621)
- 资源 (19)
- 收藏
- 关注
转载 Spark RDD 详细介绍
RDD(Resilent Distributed Datasets)俗称弹性分布式数据集,是Spark 底层的分布式存储的数据结构,可以说是 Spark 的核心, Spark API 的所有操作都是基于 RDD 的. 有容错机制并可以被并行操作的元素集合,具有只读、分区、容错、高效、无需物化、可以缓存、RDD依赖等特征。RDD只是数据集的抽象,分区内部并不会存储具体的数据。 R...
2018-09-13 17:47:58
1258
原创 Java多线程--局部变量(Threadlocal)
ThreadLocal是什么 ThreadLocal并非是一个线程的本地实现版本,它并不是一个Thread,而是thread local variable(线程局部变量)。线程局部变量(ThreadLocal)的功用非常简单,就是为每一个使用该变量的线程都提供一个变量值的副本,是每一个线程都可以独立地改变自己的副本,而不会和其它线程的副本冲突。从线程的角度看,就好像每一个线程都完全拥有该变量。 ThreadLocal的接口: Ob
2010-11-26 10:08:00
1587
1
原创 【matplotlib】解决中文乱码问题
摘要:本文介绍了在Python的matplotlib中解决中文乱码问题的几种方法。主要包括:1)通过font_manager添加中文字体路径并设置rcParams参数;2)直接使用系统自带中文字体;3)在特定绘图函数中使用FontProperties指定字体;4)针对Mac系统的特殊设置。文章提供了详细的代码示例,特别展示了如何为不同操作系统(Windows/Linux/Mac)配置中文字体显示,并给出了完整的图表绘制示例,包括标题、坐标轴标签的中文显示解决方案。
2025-11-11 16:20:09
239
原创 【sklearn】二手手机价格预测
摘要:本研究基于包含2000条记录的手机定价数据集,利用多种机器学习算法预测手机价格范围(0-3四个等级)。数据集包含21个特征,如电池容量、内存等。通过KNN、LR、SVM等模型比较,结果显示SVM模型在0.05参数下表现最佳(准确率97%),但训练耗时较长(19.13秒)。相比之下,KNN模型在k=5时达到93%准确率且训练仅需0.0016秒。研究还发现RBF和POLY模型在特定参数下也能达到94%准确率。决策树模型表现中等(85%准确率),而SGD模型效果最差(仅24%准确率)。最终模型比较结果以可视
2025-11-11 15:38:06
530
原创 【sklearn】算法比较(线性/逻辑回归,KNN,决策树)
本文探讨了使用scikit-learn内置数据集进行机器学习模型训练的方法。以鸢尾花数据集为例(150个样本,4个特征),比较了KNN、逻辑回归、SVM和决策树等模型的性能。实验显示不同参数下各模型表现:KNN(参数=10/15)和逻辑回归(参数=1/100)均达到100%准确率,SVM在参数100时也达到完美分类。文中提供了完整的数据加载、模型训练和评估代码,包括特征提取、数据分割、模型实现和性能比较等功能模块,为机器学习初学者提供了实用参考范例。
2025-11-11 11:36:21
456
原创 【sklearn】KNN邻近算法模型(鸢尾花预测)
摘要:本文使用鸢尾花数据集(150个样本,4个特征)演示KNN分类模型构建。通过训练测试集拆分(75%训练数据),建立K=1的KNN分类器,模型测试精度达到96%。最后对新样本[[1.1,5.9,1.4,2.2]]进行预测,结果显示属于versicolor品种。代码展示了从数据加载、模型训练到预测评估的完整流程。
2025-11-10 17:42:03
113
原创 【sklearn】逻辑回归模型(鸢尾花预测)
摘要:本文使用逻辑回归算法对鸢尾花数据集进行分类预测。数据集包含150个样本,每个样本有4个特征(花萼和花瓣的长度、宽度),目标为预测鸢尾花属于Setosa、Versicolour或Virginica三个品种之一。通过pandas处理数据后,采用sklearn的LogisticRegression模型进行训练,设置最大迭代次数为3000次。结果显示模型在训练集和测试集上都取得了较高的准确度评分,并能对单个样本进行准确预测。该实验验证了逻辑回归在经典分类问题中的有效性。
2025-11-10 17:32:42
274
原创 【sklearn】多标签数据集-精讲篇
摘要:工欲善其事,必先利其器。本文介绍了scikit-learn中常用的数据生成方法,包括make_blobs、make_classification等单标签数据集生成工具。这些方法可以创建不同复杂度的人工数据集,用于分类、聚类等任务测试。并通过可视化展示不同生成器产生的数据分布特点。实际上scikit-learn内置了很多可以用于机器学习的数据,用于 回归任务,这些数据集-线性回归,逻辑回归,SVM支持向量机,随机森林,决策树等大模型等分类,识别和预测,适用于 机器学习算法测试和特征工程研究。
2025-11-10 13:47:03
614
原创 【sklearn】单标签数据集-精讲篇
摘要:工欲善其事,必先利其器。本文介绍了scikit-learn中常用的数据生成方法,包括make_blobs、make_classification等单标签数据集生成工具。这些方法可以创建不同复杂度的人工数据集,用于分类、聚类等任务测试。并通过可视化展示不同生成器产生的数据分布特点。实际上scikit-learn内置了很多可以用于机器学习的数据,用于 回归任务,这些数据集-线性回归,逻辑回归,SVM支持向量机,随机森林,决策树等大模型等分类,识别和预测,适用于 机器学习算法测试和特征工程研究。
2025-11-10 13:09:22
1030
原创 【sklearn】数据集精讲解篇
工欲善其事,必先利其器。数学模型是机器学习的灵魂,数据模型的血液。实际上scikit-learn内置了很多可以用于机器学习的数据,可以用两行代码就可以使用这些数据。用于 回归任务,适用于 机器学习算法测试和特征工程研究。这些数据数据量少,数据均衡,大多无缺失值异常值并且已经进行了必要的归一化标准化处理,可用于演示,但是在处理现实遇到的数据集却不大一样。这些数据集-线性回归,逻辑回归,SVM支持向量机,随机森林,决策树等大模型等分类,识别和预测,是机器学习的入门好文章!
2025-11-10 10:45:24
1073
原创 【python】Tesseract-OCR训练字库
Tesseract识别支持自己训练的字库,自己训练出来的字库一般具有轻量、有针对性、识别率高的特点,那么本教程就手把手教你如何制作适合自己脚本的字库文件,并且如何用IDE工具调试偏色保证识别效果。
2025-04-13 20:33:43
1489
原创 【Python】Mac安装Tesseract详解
OpenCV本身不具备OCR识别功能,但可以通过与Tesseract结合使用,Tesseract是一个开源的OCR(Optical Character Recognition)引擎,OCR是一种技术,它可以识别和解析图像中的文本内容,使计算机能够理解并处理这些文本。Tesseract提供了丰富的配置选项和接口,使得开发者可以根据自己的需求和场景进行定制化和集成。通过使用Tesseract,你可以将一张包含文字的图像(如扫描文档、照片或截屏)输入到引擎中,然后Tesseract会通过一系列的图像处理和模式识别
2025-04-13 19:20:49
1275
原创 【Python】OpenCV 详解入门教程
OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉和机器学习软件库,它提供了从基本操作到复杂算法的广泛工具集。无论你是图像处理的新手还是希望提升技能的专业人士,OpenCV都能成为你的强大助手。OpenCV是一个跨平台的库,它实现了多种编程语言的接口,包括Python。它被广泛用于实时图像处理、对象检测、人脸识别、视频分析等领域。使用OpenCV,我们可以轻松地读取、处理和保存图像,以及执行复杂的图像分析任务。
2025-04-13 12:20:13
3389
原创 Mac如何更换终端默认的python版本
2.在打开的配置文件中输入(以下代码3.12替换为所下载的版本即可)5.在终端输入python或者python3检测更换成功。一、Mac中如何更换终端默认的python版本。#下面是修改python版本的命令就是环境变量。3.Command+s保存文件后关闭文件。1、打开终端输入下列代码,打开配置文件。mac电脑的python环境。4.回到终端窗口执行以下代码。
2025-04-12 23:56:05
1033
原创 Python安装Matplotlib
Matplotlib 是一款用于数据可视化的 Python 软件包,支持跨平台运行,它能够根据 NumPy ndarray 数组来绘制 2D 图像,它使用简单、代码清晰易懂。库的构成Figure:指整个图形,您可以把它理解成一张画布,它包括了所有的元素,比如标题、轴线等Axes:绘制 2D 图像的实际区域,也称为轴域区,或者绘图区Axis:指坐标系中的垂直轴与水平轴,包含轴的长度大小(图中轴长为 7)、轴标签(指 x 轴,y轴)和刻度标签。
2025-04-12 22:17:35
394
原创 Mac电脑Pytorch环境配置
PyTorch是一个用于机器学习和深度学习的开源深度学习框架,由Facebook于2016年发布,其主要实现了自动微分功能,并引入动态计算图使模型建立更加灵活。Pytorch可分为前后端两个部分,前端是与用户直接交互的python API,后端是框架内部实现的部分,包括Autograd,它是一个自动微分引擎。Pytorch基于已有的张量库Torch开发,在PyTorch的早期版本中,使用的是Torch7,后来随着PyTorch的发展,逐渐演变成了PyTorch所使用的张量库。
2025-04-12 21:21:48
1178
原创 【Java版】OpenCV-图片亮度对比
1.1 什么是对比度对比度是指图像中相邻像素之间亮度或颜色的差异程度。对比度越高,图像中不同区域之间的颜色差异越明显。对比度的提高可以使图像看起来更加清晰和生动。1.2 为什么要增加对比度增加图像的对比度可以使图像更加清晰,更具视觉吸引力。在一些图像处理应用中,如图像识别、目标检测等任务中,高对比度的图像能够提高算法的准确性和性能。1.3 OpenCV图片增加对比度在图像处理领域,对比度是指图像中亮度不同区域之间的差异程度。提高图像对比度可以使图像看起来更加清晰和生动。
2025-04-02 07:55:38
1049
原创 【Java版】OpenCV-Laplacian边缘检测和轮廓查找
在Java环境下实现Laplacian边缘检测提供了便利。通过JavaCV,我们可以轻松地将Laplacian缘检测算法应用到各种图像处理项目中,充分发挥其优势。在图像处理领域,边缘检测是一项至关重要的任务。图像中的边缘包含了丰富的信息,例如物体的轮廓、区域的边界等。边缘检测算法有多种,其中Laplacian边缘检测算法 以其精确性和可靠性而备受关注。Laplacian边缘检测算法的目标是在尽可能减少噪声影响的同时,准确地检测出图像中的边缘。
2025-04-01 22:16:18
483
原创 【Java版】OpenCV-Sobel边缘检测和轮廓查找
在Java环境下实现Sobel边缘检测提供了便利。通过JavaCV,我们可以轻松地将Sobel边缘检测算法应用到各种图像处理项目中,充分发挥其优势。在图像处理领域,边缘检测是一项至关重要的任务。图像中的边缘包含了丰富的信息,例如物体的轮廓、区域的边界等。边缘检测算法有多种,其中 Sobel边缘检测算法 以其精确性和可靠性而备受关注。Sobel边缘检测算法的目标是在尽可能减少噪声影响的同时,准确地检测出图像中的边缘。
2025-04-01 22:09:29
530
原创 【Java版】OpenCV-Canny边缘检测和轮廓查找
在Java环境下实现Canny边缘检测提供了便利。通过JavaCV,我们可以轻松地将Canny边缘检测算法应用到各种图像处理项目中,充分发挥其优势。在图像处理领域,边缘检测是一项至关重要的任务。图像中的边缘包含了丰富的信息,例如物体的轮廓、区域的边界等。边缘检测算法有多种,其中 Canny边缘检测算法 以其精确性和可靠性而备受关注。Canny边缘检测算法的目标是在尽可能减少噪声影响的同时,准确地检测出图像中的边缘。
2025-04-01 21:59:06
620
原创 【Java版】OpenCV边缘检测
JavaCV是一个在Java平台上用于计算机视觉的库,它为我们在Java环境下实现Canny边缘检测提供了便利。通过JavaCV,我们可以轻松地将Canny边缘检测算法应用到各种图像处理项目中。边缘检测是一项至关重要的任务。图像中的边缘包含了丰富的信息,例如物体的轮廓区域的边界等。边缘检测算法有多种,其中Canny边缘检测算法以其精确性和可靠性而备受关注。Canny边缘检测算法的目标是在尽可能减少噪声影响的同时,准确地检测出图像中的边缘。如 Canny 、Sobel 、Laplacian 算子等。
2025-04-01 21:39:09
583
原创 【Java版】OpenCV实现窗口图片显示
JavaCV是一个基于OpenCV的Java接口,使得Java开发者能够更方便地使用OpenCV库。图片展示是在图片处理过程中,经常遇到的且方便调试的主要的功能之一。
2025-04-01 20:20:59
396
原创 【Java版】OpenCV图片灰度化处理
JavaCV是一个基于OpenCV的Java接口,使得Java开发者能够更方便地使用OpenCV库。灰度图是一种只包含亮度信息的图像,每个像素的值表示其亮度。相比于 RGB 彩色图像,灰度图不仅使用了较少的存储空间,而且在某些图像处理时,处理速度也更加迅速。因此,灰度图在图像分析、模式识别等领域有着广泛的应用。
2025-04-01 19:48:02
509
原创 【Java版】 JavaCV 视觉处理库详解
JavaCV 是基于 OpenCV 和其他计算机视觉/多媒体库的 Java 接口,提供了 Java 平台上的高效计算机视觉和音视频处理能力。它封装了多个底层 C/C++ 库(如 OpenCV、FFmpeg、libdc1394 等),并通过 Java Native Access(JNA)或 JavaCPP 技术实现 Java 调用,使开发者能在 Java 或 Android 项目中轻松使用这些功能。OpenCV、ARToolKitPlus、libdc1394 2.x 、PGR FlyCapture 和。
2025-04-01 19:37:18
1878
原创 OpenCV的介绍
OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉和机器学习软件库,图像处理:滤波、边缘检测、色彩转换、几何变换(旋转/缩放)、形态学操作等。视频分析:运动检测、目标跟踪、光流计算、背景减除等。特征提取与匹配:SIFT、SURF、ORB、角点检测、描述符匹配等。物体检测与识别:人脸/眼睛检测(Haar级联、DNN)、文字识别(OCR)、目标检测(YOLO、SSD)等。3D重建:立体视觉、深度图生成、相机标定、SLAM(如ORB-SLA)
2025-04-01 19:04:31
853
原创 【AI】Mac本地部署DeepSeek与Chatbox整合
Chatbox是一款基于Tauri的跨平台开源客户端应用程序,简单易用。除了 Ollama 之外,我们还通过 API 支持其他几种流行的大型模型。推荐理由跨平台客户端应用程序,支持Windows/ MacOS/ Linux/ iOS/ Android。除了 Ollama 之外,它还支持多种大型语言模型。无需部署本地应用程序即可使用。chatBox下载地址选择Intel版本 进行安装选择:使用自己的API Key 或本地模型选择deepSeek模型正常交互对话命令窗口交互。
2025-02-18 21:01:35
611
原创 【AI】Mac 本地化部署Deepseek
deepSeek专注于开发先进的大语言模型(LLM)和相关技术。DeepSeek是一款由国内人工智能公司研发的大型语言模型,拥有强大的自然语言处理能力,能够理解并回答问题,还能辅助写代码、整理资料和解决复杂的数学问题。与OpenAI开发的ChatGPT相比,DeepSeek不仅率先实现了媲美OpenAI-o1模型的效果,还大幅降低了推理模型的成本。其新模型DeepSeek-R1以十分之一的成本达到了GPT-o1级别的表现,引发海外AI圈的广泛讨论。本文主要是本地部署deepSeek应用。
2025-02-18 17:45:32
1217
原创 【AI】Mac安装Ollama和deepSeek REST API交互
Ollama是一个开源的本地大语言模型运行框架,设计用于简化在本地运行大型语言模型的过程,降低使用门槛。它通过简单的安装指令,使得用户可以通过一条命令在本地运行开源大型语言模型,例如Llama2。Ollama保留了类似Docker的操作习惯,支持上传和管理大语言模型仓库,包括DeepSeek、Llama 2、Mistral、Qwen等模型。③可扩展:Ollama支持多种模型架构,并可以扩展以支持新的模型。它还支持热加载模型文件,无需重新启动即可切换不同的模型,这使得它非常灵活多变。
2025-02-18 16:25:40
664
原创 Mac电脑python环境搭建
以上操作就是使用easy_install这个软件和包管理工具,去将符合当前默认python版本的pip工具从镜像源上下载安装好了,安装完成之后可以使用pip -version这个命令来查看能够正常使用。mac操作系统是自带了有python2.7这个版本的,但是它没有idle、pythonLauncher以及pip等附带工具,还需要自己去将其下载安装才可以。因此,在安装matplotlib之前,需要确保你的Mac上安装了Xcode命令行工具,因为它们包含了编。Homebrew安装的软件包,只需在终端中输入。
2025-02-18 15:13:29
7167
1
原创 【面试】面试官让我谈谈ThreadLocal的使用
首先是ThreadLocal能干啥的问题,我们知道解决多线程的并发问题,最常见的思想就是加锁,我们很轻易的就能想到Synchronized关键字,但是使用synchronized关键字加锁会导致程序的性能降低。synchronized主要使用时间换空间,侧重于多线程程序的同步性threadlocal主要是用空间换时间,侧重于线程之间的隔离并发场景下,会存在多个线程同时修改一个共享变量的场景。这就可能会出现。为了解决线性安全问题,可以用加锁的方式,比如使用或者Lock。但是加锁的方式,可能会导致系统变慢。
2024-11-08 00:14:03
919
原创 【面试】考官问我如何实现分布式锁?
分布式锁是一种在分布式系统环境下,通过多个节点对共享资源进行访问控制的一种同步机制。它的主要目的是防止多个节点同时操作同一份数据,从而避免数据的不一致性。基于Mysql实现分布式锁,基于Zookeeper实现分布式锁,基于reids实现分布式锁。设计分布式锁的原则:1,加锁和释放锁必须是同一个客户端。2,互斥性,同一时刻只能有一个线程获得锁。3,可重入性,当一个线程获取锁后,还可以再次获取这个锁,避免死锁发生。4,高性能,要做到高并发、低延迟;5,高可用,当小部分节点挂掉后,仍然能够对外提供服务。
2024-11-07 22:41:37
1359
原创 【Mysql】详解数据库的分库分表
当MySQL单表数据量过大,比如超过5千万条的时候,读写性能变得很差。而且常规的优化手段已经不起作用了,比如:SQL调优、添加索引、主从复制、读写分离。这时候就需要用到MySQL终极优化方案 — 分库分表。当数据库的QPS过高,数据库连接数不足的时候,就需要分库。当单表数据量过大,读写性能较差,就需要分表。当两者都有的时候,就需要分库分表。垂直分库分表以及分库分表的多种策略:范围法,基因法,Hash取模法以及路由配置法等。
2024-11-07 21:38:14
1360
原创 【面试】考官问我如何实现分库分表?
当MySQL单表数据量过大,比如超过5千万条的时候,读写性能变得很差。而且常规的优化手段已经不起作用了,比如:SQL调优、添加索引、主从复制、读写分离。这时候就需要用到MySQL终极优化方案 — 分库分表。当数据库的QPS过高,数据库连接数不足的时候,就需要分库。当单表数据量过大,读写性能较差,就需要分表。当两者都有的时候,就需要分库分表。
2024-11-07 19:43:04
1064
原创 【Mysql】雪花算法(Snowflake)
雪花算法(Snowflake)是一种生成全局唯一ID的分布式算法。它的主要功能是在分布式系统中生成一个全局唯一的ID,且ID是按照时间有序递增的。Snowflake 中文的意思为雪花,所以 Snowflake算法 常被称为 雪花算法,是 Twitter(现“X”)开源的分布式 ID 生成算法,是一种分布式主键ID生成的解决方案。生成后是一个 64bit 的 long 型的数值,组成部分引入了时间戳,基本保持了自增。互联网大厂实现的雪花开源项目:二、核心思想Snowflake算法使用一个64位的二进
2024-11-07 18:49:52
3899
原创 【面试】考官问我MySQL如何实现高并发电商订单ID
雪花算法(Snowflake)是一种生成全局唯一ID的分布式算法。它的主要功能是在分布式系统中生成一个全局唯一的ID,且ID是按照时间有序递增的。Snowflake算法使用一个64位的二进制数字作为ID。这64位long型ID被分割成四个部分:符号位、时间戳、工作机器ID、序列号。通过这几部分来表示不同的信息,将数据映射到具有特定结构的分布式系统中,实现数据的存储和查询。雪花算法广泛应用于分布式系统中的唯一ID生成。它可以保证在分布式环境中生成的ID是唯一且有序的。常见的应用场合包括订单号生成、分布式数据。
2024-11-07 13:01:51
588
原创 【面试】考官问我如何用 Redis 统计独立用户访问量?
Linear算法和位图类似,但实际使用的不多,这里不多做介绍了。本文要介绍的Redis HyperLogLog,从名字也可以看出来,Redis实现是基于HyperLogLog Counting(HLLC)算法的,HyperLogLog是LogLog算法的一个改进和优化,后面我们会一起讲解这两个算法,并学习HyperLogLog是如何在LogLog的基础上改进的。Redis HyperLoglog最多使用12k内存来进行基数统计,并且误差可以保持在0.81%左右。
2024-11-07 12:24:18
1214
原创 【面试】谈谈SpringBoot的@Import用法
SpringBoot自动装配,就是默认使用ImportSelector的方式加载META-INF/spring.factories中指定的配置类。导入 ImportBeanDefinitionRegistrar 实现类。导入 ImportSelector 实现类。一般用于加载配置文件中的类。,这个注解的作用:使用@import导入的类。,用于导入配置类或者需要被Spring。
2024-11-06 13:03:59
329
原创 【面试】Spring Boot 监视器
在 Spring Boot 中,监视器()是一个用于监控和管理应用程序的模块,提供了丰富的功能和端点(endpoints),可以帮助开发人员实时查看应用程序的运行状态、性能指标和健康状况,以及执行一些管理操作。监视器模块的主要目的是让开发人员更方便地监控和管理应用程序,帮助他们发现潜在问题、优化性能和提高可靠性。Spring Boot提供了自动配置模块用于支持 SpringBoot 应用的监控。Spring Boot Actuator模块提供了生产级别的功能,比如。
2024-11-06 12:13:59
380
原创 【SpringBoot】WebMvcConfigurer的工作原理
WebMvcConfigurer是Spring MVC框架中的一个核心接口,它允许开发者自定义Spring MVC的配置,以满足应用程序的特定需求。通过实现这个接口,开发者可以注册拦截器、添加视图控制器、配置视图解析器等,而无需使用XML配置。@OverrideWebMvcConfigurer是一个回调接口,它提供了一系列方法来配置Spring MVC的行为。
2024-11-05 20:35:25
1914
原创 【面试】SpringBoot如何解决跨域
因为你同源策略原因,浏览器回组织不同域名的网络请求,SpringBoot解决跨域问题有很多种办法,WebMvcConfigurer和@CrossOrigin注解是最常用的解决办法。使用WebMvcConfigurer接口来添加全局的跨域配置。可以重写addCorsMappings方法来设置允许跨域的规则。使用 `@CrossOrigin` 注解,特定的控制器或方法上配置跨域
2024-11-05 19:36:29
325
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅