自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【GNNs】GAT原理即应用

从GCN到GAT

2025-01-11 15:28:58 568

原创 【GNNs】GCN原理以及多种实现

用pytorch和pyg实现GCN

2025-01-10 22:32:07 921

原创 【模型学习之路】NTN块,SimGNN

学习一下SimGNN,同时也重点学习一下NTN模块以及Pairwise Node Comparison等常用的操作。

2024-11-27 22:50:40 861

原创 【模型学习之路】TopK池化,全局池化

来学学图卷积中的池化操作。

2024-11-26 21:34:24 1189

原创 【模型学习之路】PyG的使用+基于点的任务

PyG的基本使用

2024-11-26 15:24:18 1136

原创 【不写for循环】简单的转置方法

上一期难度感觉有点大。这一期来放松一下。

2024-11-18 13:34:51 642

原创 【不写for循环】max topk pool1d

max函数,topk函数,pool1d还是掌握得精一点为妙。

2024-11-17 23:32:23 445

原创 【不写for循环】玩玩行列

利用numpy的并行操作可以比纯用Python的list快很多,不仅如此,代码往往精简得多。So, 这篇来讲讲进阶的广播和花哨索引操作,少写几个for循环()。

2024-11-17 21:45:37 1232

原创 学习指南(一)

这里是一个相对比较全的学习指南。

2024-11-11 17:55:21 1015

原创 【模型学习之路】手写+分析GAT

GAT!图注意力卷积网络。

2024-11-06 14:04:29 1454 2

原创 【模型学习之路】手写+分析BERT

Attention is all you need!

2024-10-30 21:29:21 887

原创 【模型学习之路】手写+分析Transformer

attention is all you need!

2024-10-29 20:13:09 1570

原创 【数组,链表】

【代码】【数组,链表】

2024-07-23 12:29:48 245

原创 【Java面向对象】泛型

然后这里的 <T> 表示形 式泛 型类型( formal generic type), 随后可以用一个 实际具体类型( actual concrete type)来替换它。替换泛型类型称为泛型 实例化( generic instantiation)。按照惯例,像 E 或 T 这样的单个大写字母用于表示形式泛型类型。如果方法一,可以过编译(父类变量指子类对象合法),但是运行有错,因为字符串不能与 Date对象进行比较。

2024-07-22 12:32:37 1363

原创 【Java面向对象】二进制I/O

二进制文件与主机的编码方案无关,因此,它是可移植的。所有的文件都是以二进制形式来存储的,因此,从本质上说,所有的文件都是二进制文件。可以使用文本编辑器,比如 Windows 下的记事本或者 UNIX 下的 vi 编辑器,进行处理(读取、创建或者修改)的文件称为文本文件。在写入字符时,Java 虚拟机会将 Unicode 码转化为文件特定的编码,而在读取字符时,将文件特定的编码转化为 Unicode 码。编码包括类名、类的签名、对象实例变量的值以及该对象引用的任何其他对象的闭包,但是不存储对象静态变量的值。

2024-07-21 23:30:22 1031

原创 【Java面向对象】文本IO

基于标记的输入方法nextByte()、nextlnt()、 nextFloat()、nextDouble()和next() 读取用分隔符分隔的输入。File 对象封装了文件或路径的属性,但是它既不包括创建文件的方法,也不包括向/从文件写/ 读数据(称为数据输入输出,简称 I/O)的方法。方法next()读取一个由分隔符分隔的字符串,但是nextLine()读取一个以换行符结束的行。存储在程序中的数据是暂时的,当程序终止时它们就会丢失。但是在 Java 中,反斜杠是一个特殊的字符,应该写成\\ 的形式。

2024-07-21 18:50:11 1243

原创 【Java面向对象】异常处理

可以通过继承 java.lang.Exception 类来定义一个 自定义异常类。Exception 类中的所 有方法(例如,getMessage()、toString()和printStackTrace())都是从 Throwable 继承而来的。Exception 类包括四个构造方法,其中return a;this.a=a;最后,可以继承 RuntimeException 声明一个自定义异常类吗?可以,但这不是一个好方法,因为 这会使自定义异常成为免检异常。

