- 博客(100)
- 收藏
- 关注
原创 【置顶】博客搬迁
用了快一年CSDN,感觉体验越来越差了。相对而言更喜欢博客园简洁的风格(CSDN关不掉的广告对强迫症患者而言可太难受啦)遂搬至:https://www.cnblogs.com/kyfishing/本蒟蒻会继续坚持记录自己的学习收获欢迎对 机器学习/ 算法 / 数学/ 编程语言 感兴趣的朋友们关注!...
2021-09-30 13:06:44
207
原创 【机器学习实战】Keras人工神经网络简介
使用Keras实现MLP加载数据集import tensorflow as tffrom tensorflow import kerasfrom keras.datasets import fashion_mnist(X_train_full, y_train_full), (X_test, y_test) = fashion_mnist.load_data()X_valid, X_train = X_train_full[:5000]/255.0, X_train_full[5000:]/2
2021-09-28 17:01:40
323
原创 【动手深度学习】线性神经网络
线性回归从零开始实现import randomimport torchfrom d2l import torch as d2l# 生成数据集def synthetic_data(w, b, num_examples): """y = Xw + b + noise""" X = torch.normal(0, 1, (num_examples, len(w))) y = torch.matmul(X, w) + b y += torch.normal(0, 0.01
2021-09-27 17:03:24
299
原创 【机器学习实战】Ch 9:无监督学习 技术
K-Meansfrom sklearn.cluster import KMeansk = 5kmeans = KMeans(n_clusters=k)y_pred = kmeans.predict(X)# 算法的k个中心点kmeans.cluster_centers_# 每个实例到中心点距离 (软聚类)kmeans.transform(X)# 训练实例的标签副本kmeans.labels_中心点初始化方法如果事先知道了中心点位置, 可以将超参数init设置为中心点列表的Num
2021-09-22 15:08:46
197
原创 【机器学习实战】Ch 8:降维
降维的主要方法投影将高维空间的点投影到低维子空间上流形学习d维流形是n维空间(且d<n)的一部分, 局部类似于d维超平面。许多降维算法通过训练实例所在的流形进行建模工作, 称为流行学习。它依赖于流形假说:大多数现实世界的高维数据集都接近于低维流形。隐式假设:如果用流形的低维空间表示,任务(例如分类或回归)将更加简单。PCA主成分分析(PCA):识别最靠近数据的超平面, 然后将数据投影到其上保留差异性保留差异性大的轴更为合理, 相对其他的情况丢失的信息更少。方法:比较原始数据集与
2021-09-22 09:41:40
190
原创 【机器学习实战】Ch 7:集成学习和随机森林
投票分类器假设已经训练好了一些分类器, 每个分类器准确率约为80%。 这时, 要创建一个更好的分类器, 最简单的办法是聚合每个分类器的预测, 然后将得票数最多的结果作为预测类别。 这种大多数投票分类器被称为硬投票分类器。如下用Scikit-Learn创建并训练一个投票分类器, 由三种不同的分类器组成:# satellite datasetsfrom sklearn.datasets import make_moonsX, y = make_moons(n_samples=100, noise=0
2021-09-19 17:16:35
328
原创 【机器学习实战】Ch 6:决策树
训练决策树Scikit-Learn使用分类和回归树算法来训练决策树工作原理: 使用单个特征k和阈值tk将训练集分为两个子集, 通过选择(k, tk)最小化成本函数/搜索最纯子集。并重复该过程, 直到到达最大深度或找不到减少不纯度的分割, 停止递归。 其他一些超参数也可以控制停止条件(稍后叙述)from sklearn.datasets import load_irisfrom sklearn.tree import DecisionTreeClassifieriris = load_iris()
2021-09-19 12:28:05
136
原创 【机器学习实战】Ch 5:支持向量机
线性SVM分类SVM分类器在类之间拟合可能的最宽街道软间隔分类,超参数C越小,越容易欠拟合,间隔违例情况越多, 但泛化效果可能更好;C越大, 越容易过拟合, 间隔违例情况越少, 泛化效果更差。# detect virginica irisimport numpy as npfrom sklearn import datasetsfrom sklearn.pipeline import Pipelinefrom sklearn.preprocessing import StandardScale
2021-09-19 09:36:21
128
原创 【机器学习实战】Ch 4: 训练模型
线性回归# an exampleimport numpy as npimport matplotlib.pyplot as pltX = 2 * np.random.rand(100, 1)y = 3 * X + 4 + np.random.randn(100, 1)plt.plot(X, y, 'k.')plt.show()X_b = np.c_[np.ones((100, 1)), X]theta = np.linalg.inv(X_b.T.dot(X_b)).dot(X_
2021-09-17 16:50:17
347
1
原创 【文档】编程语言文档网址集合
随时待更…MATLABhttps://ww2.mathworks.cn/help/matlab/index.htmlMATLAB本身也有自带的文档Pythonseabornhttp://seaborn.pydata.org/examples/index.html
2021-09-12 19:39:17
120
原创 【机器学习实战】Ch3:分类
多类分类器一对剩余(OvR) / 一对多(one-versus-all) 策略 :若创建一个系统将样本分为N类, 训练N个分类器,每个类一个——1-检测器,2-检测器……N-检测器(这里类的标签用数字编号表示)当对一个样本进行预测时, 获取每个分类器的决策分数, 将其分到对应分类器最高的类一对一(OvO)策略:对每一对类训练一个分类器——区分1-2, 1-3, 2-3……如果存在N个类, 则需训练N*(N-1)/2个分类器,其优点在于每个分类器只需用到部分训练集对其必须区分的两个类进行训练
2021-09-04 17:05:12
348
原创 【python】 DataFrame取某一行
df: A B0 1.068932 -0.7943072 -0.470056 1.1922114 -0.284561 0.7560296 1.037563 -0.2678208 -0.538478 -0.800654>>> df.iloc[[0]]>>> 0 1.068932 -0.794307
2021-09-01 12:26:35
9951
原创 【吴恩达 机器学习】ex2 : logistic regression ——Python
logistic regressionPython代码:import numpy as npimport pandas as pdimport matplotlib.pyplot as pltdef sigmond(x): sig = 1 / (1 + np.exp(-x)) return sigdef gradient_descend(X, Y, init_theta, alpha, iter_nums): theta = init_theta for i
2021-08-29 18:47:42
118
原创 【吴恩达 机器学习】ex2: logistic regression —— MATLAB
1、Logistic RegressionMATLAB代码:% load the datadataset = load("C:\Users\LENOVO\OneDrive - 东南大学\桌面\机器学习\吴恩达作业\matlab\ex2\data\ex2data1.txt");[m, n] = size(dataset);x1 = dataset(:, 1);x2 = dataset(:, 2);y = dataset(:, 3);X = [ones(size(y)), x1, x2];X
2021-08-28 20:54:22
199
原创 【吴恩达 机器学习】ex1 gradient descend —— python
单变量线性回归Python代码:import numpy as npimport matplotlib.pyplot as pltimport pandas as pd# cost functiondef cost_function(X, Y, theta): hyposis = np.dot(np.transpose(theta), X) - np.transpose(Y) cost = np.dot(hyposis, hyposis) / (2 * np.size(Y))
2021-08-25 18:22:14
122
原创 【bug 总结】python:“xxx”object is not callable
所谓callable对象是指一个后边可以加()的对象,比如函数,所以这种异常是某对象多加了(),比如:把一个变量用了函数名来命名,结果再调这个函数的时候就会报这个异常a = np.c_(..., ...) // wronga = np.c_[..., ...] // correct...
2021-08-25 18:06:38
228
原创 【吴恩达 机器学习】ex1: gradient descend——MATLAB
单变量线性回归MATLAB代码:% load the datadata = load("ex1data1.txt");input = data(:, 1);output = data(:, 2);%scatter plotplot(input, output, 'rx', 'Markersize', 10);[r, c] = size(input);X = [ones(r, 1), input];X = X';Y = output;theta = zeros(2, 1);the
2021-08-24 14:20:15
190
原创 【作业】 数据结构作业(2)
题目描述输出n个元素集合的幂集eg: S = {a, b, c}output: {(), (a), (b), (c), (a b), (a c), (b c), (a b c)} 算法思想同数据结构作业(1)第二份代码, 不再赘述代码实现#include<iostream>#include<vector>using namespace std;vector<bool>aux;void powerset(char* set, int
2021-08-21 23:43:18
118
原创 【作业】 数据结构作业(1)
题目描述:给n个bool变量,要求输出这n个bool值所有可能的组合,并计算所有可能组合的数量。 我最初的想法1、构造一个n+1层二叉树,根节点不储存值2、二叉树的左节点和右节点分别储存的值为true, false3、二叉树的叶子节点数即为组合的数量4、从每个叶子节点向上递归,打印值, 直到到达根节点注:本题利用数组保存一个二叉树结构,一个序号为i的节点的两个子节点序号为2 * i 和 2 * i + 1, 值分别为true 和 false代码实现#include<io
2021-08-20 09:56:28
95
原创 【数学建模和matlab】反思与总结(1)
这周开始了数模竞赛的培训第一次任务是2021五一数模竞赛的C题,风险数据预警上午刚评讲,中午抽点时间回忆一下国赛时要注意的问题1、论文、支撑材料不能包含个人与学校的任何信息 特别注意承诺书,不能放在论文与支撑材料中2、页码规范 (1)页码从目录后开始,摘要、目录不算 (2)注意规范,要参考往年的国赛论文3、目录可有可无, 摘要放在目录前4、摘要要写模型、主要算法以及主要结果 特别注意要写主要结果,例如本题,第一题要给出分类依据,第二题、第四题的表格 中结果要用自己语言概括
2021-08-07 12:46:25
310
原创 【C++ 随想记录】指针小回顾
int a1;int* a2 = new int;int* a3 = new int(); //相对前者表示指向的堆中数据处理,为0; 很多编译器已经不做区分cout << sizeof(a1); // 4cout << sizeof(a2); // 8int* a = new int[4];cout << a; //假设为1040cout << a + 1; // 1048 //a 往后挪动 到堆中数组的
2021-08-06 11:43:00
81
原创 【算法第四版 读书笔记】图——有向图
//有向图的数据类型class Digraph{private: int V; int E; int* adj;public: Digraph(int V); //创建一个含有V个顶点不含边的有向图 int V() { return V; } //顶点总数 int E() { return E; } //边的总数 void addEdge(in
2021-07-29 20:46:55
91
原创 【算法第四版 读书笔记】图——无向图
//图的抽象数据类型class Graph {public: Graph(int v); //创建一个含有V个顶点不含边的图 int V()const; //顶点数 int E()const; //边数 void addEdge(int v, int w); //添加一条边v-w vector<int> adj(int v)const;
2021-07-26 18:39:52
86
原创 【数据结构】图
无向图的邻接矩阵和邻接表实现#include<iostream>#include<exception>using namespace std;class OutOfRange:public exception {public: const char* what()const throw() { return "OUT OF RANGE.\n"; }};class BadSize:public exception {p
2021-07-19 11:12:30
95
原创 【bug总结】未定义的标识符
今天用邻接表实现图时,遇到了如下所示的bug:“未定义的标识符”class AdjacencyLinkedGraph :public Graph{private: struct Node { int elem; Node* next; Node(int x, Node* p = nullptr) :elem(x), next(nullptr) {} }; //...... Node* deleteNode(Node
2021-07-19 11:11:16
4004
原创 【算法第四版 读书笔记】二叉搜索树
#include<iostream>#include<exception>using namespace std;class NoAnswer : public exception { const char* what()const throw() { return "NO ANSWER.\n"; }};template<class Key, class Value>class binarySearchTree {pr
2021-07-12 22:53:00
118
原创 【数据结构】 树
#include<iostream>#include<exception>using namespace std;template<class T>class binaryTree {public: virtual void clear() = 0; virtual bool empty()const = 0; virtual int height()const = 0; virtual int size()const = 0;
2021-07-08 15:22:22
79
原创 【数据结构】优先队列
#include<iostream>#include<exception>using namespace std;class OutOfRange:public exception {public: const char* what()const throw() { return "ERROR! OUT OF RANGE.\n"; }};class BadSize:public exception {public: const
2021-07-07 14:37:57
98
原创 【数据结构】 堆
#include<iostream>#include<exception>using namespace std;class OutOfRange:public exception {public: const char* what()const throw() { return "ERROR! OUT OF RANGE.\n"; }};class BadSize:public exception {public: const
2021-07-07 14:37:01
57
原创 【数据结构】队列
今天复习了顺序表、栈、队列明天复习堆与优先队列、二叉树#include<iostream>#include<exception>using namespace std;class OutOfRange:public exception {public: const char* what()const throw() { return "ERROE! OUT OF Range.\n"; }};class BadSize:public
2021-07-06 22:23:38
73
原创 【数据结构】栈
刚刚获得消息转专业考试五道大题,手写代码,太难了。。。#include<iostream>#include<exception>using namespace std;class OutOfRange:public exception {public: const char* what()const throw() { return "ERROE! OUT OF Range.\n"; }};class BadSize:public
2021-07-06 21:35:01
99
原创 【数据结构】顺序表
转专业考试前集中复习一下数据结构,顺带复习一下继承和多态#include<iostream>#include<exception>using namespace std;class outOfRange:public exception {public: const char* what()const throw() { return "ERROR! OUT OF RANGE!.\n"; }};class badSize:publi
2021-07-06 18:42:36
96
原创 【C++Primer读书笔记】第六章 函数——函数基础
局部对象C++语言中,名字有作用域,对象有生命周期:(1)、名字的作用域是程序文本的一部分,名字在其中可见(2)、对象的生命周期是程序执行过程中该对象存在的一段时间1、全局变量:不在任何函数体内,贯穿全局作用域,程序启动时创建,程序结束时销毁2、局部变量:形参和函数体内部定义的变量,在块末销毁,隐藏外层作用域中同名变量的其他声明中(1)、自动对象:只存在于块执行期间的对象。形参也是自动对象,向内存申请空间,函数执行完销毁(2)、静态局部对象:生命周期是全局作用域,前加staticint fu
2021-07-03 15:44:30
75
原创 【C++ bug总结】初始化操作由 case 标签跳过
如果要在case里面定义变量,需要用括号括起来{} //BUG! else if (input == "4") { cout << "复数运算:" << endl; cout << "+ - * / 1:取模 2:求共轭\n输入:" << endl; char c; cin >> c; switch (c) { case '1': cout << "input
2021-06-12 22:47:49
1052
原创 【C++ 随想记录】do-while妙用
1、宏定义#define OPT ++a; ++b;int a = 1, b = 1;if (0) OPTcout << a << " " << b; //输出 1 2//注意a后面的分号//为了解决该问题,除了if语句添加花括号,还可以用do-while语句#define OPT do{++a; ++b;} while(0); 2、消除繁多的return语句int foo() { if(case 1) return 1;
2021-06-03 17:14:17
67
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人