自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

田乐蒙的博客

计科人记录的个人学习历程

  • 博客(405)
  • 问答 (6)
  • 收藏
  • 关注

原创 numpy的随机数生成器

是 NumPy 1.17.0 引入的默认随机数生成器,它基于。更灵活,支持更先进的随机数生成方法,并允许更方便地切换不同的。,提供更快、更安全的随机数生成方式。来创建随机数生成器。设置种子可以保证可复现性。

2025-03-03 13:42:31 195

原创 特征分析与数据预处理

对数据进行质量分析以后,接下来可通过常规统计分析、绘制图表、计算某些特征量关系等手段进行数据的特征分析。

2025-02-27 18:53:10 646

原创 机器学习:强化学习的epsilon贪心算法

强化学习(Reinforcement Learning, RL)是一种机器学习方法,旨在通过与环境交互,使智能体(Agent)学习如何采取最优行动,以最大化某种累积奖励。它与监督学习和无监督学习不同,强调试错探索(Exploration-Exploitation)以及基于奖励信号的学习。强化学习任务通常用马尔可夫决策过程来描述:机器处于环境E中,状态空间X,其中每个状态x∈X是机器感知到的环境的描述,机器能采取的动作构成了动作空间A,若某个动作a∈A作用在当前状态x。

2025-02-27 16:15:42 1383

原创 数据结构:树的概念

树的概念:树是n个结点的有限集合,有且仅有一个被称为根的结点。当n1时,其余结点可分为互不相交的有限集合,其中每个集合本身又是一颗树。有序树:树中结点各子树从左到右是有次序的,不能交换。无序树:~森林是m棵互不相交的树的集合。。

2025-02-27 10:29:48 894

原创 大语言模型概念科普

这些模型可以通过大量的数据和参数进行训练,以生成人类类似的文本或回答自然语言的问题。在AI大模型中,Prompt的作用主要是给AI模型提示输入信息的上下文和输入模型的参数信息。在使用大语言模型时,总会看到token一词,调用大模型api是根据token的使用数进行付费。与当前的人工智能(AI)相比,AGI 不是专门针对某个任务(如语言生成、图像识别),而是具备。大模型(Large Model)是指具有大规模参数和复杂计算结构的机器学习模型。文字、图片、音频、视频等多种内容的人工智能系统。

2025-02-26 17:13:52 926

原创 Python的迭代器和生成器

iterator。

2025-02-25 16:46:15 432

原创 Python对象引用及global、nonlocal关键字使用

对象的生命周期由引用计数机制管理。当一个对象的引用计数变为零时,该对象会被垃圾回收。在使用python做算法题时,有时会遇到一些问题,如:有的需要。当创建一个变量并赋值时,实际上是在创建一个指向该值的引用。关键字可以使局部空间中与全局变量名一致的变量更改为全局变量。指向的对象引用没有改变,而只是对象进行扩展。限定变量,有时却不需要。就是对象引用,所以会不一样。的对象引用赋值给局部变量。中打印的是原来的全局变量。,那么得到的会不一样。所指向的引用对象,所以。的引用赋值给全局变量。内当作新的局部空间。

2025-02-18 09:08:26 293

原创 Python 中的 configparser 模块详解

在 Python 开发中,我们经常需要使用配置文件来存储配置信息,例如数据库连接、日志级别或 API 密钥等。模块是 Python 标准库的一部分,它提供了对。格式配置文件的读取和写入支持。创建新的配置文件或修改已有配置。

2025-02-17 09:41:35 219

原创 机器学习:十大算法实现汇总

机器学习十大算法代码实现:使用numpy、pandas,不调用机器学习相关库。

2025-02-16 20:59:03 327

原创 机器学习:k近邻

K 邻近算法(K-Nearest Neighbors,简称 KNN)是一种经典的机器学习算法,主要用于分类和回归任务。它的核心思想是:给定一个新的数据点,通过查找训练数据中最接近的 K 个邻居,并根据这些邻居的标签来预测新数据点的标签。KNN 是一种(Instance-based learning)算法。在训练阶段,它并不构建显式的模型,而是将训练数据存储起来,在预测阶段计算待预测点与训练集中所有点的距离,然后选择 K 个最近的邻居,根据邻居的标签进行投票或平均来做出预测。KNN 的优点在于其。