2024-07-20 23:25:41 885

原创 【4~6】概率与分布

随机试验是一个过程,它所产生的试验结果是完全确定的。在每一次重复或者试验中,出现哪种结果完全由偶然性来决定。:随机试验的样本空间是试验所有结果组成的一个集合。一种特定的试验结果被称为, 它是样本空间中的一个元素。

2024-07-19 22:20:32 588

原创 【Java面向对象】抽象类和接口

在继承的层次结构中,每个新的子类都使类变得更加明确和具体。如果从一个子类向父类追溯,类就会变得更通用、更加不明确。类的设计应该确保父类包含它的子类的共同特征。有时候,一个父类设计得非常抽象,以至于它都没有任何具体的实例。这样的类称为抽象类(abstract class)。抽象方法,在方法头中使用 abstract 修饰符表示。如果类中有抽象方法,那么类就是抽象类。在类的头部使用 abstract 修饰符表示该类为抽象类。

2024-07-18 19:42:07 1090

原创 【Java面向对象】多态

本文第一点指的是子类重写父类方法的现象。父类变量可以指向子类对象,而且用父类变量调用父类和子类同名的方法时,调用的会是子类中重写后的方法。当父类被多个子类继承时,假设不同的子类对父类中的同一个函数进行不同版本的重写。那么之后当父类变量指向不同的子类对象时,调用这个同名函数,就可以根据不同的子类对象而调用不同的重写后的版本本文第二点指的是子类相比父类有新的方法的现象。用父类变量指向子类对象时,声明类型是父类,实际类型是子类。由于声明类型是父类,所以这个父类变量不能调用子类新定义的方法。

2024-07-18 15:41:18 1209

原创 【Java面向对象】继承

语句 super()调用父类的无参构造方法,而语句 super(arguments) 调用与 arguments 匹配的父类的构造方法。当构造一个子类的对象时,子类的构造方法会在完成自己的任务之前,首先调用它的父类的构造方法。如果父类继承自其他类,那么父类的构造方法又会在完成自己的任务前,调用它自己的父类的构造方法。调用同名函数时,调用顺序:子类且类型匹配的>子类且类型利用隐式转换之后匹配的>父类且类型匹配的>父类且类型利用隐式转换之后匹配的。构造方法可以调用重载的构造方法或父类的构造方法。

2024-07-17 10:40:38 787

原创 【Java面向对象】面向对象思考

类的抽象是指将类的实现和类的使用分离开,实现的细节被封装并且对用户隐藏,这被称为类的封装。类抽象 是将类的实现和使用分离。类的创建者描述类的功能,让使用者明白如何使用类。从类外可以访问的 public 构造方法、普通方法和数据域的集合以及对这些成员预期行为的描述,构成了类的合约。类的使用者不需要知道类是如何实现的。实现的细节通过封装对用户隐藏起来,这称为类的封装。由于这个原因,类也称为抽象数据类型(abstract Data Type, ADT)。可以使用一张UML图。

2024-07-17 10:39:14 1226

原创 【Java面向对象】对象和类(下)

如果一个局部变量和一个类变量(实例变量和静态变量)具有相同的名字,那么局部变量优先,而同名的类变量将被隐藏。值得注意的是public class 虽然可以被任何类访问,但若是所访问类中的方法不加public或者static,将会出现一个warning,所以当要访问其他包中的public类中的方法,则需要加上public或者static才能进行访问。如果一个局部变量和一个类变量具有相同的名字,那么局部变量优先,而同名的类变量将被隐藏 ( hidden)(一般都是优先使用范围小的)。

2024-07-16 15:55:44 976

原创 【Java面向对象】对象和类(上)

