机器学习001—生成训练集和测试集

将数据分成训练集和测试集: 传统处理方法,利用ranperm生成随机的编号,取前面百分比的数据作为训练集,余下的作为测试集。 代码如下: num_points = size(X,2); split_point = round(num_points*0.7); seq = randperm(num_points); X_train = X(:,seq(1:split_point)); Y_train = Y(seq(1:split_point)); X_test = X(:,seq(split_
分类: 其他 发布时间: 04-17 23:16 阅读次数: 0

Matlab函数mink maxk topkrows(R2017b)

顾名思义,这三个函数分别是求最小的k个值,最大的k个值以及最大k行。 这几个函数的功能在实际编程过程中会经常遇到。 恰当的使用他们可以简化代码。由于是内置函数,可以使用Matlab JIT加速,这比自己编写的程序运行速度会高效一点。 以下是调用格式: B = mink(A,k) B = mink(A,k,dim) B = maxk(A,k) B = maxk(A,k,dim) B = topkrows(X,k) B = topkrows(X,k,col)
分类: 其他 发布时间: 04-17 23:16 阅读次数: 0

Maple矩阵选取矩阵某一列数据

在进行Maple矩阵分解操作的过程,需要对矩阵的某一列进行归一化,这样就需要选取矩阵的某一列数据: 关键命令: A[-1..1,1] # 选取第一列 同理: A[1,-1..1] # 选取第一行 代码:
分类: 其他 发布时间: 04-17 23:16 阅读次数: 0

Matlab 主成分分析函数pcacov代码剖析

调用格式: [coeff,latent,explained] = pcacov(V) 这个函数针对已经求出的协方差矩阵进行计算。要结合cov函数才能进行完整的pca分析。 这个函数可以查看Matlab提供的源代码,其中清晰明了的展示了计算过程。 输出变量: -coeff: 特征向量(注意与pca函数的变量score进行区分); -latent: 特征值;[~,latent,coeff] = svd(v); 其实这里可以用eig函数替代latent = diag(latent); -expla
分类: 其他 发布时间: 04-17 23:15 阅读次数: 0

Matlab 如何从pca分析结果重构数据

pca的目的就是对数据进行降维。 对于已经利用pca函数求得的结果,如何利用这些信息对进行数据的重构,进而求出重构后的误差是很重要的。 具体重构过程: 利用pca进行求解,得到coeff,score,latent;[coeff,score,latent] = pca(___) -关键就在于这里的score。通过查看pca函数的源代码可知score = X*coeff.即将数据映射到pca空间后的坐标。并且矩阵大小和数据尺寸大小一致。 A=USVTA=USV^TA=USVT, Score=AV=
分类: 其他 发布时间: 04-17 23:15 阅读次数: 0

利用Matlab坐标轴得到漂亮的图-2

利用Matlab绘制出一条公交线路22个站点的一天内的上客总人数。下图中红色圆圈表示人数多少。 用到的函数: 利用categorical函数生成站点标签,对数据进行分类; (2018b引入) 利用duration生成时间向量,利用 xline xticks(2016b) xticklabels(2016b) 对时间刻度进行标注。
分类: 其他 发布时间: 04-17 23:15 阅读次数: 0

[数值分析] 利用QR分解求解最小二乘法的原理

当方程阶数较大的时,法方程的条件数变得非常大,需要使用QR分解来求解。 Ax=b [Q,R] = qr(A,0); % x = R\(Q'*b); % 原理: 因为 ∥c2∥22为常数,\|c_2\|_2^2为常数,∥c2∥22为常数,所以上述方程可以在 Rx=c1Rx=c_1Rx=c1的时候取得极值,是为最小二乘法的解。 即 x=R−1(QTb)x=R^{-1} (Q^Tb)x=R−1(QTb) (利用精简QR分解得到的R)
分类: 其他 发布时间: 04-17 23:15 阅读次数: 0

Maple设置显示精度

分类: 其他 发布时间: 04-17 23:14 阅读次数: 0

第二类边界条件下三维热传导问题求解

对于如下模型: 采用如下离散格式: 对于边界条件的处理: 计算结果: 1. 2. 选取几个面的切片图:
分类: 其他 发布时间: 04-17 23:14 阅读次数: 0

1088: 发工资咯

版权声明:我的就是我的 https://blog.csdn.net/qq_41638851/article/details/89107316 #include<bits/stdc++.h> using namespace std; int main() { int n; while(scanf("%d",&n),n>0&&n<100) { int d,ans=0; for(int i=0; i<n; i++) { scanf("%d",&d); ans+=d/100;
分类: 其他 发布时间: 04-17 23:13 阅读次数: 0

1130: 母牛生小牛

版权声明:我的就是我的 https://blog.csdn.net/qq_41638851/article/details/89116673 #include<bits/stdc++.h> using namespace std; int f(int N){ if(N<4) return 1; else return f(N-1)+f(N-3); } int main(){ int N; cin>>N; cout<<f(N); return 0; } #includ
分类: 其他 发布时间: 04-17 23:13 阅读次数: 0

1004: C语言考试练习题_排列

版权声明:我的就是我的 https://blog.csdn.net/qq_41638851/article/details/89165404 有些问题当时做有点难,但是做后一看,哦草,好简单啊 #include<bits/stdc++.h> using namespace std; int main() { int i,j,k,t,n,a[5]; scanf("%d%d%d%d",&a[1],&a[2],&a[3],&a[4]); for(i=4; i>0; i--) //四个数该
分类: 其他 发布时间: 04-17 23:13 阅读次数: 0

1147: 老王赛马

版权声明:我的就是我的 https://blog.csdn.net/qq_41638851/article/details/89166291 #include<bits/stdc++.h> using namespace std; int main() { int n; while(cin>>n,n!=0&&n>=1&&n<=1000) { int t=0; int a[1000],b[1000]; for(int i=0; i<n; i++) cin>>a[i];
分类: 其他 发布时间: 04-17 23:13 阅读次数: 0

1115: 数字统计

版权声明:我的就是我的 https://blog.csdn.net/qq_41638851/article/details/89192505 #include<bits/stdc++.h> using namespace std; int main() { int a[100]={0}; int n; cin>>n; for(int i=1;i<=n;i++){ int t=i; while(t!=0){ a[t%10]++; t=t/10; } } for
分类: 其他 发布时间: 04-17 23:12 阅读次数: 0

1177: 计算N!(高精度)

版权声明:我的就是我的 https://blog.csdn.net/qq_41638851/article/details/89192473 #include<bits/stdc++.h> using namespace std; int main() { int n; while(cin>>n){ int a[10000]; a[0]=1; int temp=0; int s=0; //temp为当下阶乘结果为几位 for(int i=1;i<=n;i+
分类: 其他 发布时间: 04-17 23:12 阅读次数: 0

2186: C语言-报数

版权声明:我的就是我的 https://blog.csdn.net/qq_41638851/article/details/89207253 这道题题眼主要在n人围成一圈,循环报数,1,2,3, 用数组下标来表示第几个人。 数组数据来表示是否退出圈子 #include<bits/stdc++.h> using namespace std; int main() { int k; int i; int num=0,sum=0; bool key=true; cin>>k; int a
分类: 其他 发布时间: 04-17 23:12 阅读次数: 0

ACM-ICPC基本算法思想

版权声明:我的就是我的 https://blog.csdn.net/qq_41638851/article/details/89214948 正在更新中 求值法 递推法 递归法 枚举法 模拟法 将自然的过程或者语言直白的程序化,比如题目中的求解过程,我们直接程序化模拟求解。即根据实际问题建立模型,模拟实际玩法从而解决问题。 (1)随机模拟 #include<bits/stdc++.h> using namespace std; int main(){ int n; int i,s; lo
分类: 其他 发布时间: 04-17 23:12 阅读次数: 0

ACM常用的STL用法

版权声明:我的就是我的 https://blog.csdn.net/qq_41638851/article/details/89279848 1. 枚举按字典序最小排列开始,不停调用“求下一个排列 ”的方法,STL中提供了一个next_permutation. next_permutation(p, p+n) #include<bits/stdc++.h> using namespace std; int main() { int n, p[10]; scanf("%d", &n);
分类: 其他 发布时间: 04-17 23:11 阅读次数: 0

2190: C语言-平均分

版权声明:我的就是我的 https://blog.csdn.net/qq_41638851/article/details/89280982 #include<bits/stdc++.h> using namespace std; typedef struct{ char number[5]; char name[10]; int a,b,c; }Student; int main() { int n; int max=0; int s1,s2,s3; s1=s2=s3=0;
分类: 其他 发布时间: 04-17 23:11 阅读次数: 0

问题 B: 英雄联盟阵营

版权声明:我的就是我的 https://blog.csdn.net/qq_41638851/article/details/89283297 #include<bits/stdc++.h> using namespace std; int bin[1002]; //分组标识数组 int findx(int x){ //找到其“根结点” int r=x; while(bin[r]!=r) r=bin[r]; return r; } void merge(int x,i
分类: 其他 发布时间: 04-17 23:11 阅读次数: 0