2025-02-16 16:34:35 689

原创 机器学习PCA和LDA

主成分分析(PCA, Principal Component Analysis)和线性判别分析(LDA, Linear Discriminant Analysis)是两种常用的降维方法,它们虽然都用于数据降维,但核心思想和应用场景不同。

2025-02-16 13:28:27 695

原创 机器学习:k均值

在“无监督学习”中,训练样本的标记信息是未知的,目标是通过对无标记训练样本的学习来揭示数据的内在性质及规律,为进一步的数据分析提供基础,较为经典的是聚类。**聚类试图将数据集中的样本划分为若干个通常是不相交的子集,每个子集称为一个“簇”。**聚类既能作为一个单独过程,用于找寻数据内在的分布结构,也可以作为分类等其他学习任务的前驱过程。距离计算:pu1∑n​∣xiu​−xju​​∣p无序属性:VDM(Value Difference Metric)i1∑k。

2025-02-15 14:55:02 913 2

原创 面试准备-排序部分:快速排序、堆排序

堆排序是一种基于比较的排序算法,利用了堆这种数据结构(通常是二叉堆)来完成排序。快速排序是一种基于**分治思想(Divide and Conquer)**的排序算法。:如果每次选择的基准导致极端不均匀划分(如已排序数组选择最左/最右元素),递归深度达到。**原地排序版本(Hoare 版)**的快速排序只需要。递归调用栈的空间复杂度为。:每次都能将数组均匀划分,递归深度为。,可能会改变相同元素的相对顺序。:随机选取基准时,通常能保证。,可以减少栈的使用深度。快排的时间复杂度取决于。

2025-02-10 20:50:08 384

原创 机器学习:朴素贝叶斯分类器

贝叶斯决策论是概率框架下实施决策的基本方法,对分类任务来说,在所有相关概率都已知的理想情形下,贝叶斯决策论考虑如何基于这些概率和误判损失来选择最优的类别标记。贝叶斯决策论通过结合先验知识和观测数据,使用贝叶斯定理计算后验概率,从而做出最优决策。但是对于类条件概率P(x|c)来说,涉及了关于x所有属性的联合概率,因此很难进行估计。,当训练集包含充足的独立同分布样本时,P©可以通过各类样本所占的比例来进行估计。贝叶斯定理是贝叶斯决策论的基础,描述了如何根据新的证据更新先验概率,

2025-02-09 17:02:43 1277

原创 集合的 子集枚举

个元素选出不同的集合。可以发现,对于单个元素来说,只有选和不选,即一共有。当当前子集状况整个遍历完成之后,就得到了一共子集集合。可以对数组进行排序。由于只有两种情况,当。如果元素有重复,那么要怎么做呢?个元素相同,则也不应该被选择。这一题中的元素是不重复的。的元素没有被选择,而第。

2025-02-05 09:39:59 220

原创 python的ruff简单使用

Ruff 是一个用 Rust 编写的高性能 Python 静态分析工具和代码格式化工具。它旨在提供快速的代码检查和格式化功能,同时支持丰富的配置选项和与现有工具的兼容性。是用rust实现的python Linter&Formatter。它可以作为代码检查工具和代码格式化工具使用。代码格式化采用单引号、缩进使用。

2025-02-03 21:50:51 659

原创 python的pre-commit库的使用

pre-commit 是一个强大的工具,它可以帮助我们在提交代码到版本控制系统(如 Git)之前自动运行一系列的代码检查和格式化操作。通过这种方式,我们可以确保每次提交的代码都是干净的、格式化的并且符合项目的编码标准。例如,在 Git 中,你可以设置一个 hook 在提交前运行。pre-commit 利用了 Git 的这一特性,允许用户定义一组钩子(hook),这些钩子会在提交之前自动执行。如果之后有修改,不需要再次安装,会自动采用最新的yaml或者自定义hooks来运行。安装完成之后,首先在根目录创建。

2025-02-03 21:40:42 465

原创 pandas的melt方法使用