面向对象程序设计(OOP) 就是使用对象进行程序设计。对象 (object) 代表现实世界中可以明确标识的一个实体。一个对象的状态 (state, 也称为特征 (property) 或属性 (attribute)) 是由数据域及其当前值来表示的。一个对象的行为 (behavior, 也称为动作 ( action)) 是由方法定义的。调用对象的一个方法就是要求对象完成一个动作。使用一个通用类来定义同一类型的对象。类是一个模板、蓝本或者合约,用来定义对象的数据域以及方法。对象是类的实例。

2024-07-16 09:54:56 937

原创 【Java基础】二维数组

元素 x[0], x[1], x[x.length-1] 也是数组。可以使用 x[0] .length, x[1].length, x[x.length-1] .length 获取它们的长度。二维数组实际上是一个其中每个元素都是一个一维数组的数组。数组 x 的长度是数组中元素的个数,可以用 x.length 获取该值。二维数组中的每一行本身就是一个数组,因此,各行的长度就可以不同。这样的数组称为不规则数组 (ragged array )将二维数组传递给方法,数组的引用传递给了方法。

2024-07-15 15:43:06 289

原创 【Java基础】一维数组

数组是用来存储数据的集合,一旦数组被创建,它的大小是固定的。使用一个数组引用变量和下标来访问数组中的元素。

2024-07-15 12:54:22 1147

原创 一、数据与统计资料

容量指可利用的数据量(现在用于测量的典型单位是1TB, 它等于 10口个字节);速度指获得和处理数据的速度;种类指数据类型的多样性。**数据挖掘(data mining)**问题是研究从非常大的数据库中开发有用的决策信息的方法。

2024-07-14 16:01:46 886

原创 【Java基础】方法

