- 博客(29)
- 收藏
- 关注

原创 准备搬家了
准备转战github.io了,期末考试完事就开始搞现在想想,写博客不是贴个代码就完事了,所以下一步准备将博客作为学习笔记来用这里就不时记录一下踩过的坑,或者一些简单的代码实现什么的...
2020-05-10 20:45:53
258
原创 拉普拉斯特征图算法实现
拉普拉斯特征图是一种流形降维方法。主要分为四个步骤1、邻接图的构建。可以通过KNN或半径法来确定邻居样本点。对每个邻居样本点都连接一条边2、选定边的权值。可以通过heat kernel法()确定,也可以直接设为13、特征值分解D是对角权值矩阵,4、低维嵌入L就是拉普拉斯矩阵,L = D - W对其进行特征值分解,假设降到d'维,将分解后的特征值排序,第一个特征值应该...
2020-05-10 20:44:39
724
原创 LDA降维方法实现
LDA方法的主要思想是,将空间中的样本点投影到一个超平面上,令同一类的样本点之间距离相对近,不同类的样本点之间距离相对远。需要最大化,其中w是超平面的“斜率”(也就是我们要求的变量),S_B是组间方差,S_w是类内方差解得之后对下式进行特征值分解下面上代码。采用的是iris数据集。from sklearn import datasetsimport numpy as...
2020-05-10 20:44:23
266
原创 MDS降维方法实现
MDS是一种降维方法,目标是降维后任意两个样本在低维空间中的欧式距离与原始空间中的相等。令降维后样本的内积矩阵,有通过上面的式子可以得出由上面四个式子可以解得,对B做特征值分解,,得接下来上代码,采用的数据集是美国部分城市主要城市间距离。由于地球表面是球形,所以可以看作一个三维空间,降维后就是类似地图上的位置。from numpy impor...
2020-05-10 20:44:08
456
原创 Logistic回归二分类问题实现
首先介绍一下Logistic函数形状呢是一个S形那么对一个二分类问题,考虑线性回归函数,我们可以用Logistic函数将z转换为0, 1值,这样就得到了Logistic回归模型那么接下来需要确定式中的w和b。通过极大似然法来估计w和b,给定数据集,Logistic回归模型最大化对数似然(log-likehood)其中的似然项将似然项代入对数似然,并且最大化对...
2020-05-10 20:43:46
243
原创 根据开闭原则来比较简单工厂模式与工厂模式
首先介绍一下开闭原则。原文是“软件实体应当对扩展开放,对修改关闭。”也就是说,软件系统中包含的各种组件,例如模块、类以及功能等等,应该在不修改现有代码的基础上,引入新功能。实现开闭原则的关键就在于“抽象”。把系统的所有可能的行为抽象成一个抽象底层,这个抽象底层规定出所有的具体实现必须提供的方法的特征。作为系统设计的抽象层,要预见所有可能的扩展,从而使得在任何扩展情况下,系统的抽象底层不需修改;...
2018-12-11 08:33:40
1974
原创 C++随机数生成器的手动实现与泊松分布
课上一个半小时写出来的,望各位不吝赐教~随机数的生成器老师给定了一个生成实数的函数,根据这个模板自己实现了一个随机生成范围内整数的函数。之后实现了一个泊松分布的随机数生成器,给定均值和数据个数,生成指定个数的泊松分布随机数。下面上代码~Random.h#ifndef RANDOM_H_INCLUDED#define RANDOM_H_INCLUDED#include <...
2018-12-07 10:07:53
4599
原创 后缀表达式计算器的C++实现
在课上一个半小时写出来的,还望各位不吝赐教~首先百度百科上抄一下定义:后缀表达式,指的是不包含括号,运算符放在两个运算对象的后面,所有的计算按运算符出现的顺序,严格从左向右进行(不再考虑运算符的优先规则)。计算过程是这样的:建立一个栈S 。从左到右读表达式,如果读到操作数就将它压入栈S中,如果读到n元运算符(即需要参数个数为n的运算符)则取出由栈顶向下的n项按操作数运算,再将运算的结果...
2018-11-30 12:27:12
1512
原创 从需求模型生成原型的工具RM2PT介绍
工具网址:https://rm2pt.mydreamy.net/写在前面:用到这个东西呢是老师布置的作业,在会议上看到的工具,就让我们直接去用。这东西真他妈神了,除了两个介绍视频,连他妈说明文档都没有,我佛了。作者的github这两天被我们疯狂骚扰,dbqdbqdbq。不过话说回来,通过需求模型能直接生成原型代码,这个工具还是很有意义的。虽然有一些逻辑错误,以及一些部分与我们课程所学有出入.....
2018-11-28 15:40:49
1740
2
原创 12306火车票预定系统的需求分析
领域模型用例图同样操作契约太长不放了,系统顺序图画的也不好,批改说我其中有的操作不符合书中的系统操作定义...回去学习一下
2018-11-27 10:00:13
4826
原创 Life Game生命游戏的C++实现
因为上了鲍老师的课,每周都要做一次课堂练习。所以大三才想起来开C++的坑= =代码是课上一个半小时写出来的。难免有考虑不周的地方。如果有什么问题,请各位不吝赐教~首先解释一下Life Game。开局一张棋盘,随便放几个棋子,然后每回合棋盘做一次更新,对棋盘的每个格子来说,看它周围的9个邻居在旧棋盘中的状态,有两个棋子则这个格子下回合是有棋的,有三个棋子则这个格子下回合状态不变,其余情况这个...
2018-11-24 13:56:47
4430
原创 JPanel简单练习
简单练习一下JPanel组件的使用。实现一个读取文件并打印统计结果柱状图的功能。首先是文件的内容ScoreCalculator类实现了读取文件并计算分数分布的功能。计算结果存储在数组中。DrawTest类画的是整个窗体。DrawPanel类是画统计图表的(这里我懒了,还是用循环画比较简洁)。下面是最后的运行结果。...
2018-11-19 08:43:56
405
原创 在Azure云平台上通过模板部署批量创建虚拟机
一、创建模板虚拟机创建了一台Windows Server 2012作为模板虚拟机二、在虚拟机内使用Sysprep进行一般化操作三、使用PowerShell登录Azure并设置订阅命令:Login-AzureRmAccount -EnvironmentName AzureChinaCloud可以通过以下命令查看一下当前PowerShell的版本号:impo...
2018-10-12 00:04:18
1810
原创 基于OpenGL画五角星
首先需要配置好OpenGL环境逻辑其实很简单,计算好五个角的坐标然后连起来就OK了#include <GL/glut.h>#include <math.h>float PI = 3.1415926f;float R = 1.0f; void Show(){ glClear(GL_COLOR_BUFFER_BIT); glBegin(GL_LI...
2018-10-11 23:44:36
1446
原创 PCA降维方法的python实现
参考《机器学习实战》,使用MNIST数据集首先给出PCA的算法输入:样本集 低维空间维数 d‘过程:对所有样本进行中心化: 计算样本的协方差矩阵 对协方差矩阵做特征值分解 取最大的d'个特征值所对应的特征向量输出:投影矩阵# -*- coding: utf-8 -*-"""Created on Sun Jul 22 15:38:03 20...
2018-09-10 19:47:53
1208
原创 K-均值聚类方法的python实现
参考《机器学习实战》首先给出k均值算法输入:样本集 聚类簇数k过程:从D中随机选择k个样本作为初始均值向量 repeat 令 for j = 1, 2, ..., m do 计算样本与各均值向量的距离: 根据距离最近的均值向量确定的簇标记: 将样本划入相应的簇: end f...
2018-09-10 19:46:20
546
原创 运用MPI并行实现归并排序
比较可惜的是没有用到树形结构,仅仅是在线程中进行计算后全部在0号进程中合并#include <stdio.h>#include <mpi.h>#include <stdlib.h>#define MAX_SIZE 10000void Merge(int* a, int* b,int start, int middle, int end)...
2018-07-15 09:38:33
4856
1
原创 运用Pthread实现并行计算矩阵向量乘法
#include <stdio.h>#include <stdlib.h>#include <pthread.h>#define MAX 10000int thread_count; // number of threadsint m; // rowint n; // columndouble A[MAX][MAX]; // matr...
2018-07-15 09:32:47
3336
原创 凯撒密码的简单实现
凯撒密码作为一种最为古老的对称加密体制,在古罗马的时候都已经很流行,他的基本思想是:通过把字母移动一定的位数来实现加密和解密。明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。例如,当偏移量是3的时候,所有的字母A将被替换成D,B变成E,以此类推X将变成A,Y变成B,Z变成C。由此可见,位数就是凯撒密码加密和解密的密钥。#include <std...
2018-07-15 09:27:39
1721
原创 梯度下降法和加速梯度下降法的实现
import numpy as npimport numpy.linalg as nldef GradientDescent(A, b): num = 0 xOld = np.zeros([1000, 1]) xNew = np.zeros([1000, 1]) gamma = 1e-8 while num < 1000: ...
2018-07-15 09:20:59
1036
原创 共轭梯度法与QR法解矩阵方程
共轭梯度法:QR法:import numpy as npimport numpy.linalg as nldef ConjugateGradient(A, b, n, x0): x = x0 r = b - np.dot(A, x0) p = r for i in range(0, n): a = np.dot(r.trans...
2018-07-15 09:18:08
710
原创 雅可比迭代法、高斯 - 赛德尔迭代法和SOR迭代法的实现
雅可比迭代法:高斯-赛德尔迭代法:SOR迭代法:import numpy as npimport numpy.linalg as nldef MaxOfList(A): max = A[0] for i in range(0, len(A)): if A[i] > max: max =...
2018-07-15 09:14:46
10610
2
原创 用LU分解法来解矩阵方程
运用的是克劳特(Crout)分解,也就是U是单位上三角形矩阵import numpy as np#np.set_printoptions(threshold=np.inf)def LU(A, n): L = [[0 for x in range(n)] for y in range(n)] U = [[0 for x in range(n)] for y in ...
2018-07-15 09:11:24
2234
原创 将Excel批量转换为csv并合并多个csv
最近在做一些数据分析,想要把多个excel文件合并成一个,写了python脚本尝试一下,结果因为数据量太大合并失败了。老师提示我可以转为csv文件,于是自己尝试了一下,真的太方便了...一、将Excel批量转换为csv 1、首先把需要导出的Excel文件集中整理到一个文件夹中,并且确定一个用来保存csv文件的路径 2、新建一个Excel文件,点击菜单栏上的“开...
2018-07-14 15:18:30
28460
9
原创 八皇后问题
八皇后问题,是一个古老而著名的问题,是回溯算法的典型案例。该问题是国际西洋棋棋手马克斯·贝瑟尔于1848年提出:在8×8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。(摘自百度百科)#include #include #define maxBoard 30 // 棋盘最大为30*30int boardSize;
2017-04-09 19:24:59
243
原创 递归实现汉诺塔
解决思想:若A塔上有n个盘子,则先将上层n-1个盘子移动到B塔上,最底层的盘子移动到C塔上,再将B塔上的n-1个盘子移动到C塔上。#include void move(int count, int start, int finish, int temp){ if (count > 0) { move(count - 1, start, temp, fini
2017-04-09 14:32:36
393
原创 多项式Polynomial
#include #include #include #include /*将多项式存放在栈中,实现逆波兰运算 默认多项式倒序排列*/typedef struct term {// 存放多项式的结构体 int coef; int exp; struct term *link;}Term, *sTerm;typedef struct termStac
2017-04-06 15:55:38
491
原创 约瑟夫问题
n约瑟夫问题的提法: n个人围成一个圆圈,首先第1个人从1开始一个人一个人顺时针报数, 报到第m个人,令其出列。然后再从下一个人开始,从1顺时针报数,报到第m个人,再令其出列,…,如此下去, 直到圆圈中只剩一个人为止。此人即为优胜者。#include #include struct node{ int data; struct node *next
2017-04-06 15:38:17
239
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人