方法用于将宽格式(wide format)的 DataFrame 转换为长格式(long format)的 DataFrame。这种转换在数据处理和可视化中非常有用,尤其是在处理多列数据时。表,查询每个产品在不同商店的价格,使得输出的格式变为。如果这一产品在商店里没有出售,则不输出这一行。宽格式 vs 长格式。

2025-02-03 14:45:57 315

原创 pandas的rank方法使用

降序(method=‘dense’)得到排名,之后按照分数由高到低排序并返回即可。方法用于对数据进行排名,它可以根据指定的规则为每个元素分配一个排名值。方法非常灵活,支持多种排名方法,适用于处理数值型数据。编写一个解决方案来查询分数的排名。,所以小值在前,大值在后。同时,排序方式也是默认的。指定排名顺序,默认升序。,所以看到的不是整数。

2025-02-03 10:43:07 367

原创 pandas中的关系型连接操作

其中左连接和右连接是等价的,由于它们的结果中的键是被一侧的表确定的,因此常常用于有方向性地添加到目标表。内外连接两侧的表,经常是地位类似的(左右表位置的交换不引起结果的变化),想取出键的交集或者并集,具体的操作还需要根据业务的需求来判断。的关键特性是它会将每个分组的最大值广播回原始 DataFrame 的形状。也就是说,每个分组中的每一行都会被赋予该分组的最大值。在某些时候出现重复元素是麻烦的,例如两位同学来自不同的班级,但是姓名相同,这种时候就要指定。如果两个表中想要连接的列不具备相同的列名,可以通过。

2025-02-03 10:02:07 971

原创 pandas中的str使用方法

操作,使其能够像 Python 的字符串方法一样被调用,但支持对整个列或。编写解决方案,修复名字,使得只有第一个字符是大写的,其余都是小写的。如果不在每次字符串操作前显式使用。访问器,就会导致后续的方法调用失败。访问器用于对 Series。只能用于包含字符串类型的。在 Pandas 中,则不正确,因为它缺少。

2025-02-01 20:03:26 310

原创 pandas中的apply方法使用

是逐行或逐列操作的,因此在处理大规模数据时可能较慢。在处理大规模数据时,需注意性能问题,尽量使用向量化操作。用于对 DataFrame 或 Series 中的数据进行逐行或逐列的操作。编写解决方案,计算每个雇员的奖金。函数或自定义函数),并将该函数应用到每一行或每一列上。,表示将每一行或每一列作为 NumPy 数组传递给函数。,将每一行或每一列作为 Series 传递给函数。函数、自定义函数或内置函数。默认是0,将函数应用到每一列。,那么他的奖金是他工资的。表示将函数应用到每一行。

2025-02-01 19:29:25 227

原创 pandas分组

可以在agg中使用具体的自定义函数,需要注意传入函数的参数是之前数据源中的列。'Gender'

2025-02-01 14:10:54 743

原创 pandas:loc/iloc索引器

locloc。

2025-01-25 16:29:19 598

原创 pandas基础学习:常用基本函数

索引排序的用法和值排序完全一致,**只不过元素的值在索引中,此时需要指定索引层的名字或者层号,用参数。方法把年级和姓名两列作为索引,多级索引的内容和索引设置的方法将在第三章进行详细讲解。上面这些所有的函数,由于操作后返回的是标量,所以又称为聚合函数,它们有一个公共参数。排序共有两种方式,其一为值排序,其二为索引排序,对应的函数是。,它们分别返回的是分位数、非缺失值个数、最大值对应的索引。一般而言,替换操作是针对某一个列进行的,因此下面的例子都以。的功能类似,但前者返回了是否为唯一值的布尔列表,其。

2025-01-24 16:05:29 1089

原创 python及其相关技巧

记录使用Python进行数据分析、机器学习的一些小技巧!更新日期:2025年2月3日。

2025-01-24 10:35:20 604

原创 pandas基础:基本数据结构

类型,而选择多列时返回的是 DataFrame 类型。这种行为是设计上的选择,目的是为了提供更灵活的数据操作方式。中,当你从DataFrame中选择列时,选择的方式会影响返回的数据类型。具体来说,选择单列时返回的是。的基础上增加了列索引,一个数据框可以由二维的。其中,索引也可以指定它的名字,默认为空。,在这两种结构上定义了很多的属性和方法。中具有两种基本的数据存储结构,存储一维。一般由四个部分组成,分别是序列的值。代表了一种混合类型。