修饰符 返回值类型 方法名 (参数列表){// 方法体;int res;return b;方法头 ( method header) 是指方法的修饰符 ( modifier)、返回 值类型 ( return value type)、方法名 (method name) 和方法的参数 (parameter)。returnValueType 是方法返回值的数据类型。有些方法只是完成某些要求的操作,而不返回值。

2024-07-14 14:53:46 568

原创 【Java基础】循环

输入重定向 ( input 程序从文件 input.txt 中读取输入,而不是让用户在运行时从键盘输入数据。类似地,还有输出重定向 ( output redirection), 输出重定向将输出发送给文件,而不是将它们显示在控制台上。break和continue。do-while循环。

2024-07-14 14:05:06 278

原创 【Java基础】字符与字符串

如果操作数之一不是字符串(比如,一个int或者char),非字符串值转换为字符串,并与另外一个字符串连接。如果操作数都不是字符串,加号(+)是一个将两个数字相加的加法操作符。如果另一个操作数是一个字符串,字符就会与该字符串相连。next()方法读取以空白字符结束的字符串(’ ‘、’\t’、‘\f’、‘\r’或’\n’)。从控制台读取字符,调用nextLine()方法读取一个字符串,然后在字符串上调用charAt(0)来返回一个字符。因此"A"是一个字符串,而’A’是一个字符。字符数据类型用于表示单个字符。

2024-07-14 11:11:21 1332

原创 【Java基础】Math类

Math 类是 Java 标准库的一部分,不需要额外引入即可使用。Math类中其有很多有用的方法。这些方法分为三类:三角函数方法(trigonometricmethod)、指数函数方法(exponent method)和服务方法(service method)。服务方法包括取整、求最小值、求最大值求绝对值和随机方法。此外,Math类还提供了两个很有用的double型常量——PI和E(自然对数的底)。

2024-07-13 11:21:40 392

原创 【Java基础】 条件与选择

如果优先级相同的操作符相邻,则结合规则(associativity)决定它们的执行顺序。赋值操作符是右结合的(right-associative)。逻辑操作符(logical operator)也称为布尔操作符(boolean operator),是对布尔值进行的运算,它会创建新的布尔值。保存布尔值的变量称为布尔变量(boolean variable),boolean数据类型用于声明布尔型变量。有时候,是否执行一条语句是由几个条件的组合来决定的。比较的结果是一个布尔值:true(真)或false(假)。

2024-07-13 10:55:53 811

原创 【Java基础】数值操作

将范围较小的类型转换为范围较大的类型称为扩展类型(widening a type),而将范围较大的类型转换为范围较小的类型称为缩小类型(narrowing a type)。如果要将一个值赋给一个范围较小的类型的变量,例如将 double型的值赋给 int型变量,就必须进行类型转换。例如:5/2的结果是2而不是2.5,而-5/2的结果是-2而不是-2.5。Java中,x1op=x2形式的增强赋值表达式实现为x1=(T)(x1 op x2),这里T是x1的类型。只有当被除数是负数时,余数才是负的。

2024-07-12 18:47:24 1160

原创 【Java基础】上手

Java是区分大小写的。另外,避免采用缩写作为标识符,使用完整的词汇会更具有描述性。应该在程序中为变量、常量、类和方法选择直观易懂的描述性名字。只用在机器自动产生的源代码中。

2024-07-12 17:23:33 758

原创 【统计学习】相关性

介绍常见的相关系数和一致性检验

2024-06-07 10:18:16 1502

原创 【统计学习】综合评价

本文介绍八种常见的综合评价方法

2024-06-06 10:21:33 1466

原创 【机器学习算法】优化算法

本文介绍常用的四种优化算法

2024-06-05 10:24:40 832

原创 【机器学习算法】降维

降维算法是数据预处理中的一种技术,主要用于减少数据集中的特征数量,同时尽可能保留原始数据的重要信息。

2024-06-04 10:11:39 853

原创 【机器学习算法】聚类(八大类型)

介绍八大类型的聚类,每一种类型里面又有很多种。数模估计会前三种就已经很强了QWQ

2024-06-03 12:10:25 2148

原创 【机器学习算法】回归算法(下) #一文归纳众多算法,建议收藏

本文介绍一些传统的机器学习中的有监督算法,然后讲一下集成算法,并给出一张各种算法的“谱系”图

2024-06-02 22:50:44 1138 2

用python实现k-means算法,同时进行可视化

K-means算法介绍 K-means是一种流行的聚类算法,用于将数据点划分为K个簇(或组)。它是一种迭代算法,旨在最小化簇内的方差,即试图找到使簇内点尽可能相似的簇中心。算法的基本步骤如下: 初始化:随机选择K个数据点作为初始簇中心。 分配:将每个点分配给最近的簇中心,形成K个簇。 更新:重新计算每个簇的中心,通常为簇内所有点的均值。 迭代:重复步骤2和3,直到簇中心不再显著变化或达到预设的迭代次数。 K-means算法简单、易于实现,并且对于大规模数据集相对高效。然而,它也有一些局限性,比如: 需要预先指定K值,而这个值通常不是显而易见的。 对初始簇中心的选择敏感,可能导致局部最优解。 可能无法很好地处理非球形或大小不一的簇。

2024-06-02

用python代码实现的熵权法

这段代码首先定义了一个entropy_weight_method函数,它接受一个特征矩阵作为输入,然后通过以下步骤计算权重和综合得分: 对特征矩阵进行归一化处理,使得每一列的和为1。 计算每个特征的熵,然后通过归一化处理得到熵值。 根据熵值计算每个特征的权重,权重越大表示该特征的重要性越高。 计算每个样本的综合得分,即特征矩阵与权重向量的点积。 根据综合得分对样本进行排序,得到排名。

2024-06-02

Python文件实现一个使用Ridge回归和普通线性回归来拟合带有噪声的数据集

演示如何使用Ridge回归和普通线性回归来拟合具有高次多项式特征的数据,并比较两者在处理数据噪声时的效果。文件中生成了一组基础数据,向其添加了随机噪声,然后通过多项式特征转换来提高数据的复杂性。接着,文件分别使用普通线性回归和Ridge回归模型来拟合这些数据,并绘制了两种回归模型的预测结果与原始数据的对比图。

2024-06-01

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

TA关注的人

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