2025-01-23 21:48:19 229

原创 pandas基础:文件的读取和写入

参数可以是一个整数列表(列的索引位置)、一个字符串列表(列名)或一个布尔值。参数可以是一个整数(列的索引位置)、一个字符串(列名)、一个整数列表或字符串列表。默认不将任何列作为索引。参数可以是一个整数列表(列的索引位置)、一个字符串列表(列名)或一个函数。参数用于指定分隔符(分隔列的字符)。parse_dates:将某些列解析为日期时间格式。参数是一个整数,表示读取的行数。index_col:将某列或多列作为索引列。usecols:指定读取哪些列。nrows:指定读取的行数。sep:自定义分隔符。

2025-01-23 21:12:52 733

原创 机器学习:支持向量机

支持向量机(Support Vector Machine)是一种二类分类模型,其基本模型定义为特征空间上的间隔最大的广义线性分类器,其学习策略便是间隔最大化,最终可转化为一个凸二次规划问题的求解。假设两类数据可以被H=x:wTx+b≥cH = {x:w^Tx + b \ge c}H=x:wTx+b≥c分离,垂直于法向量www,移动HHH直到碰到某个训练点,可以得到两个超平面H1H_1H1​和H2H_2H2​,两个平面称为支撑超平面,题目分别支撑两类数据。而位于H1H_1H1​和H2H_2H2​正中间的超平面

2025-01-22 14:36:26 2499

原创 python内置的调试工具-pdb

最近写python代码,当代码逻辑复杂时,总是要检查是否正确运行。但是光用print显得较为麻烦,在网上找到了内置的调试工具pdb,使用起来比print要舒服,因此特来总结一下pdb的使用。pdb有两种使用方法:侵入式(在调试代码中添加一行代码,之后在正常运行)当命令行前面出现(pdb)时,就表示调试工具pdb启动成功。当前所在位置会用->进行标注,表示。

2025-01-22 10:41:13 1355

原创 numpy库ndarray维度问题

今天在写支持向量机代码时,有一个维度处理错了,导致超平面一直不正确,发现是维度错误。所以写一下numpy中维度相关内容。是一个元组(tuple),表示数组在每个维度上的大小。它描述了数组的形状,即每个维度有多少个元素。是一个整数,表示数组的维度数量。它只告诉你数组有多少个维度,而不关心每个维度的大小。两个位置最多只能有一个-1,表示安装另一个非-1值进行排列,剩下。,前者是一维,后者是二维。**transpose()**是转置,等价于。:重塑ndarray的行数和列数(

2025-01-21 22:07:51 370

原创 vscode导入模块不显示类型注解

的存在,导致vscode不能智能选择哪个而产生错误。模块时,导入后不显示类型注解。改个名字后,发现就有类型注解。在vscode中导入。

2025-01-21 17:06:34 494

原创 使用numpy求解线性代数相关问题

奇异值分解(SingularValueDecomposition,简称SVD)是线性代数中一种重要的矩阵分解方法。它将一个矩阵分解为三个特定的矩阵乘积,这些矩阵具有明确的几何和代数意义。类型,前者是数组类型,后者是矩阵类型。数组类型相乘是逐元素相乘,而矩阵类型相乘则是矩阵乘法。求解矩阵的迹,用于计算矩阵主对角线上元素的总和,较为通用。所以没有在linalg模块。是矩阵线性无关的行(或列)的最大数目,它反映了矩阵的“非零度”。类型来进行线性代数问题求解。则是其主对角线上元素之和。

2025-01-19 15:35:24 631

原创 79. 单词搜索

思考:一定用dfs思想,但是难点在于如何判断是否已经遍历过。发现单词的长度不超过15,因此可以直接使用。题目大意:在$ m \times n$的网格内分布有不同字母,给出一个单词。,要求该网格内是否存在这个单词。进行判断是否已经遍历过。

2025-01-15 20:00:34 331

原创 vscode常用快捷键

【代码】vscode常用快捷键。

2025-01-15 10:45:21 141

原创 机器学习:决策树

决策树是一种分类和回归方法,是基于各种情况发生的所需条件构成决策树,以实现期望最大化的一种图解法。Hp−i1∑n​pi​logpi​条件熵HY∣X表示在已知随机变量X的条件下随机变量YHY∣Xi1∑n​pi​HY∣Xxi​当熵和条件熵中的概率有数据估计得到时,所对应的熵与条件熵分别称为经验熵和经验条件熵。(information gain)表示得知特征X的信息而使得类Y的信息不确定性减少的程度。gXYHY−H。

2025-01-12 20:34:09 1174

原创 使用python发送gmail邮件

但是明文写在python中可能会有暴露信息的风险。因此可以使用配置文件将配置信息写在这个配置文件内。

2025-01-08 21:19:50 2665

原创 机器学习:逻辑回归

逻辑回归通常用于解决分类问题。“分类”是应用逻辑回归的目的和结果,但中间过程依旧是“回归”。通过逻辑回归模型得到连续值,加上一个“阈值”,就成了分类。逻辑回归算法的拟合函数,叫做Sigmond函数(即形似S的函数。对率函数是Sigmoid的重要代表函数y1e−z1​yβ0​β1​x1​...βp​xp​YXβ​Y​y1​y2​...yn​​​X​1x11​...x1p​...1xn。

2025-01-08 16:05:53 1210

原创 机器学习:一元线性回归

一元线性回归(Simple Linear Regression)是一种统计方法,用于分析一个自变量(independent variable)和一个因变量(dependent variable)之间的线性关系。它是线性回归分析中最简单和最基本的形式。ywxb估计一元线性回归模型的最常用方法是,它是一种常用的参数估计方法,用于求解一元线性回归模型的斜率w和截距b。Lwbi1∑n​yi​−wxi​b2分别对w和bw∑xi​−xˉ2∑。

2025-01-06 20:30:17 967

原创 良好的代码提交风格

AngularJS的提交记录被广泛认可并被大家所引用。影响的范围,比如数据层、控制层、视图层等等,视项目不同而不同。是一个撰写合格"Commit message"的工具,使用良好的代码提交风格,可以提高工作效率。是提交的简短描述,不超过50个字符。遵循Angular的提交规范。

2024-12-18 04:33:08 263

基于python Streamlit库的机器学习可视化展示

import streamlit as st import pandas as pd from matplotlib import pyplot as plt from plotly import graph_objs as go from sklearn.linear_model import LinearRegression import numpy as np data = pd.read_csv("data//Salary_Data.csv") x = np.array(data['YearsExperience']).reshape(-1,1) lr = LinearRegression() lr.fit(x,np.array(data['Salary'])) st.title("Salary Predictor") st.image("data//sal.jpg",width = 800) nav = st.sidebar.radio("Navigation",["Home","Prediction","Contribut\ e"]) if nav == "Hom

2023-04-10

Python Turtle 绘图基础知识

一、turtle库概述: turtle(海龟)库是turtle绘图体系python的实现; turtle绘图体系:1969年诞生,主要用于程序设计入门; turtle库是python的标准库之一;属于入门级的图形绘制函数库; 説名:python计算生态=标准库+第三方库 标准库:是随解释器直接安装到操作系统中的功能模块; 第三方库:需要经过安装才能使用的功能模块; 库:library、包package、模块module统称为模块; turtle库绘制原理:有一只海龟在窗体正中心,在画布上游走,走过的轨迹形成了绘制的图形,海龟由程序控制,可以自由改变颜色、方向宽度等;

2023-04-10

蓝桥杯常用函数algorithm

1.可以使用的万能头文件 #include<bits/stdc++.h> 2.最后一定记住return 0; 3.蓝桥杯的最大栈空间为256MB,即最大可以开1e7(1*10^7)左右的数组空间 4.各类数据的范围 1.int -2147483648~2147483647 //9位及以下都可装 2.long -2147483648~+2141483647 //9位及以下都可装 3.long long -9223372036854775808~+9223372036854775807 //18及以下都可装,19位大部分可以 4.unsigned long long 最大值18446744073709551615 //20位

2023-04-10

C语言大作业,贪吃蛇项目

#include <stdio.h> #include <stdlib.h> #include <windows.h> #include <time.h> #include <conio.h> #define frame_height 30 #define frame_width 50 #define UP 'w' #define DOWN 's' #define LEFT 'a' #define RIGHT 'd' int i,j,k,sp,score; char ch=UP,state=UP,choo,n;//初始化方向 int grow=0; struct Food//食物 { int x;//横坐标 int y;//纵坐标 } food; struct Snake//蛇 { /*用数组储存蛇的每一部分的坐标*/ int x[100]; int y[100]; int len;//长度 int speed;//速度 } snake; void map(void);//地图 void update_food(voi

2023-04-10

C语言大作业,ktv点歌系统

一、 设计任务 1、 训练目标 i. 模拟KTV点歌系统:通过c语言设计程序并应用数据结构实现点歌系统的基本功能。 ii. 用户可按歌名查找某首歌曲或按歌手名查找其所有歌曲,点歌后播放音乐。管理员可删除歌曲,全部歌曲的路径用一个单独的文件存储,包含歌名,歌手名,歌曲类型,相对路径。 iii. 用户体验良好,操作方便。 iv. 符合大作业的基本要求。

2023-04-10

C语言大作业,简易KTV点歌系统

一、 设计任务 1、 训练目标 i. 模拟KTV点歌系统:通过c语言设计程序并应用数据结构实现点歌系统的基本功能。 ii. 用户可按歌名查找某首歌曲或按歌手名查找其所有歌曲,点歌后播放音乐。管理员可删除歌曲,全部歌曲的路径用一个单独的文件存储,包含歌名,歌手名,歌曲类型,相对路径。 iii. 用户体验良好,操作方便。 iv. 符合大作业的基本要求。

2023-04-10

C语言大作业,模拟KTV点歌系统

一、 设计任务 1、 训练目标 i. 模拟KTV点歌系统:通过c语言设计程序并应用数据结构实现点歌系统的基本功能。 ii. 用户可按歌名查找某首歌曲或按歌手名查找其所有歌曲,点歌后播放音乐。管理员可删除歌曲,全部歌曲的路径用一个单独的文件存储,包含歌名,歌手名,歌曲类型,相对路径。 iii. 用户体验良好,操作方便。 iv. 符合大作业的基本要求。

2023-04-10

基于公交车环境的密接人员排查系统的设计与实现

1、课程设计的内容和要求(包括原始数据、技术要求、工作要求等): 要求学生综合运用C/C++语言程序设计、数据结构与算法等课程知识,通过团队合作与项目实践完成一个??系统的分析、设计与开发,使学生具有综合运用所学知识解决复杂工程问题的能力。 本次设计的题目是基于公交车环境的密接人员排查系统的设计与实现,主要面向疫情防控管理排查人员用户,实现公交车环境下的人员接触关系描述与记录、公交车环境的密接人员排查功能。系统基于C/C++语言程序设计、数据结构与算法来进行设计开发。项目开发小组由1名同学组成,本人主要负责公交车信息模块、密接人员筛查模块、界面模块的设计与开发。 通过团队分工合作,在1周内完成该课题的系统分析、需求分析、概要设计(包括功能设计及流程设计)、详细设计与编码、测试、报告撰写、成果演示、汇报答辩等工作,并接受答辩小组的提问与考核。 2、对课程设计成果的要求〔包括图表、实物等硬件要求〕: (1)最终完成一套完整的程序,能够运行并进行功能讲解与演示。(2)撰写一份完整、规范的课程设计报告,其中包括课

2023-04-10

C语言多项式加减乘除实验

Experiment topic: 1.Overview In addition to completing the basic experimental tasks, we also completed the functions of sorting polynomials in ascending order of exponential power and reversing polynomials. The C++ library functions are used to complete the compilation of test data. Run the basic functions many times to get the data of monitoring time. Further mastered the contents of the linked list. 2.Experimental scheme 2.1 Design scheme Linked list storage. Encapsulate the polynomial c

2023-04-10

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

TA关注的人

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