自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(70)
  • 问答 (3)
  • 收藏
  • 关注

原创 面试刷题总结

面试刷题历程总结

2023-02-03 14:29:27 328 1

原创 回归与聚类算法————无监督学习-K-means算法

1、 无监督学习没有目标值的,从无标签的数据开始学习的聚类 K-means(K均值聚类) 降维 PCA 2、 K-means原理随机设置K个特征空间内的点作为初始的聚类中心 对于其他每个点计算到K个中心的距离,未知的点选择最近的一个聚类中心点作为标记类别 接着对着标记的聚类中心之后,重新计算出每个聚类的新中心点(平均值) 如果计算得出的新中心点与原中心点一样,那么结束,否则重新进行第二步过程3,APIfrom sklearn.cluster import KM

2022-03-21 21:00:01 758 1

原创 回归与聚类算法————分类算法-逻辑回归与二分类

1、逻辑回归的应用场景广告点击率 是否为垃圾邮件 是否患病 金融诈骗 虚假账号看到上面的例子,我们可以发现其中的特点,那就是都属于两个类别之间的判断。逻辑回归就是解决二分类问题的利器2、 逻辑回归的原理2.1 输入线性回归的输出是逻辑回归的输入2.2 激活函数sigmoid函数线性回归的结果输入到sigmoid函数当中,得到逻辑回归的输出 输出结果:[0, 1]区间中的一个概率值,默认为0.5为阈值通过设定阈值,将回归任务转化为分类问题2.3 损失以及优化

2022-03-21 19:57:43 1115

原创 回归与聚类算法————岭回归

带有L2正则化的线性回归-岭回归API:from sklearn.linear_model import RidgeRidge(alpha=1.0, fit_intercept=True,solver="auto", normalize=False) 具有l2正则化的线性回归 alpha:正则化力度,也叫 λ 惩罚项系数 λ取值:0~1 1~10 fit_intercept:是否添加偏置 solver:“auto"--会根据数据自动选择优化方法 sag:如果数据集、

2022-03-21 15:05:04 215

原创 回归与聚类算法————欠拟合与过拟合

1, 过拟合与欠拟合过拟合:一个假设在训练数据集上能够获得比其他假设更好的拟合, 但是在测试数据集上却不能很好地拟合数据,此时认为这个假设出现了过拟合的现象。(模型过于复杂) 即训练效果绝佳,但在测试集表现很差欠拟合:一个假设在训练数据上不能获得更好的拟合,并且在测试数据集上也不能很好地拟合数据,此时认为这个假设出现了欠拟合的现象。(模型过于简单)训练集和测试集表现都很差2,原因及解决方案欠拟合原因以及解决办法 原因:学习到数据的特征过少 解决办法:增加数据的特征数量...

2022-03-21 14:50:35 781

原创 回归与聚类算法————线性回归

目录1,线性回归2,线性模型3、线性回归的损失和优化原理3.1 损失函数3.2 优化算法正规方程​梯度下降Gradient Descent3.3 回归性能评估4,波士顿房价预测案例5,两种优化算法的对比6,其他优化方法6.1 梯度下降(Gradient Descent) GD6.2 随机梯度下降(Stochastic gradient descent)SGD6.3 随机平均梯度法(Stochasitc Average Gradient) ...

2022-03-21 14:29:49 759

原创 分类算法————集成学习方法之随机森林

1、 什么是集成学习方法集成学习通过建立几个模型组合的来解决单一预测问题。它的工作原理是生成多个分类器/模型,各自独立地学习和作出预测。这些预测最后结合成组合预测,因此优于任何一个单分类的做出预测。2、 什么是随机森林随机森林是一个包含多个决策树的分类器,并且其输出的类别是由个别树输出的类别的众数而定。算法原理:用N来表示训练用例(样本)的个数,n_features表示特征数目。 训练集随机———— 一次随机选出一个样本,重复N次,采用BootStrap抽样,有可能出现重复的样本.

2022-03-20 15:44:20 3379

原创 分类算法————决策树

目录1、认识决策树1.1信息论基础1、认识决策树原理:最早结构类似于if-else判断结构,利用该种结构分割数据的一种分类学习方法为了高效的进行决策,所以需要将权值更高的语句最先判断,决定特征的先后顺序使用哈夫曼树的方法构建?1.1 信息论基础1.1.1 信息:消除随机不定性的东西——香农1.1.2 信息熵:衡量消除信息中不确定性程度的指标...

2022-03-20 14:40:50 1109

原创 分类算法————朴素贝叶斯算法

1,概率基础联合概率:包含多个条件,且所有条件同时成立的概率 记作:P(A,B) 特性:P(A, B) = P(A)P(B)<=>A B相互独立 条件概率:就是事件A在另外一个事件B已经发生条件下的发生概率 记作:P(A|B) 特性:P(A1,A2|B) = P(A1|B)P(A2|B) 2,贝叶斯公式3,朴素贝叶斯算法原理:朴素+贝叶斯。在假设特征与特征之间相互独立的条件下,利用贝叶斯公式来计算出现概率。通常用于文本分类之中...

2022-03-20 11:05:15 2148

原创 分类算法————模型选择与调优

1、交叉验证(cross validation)交叉验证目的:为了让被评估的模型更加准确可信交叉验证:将拿到的训练数据,分为训练和验证集。以下图为例:将数据分成5份,其中一份作为验证集。然后经过4次(组)的测试,每次都更换不同的验证集。即得到4组模型的结果,取平均值作为最终结果。又称4折交叉验证。2、超参数搜索-网格搜索(Grid Search)当遇到模型中需要手动指定的参数,如KNN中的k值,这种被称为超参数。所以对模型预设几种超参数组合,每一组都用交叉验证来评估,最后选.

2022-03-19 19:07:09 254

原创 分类算法————K-邻近算法

1、什么是K-近邻算法(KNN)如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。根据你的“邻居”来判断你的类别若k=1,会很容易受到异常点的影响。k值取得过大,容易受到样本不均衡的影响2)距离公式欧式距离:曼哈顿距离(绝对值) 明可夫斯基距离2)APIsklearn.neighbors.KNeighborsClassifier(n_neighbors=5,algorithm='auto') n_neigh

2022-03-19 17:34:19 191

原创 分类算法————sklearn转换器和估计器

目录3.2.1 转换器-特征工程的父类3.2.2 估计器(sklearn机器学习算法的实现)1 转换器-特征工程的父类把特征工程的接口称之为转换器 fit_transform() 两个函数的封装 fit 做计算 transform 进行最终的转换2 估计器(sklearn机器学习算法的实现)1、用于分类的估计器: sklearn.neighbors k-近邻算法 sklearn.naive_bayes 贝叶斯 s...

2022-03-19 16:28:44 865

原创 分类算法————数据集介绍与划分

2、sklearn数据集介绍sklearn.datasets 加载获取流行数据集datasets.load_*() 获取小规模数据集,数据包含在datasets里datasets.fetch_*(data_home=None) 获取大规模数据集,需要从网络上下载,函数的第一个参数是data_home,表示数据集下载的目录,默认是 ~/scikit_learn_data/sklearn.datasets.fetch_20newsgroups(data_home=N

2022-03-19 16:00:36 621

原创 特征工程————主成分分析

2.6.1 什么是主成分分析(PCA) 定义:高维数据转化为低维数据的过程,在此过程中可能会舍弃原有数据、创造新的变量 作用:是数据维数压缩,尽可能降低原数据的维数(复杂度),损失少量信息。 应用:回归分析或者聚类分析当中调用API:sklearn.decomposition.PCA(n_components=None) 将数据分解为较低维数空间 n_components: 小数:表示保留百分之多少的信息 整数:减少到多少特征

2022-03-19 15:52:19 111

原创 特征工程————特征降维

2.5.1 降维降维是指在某些限定条件下,降低随机变量(特征)个数,得到一组“不相关”主变量的过程。由于特征之间相关性过强,会导致对模型影响较大,因此通过降维,得到不相关的特征,使算法学习预测更为准确降维的两种方式特征选择 主成分分析(可以理解一种特征提取的方式)2.5.3 特征选择数据中包含冗余或无关变量(或称特征、属性、指标等),旨在从原有特征中找出主要特征。当所有样本中都包含有的特征就被认为是冗余特征,所以需要找寻主要特征从而方便识别方法:Filter(过滤

2022-03-19 14:56:34 773

原创 特征工程————特征预处理

2.4.1 什么是特征预处理通过一些转换函数将特征数据转换成更加适合算法模型的特征数据过程数值型数据的无量纲化:归一化标准化特征的单位或者大小相差较大,或者某特征的方差相比其他的特征要大出几个数量级,容易影响(支配)目标结果,使得一些算法无法学习到其它的特征,因此通过归一化将数据转化为相同量级2.4.2 归一化通过对原始数据进行变换把数据映射到 (默认为[0,1]) 之间调用API:sklearn.preprocessing.MinMaxScaler (feature_range=(

2022-03-19 11:21:57 144

原创 特征工程————特征提取

2.3.1特征提取将任意数据(如文本或图像)转换为可用于机器学习的数字特征特征提取API:sklearn.feature_extraction2.3.2 字典特征提取作用:对字典数据进行特征值化应用场景:数据集中类别特征比较多本身数据就是字典类型调用API:sklearn.feature_extraction.DictVectorizer(sparse=True,…) #默认返回spares稀疏矩阵 DictVectorizer.fit_transform(X) #X:字典或者包

2022-03-19 10:41:27 820

原创 STL函数对象————函数对象

是一个重载函数调用操作符的类,其实例化对象称为函数对象,也叫做仿函数

2022-03-15 09:02:32 139

原创 贪心策略相关

#include<iostream>#include <cmath>using namespace std;#include <vector>#include<algorithm>vector<int> pos; /* 找寻最大的最小距离:采用二分法。当*/bool jud(int n, int c, int distance) { int current = pos[0]; //将第一头牛放在第一个房间 int n

2022-03-14 15:18:21 151

原创 STL常用容器————map /multimap

基本概念

2022-03-06 20:53:34 2111

原创 STL常用容器————set / multiset

基本概念所有元素在插入时会自动排序属于关联式容器,底层结构用二叉树实现构造与赋值插入数据时用insert,自动排序大小和交换size() //返回容器中元素数目empty()//判断容器是否为空swap(st)//交换两个容器插入和删除查找和统计find(key); //查找key是否存在,若存在,返回该键的元素的迭代器;若不存在,返回set.end();count(key); //统计key的元素个数set/multiset区别set不允许重复元素,set插入数据

2022-03-05 21:21:25 591

原创 STL常用容器————list

基本概念数据链式存储。物理存储上不连续,逻辑上连续STL中为双向循环链表,其迭代器只支持前移和后移,属于双向迭代器插入和删除数据存取迭代器不支持随机访问front(); //返回第一个元素。back(); //返回最后一个元素。反转和排序reverse(beg,end); //反转链表由于不是随机访问的迭代器,无法使用标准算法库内的sort函数。只能使用内部提供的p.sort();无参数,默认从小到大排列。改变排序序列需要自己声明函数...

2022-03-05 19:43:46 401

原创 STL常用容器————栈与队列

stackqueue

2022-03-05 19:08:38 46

原创 STL常用容器————deque容器

.1 基本概念双端数组:可以对头端进行插入删除工作原理:内部有一个中控器,维护每段缓冲区中的地址,缓冲区存放数据。支持随机访问构造与赋值操作与vector相同。当想只读不写deque容器时,需要加上const。并且使用cong_iterator迭代器void pint(const deque<int>& p) { for (deque<int>::const_iterator it = p.begin(); it < p.end(); it++) {

2022-03-05 19:05:18 146

原创 STL常用容器————vector

.1 基本概念与数组类似,称为单端数组,可以动态扩展(找更大的空间,将原数据拷贝到新空间,释放原空间)。迭代器支持随机访问.2 构造函数.3 赋值操作函数原型:vector& operator=(const vector &vec); //重载等号操作符assign(beg, end); //将[beg, end)区间中的数据拷贝赋值给本身。区间尾部无法取到 vector<int> p1; p1.push_back(10);

2022-03-05 16:27:35 227 1

原创 STL常用容器————String

.1 基本概念C语言中字符串为char *C++中字符串为string本质是一个类,类内封装了char *,是一个char *型容器.2 构造函数创建一个空的字符串 string();使用字符串S初始化 string(const char* s);使用一个string对象初始化另一个 string(const string & str);使用n个字符c初始化string(int n, char c);.3 赋值操作...

2022-03-04 20:10:58 307

原创 STL————基础概念

为了提高复用性,基于C++中的面向对象(封装,继承,多态)和泛型编程思想。建立起数据结构和算法的标准,STL(Standard Template Library,标准模板库)。STL六大组件容器: 各种数据结构,如vector,queue,stack算法:常用算法,如sort,find,for_each迭代器:容器与算法之间的桥梁仿函数:是一个能行使函数功能的类,需要重载()运算符适配器:用来修饰容器或仿函数或迭代器接口空间配置器:用来空间的配置与管理Containers, Algori

2022-03-04 15:41:12 395

原创 模板————类模板

.1 类模板语法template<class NameType,class AgeType> //包含两个成员属性,所以用两个Tclass Person {public: NameType m_name; AgeType m_age;};Person<string, int> p; //实例化只能用显示指定类型.2 类模板与函数模板的区别类模板 没有自动类型推导的使用方式类模板 在模板参数列表中可以有默认参数template&lt

2022-03-03 21:41:29 262

原创 模板————函数模板

.1 模板概念建立通用的模板,提高复用性模板不可以直接使用,只是一种框架模板的通用并不是万能的.2 函数模板语法当多个函数逻辑相似时,可以建立一个通用函数,其函数返回值类型和形参类型可以不具体制定,用一个虚拟的类型来代表语法: template<typename T>template —声明创建模板typename —表明其后面的符号是一种数据类型,可以用class代替T — 通用的数据类型,名称可以替换,通常为大写字母template<typename T>

2022-03-02 20:42:14 898

原创 文件操作————二进制文件

以二进制方式读写,打开方式要制定为ios::binary.1写文件利用流对象调用成员函数write ostream& write(const char * buffer , int len ) ;第一个参数为字符型常量指针,第二个为长度class Person {public: char m_name[64]; //最好用c的char类型,而不用C++中的string int m_age;};void test() { ofstream ofs("test.txt",

2022-02-28 17:14:25 231

原创 文件操作————文本文件

程序运行时数据属于临时数据,运行结束就会被释放,通过文件可以将数据持久化。需要使用头文件<ftream>

2022-02-28 16:27:38 77

原创 类和对象————多态

.1多态的基本概念静态多态:函数重载以及运算符重载。函数地址早绑定–编译阶段确定函数地址动态多态:派生类和虚函数实现运行时多态。函数地址晚绑定–运行阶段确定函数地址 动态多态满足条件:1.有继承关系2.子类重写父类中的虚函数3.父类的指针或引用,执行子类的对象class Animal {public: virtual void speak() { //虚函数 cout << "动物说话" << endl; }};class Dog :publ

2022-02-25 18:16:26 481

原创 类和对象————继承

类与类之间,下级别的成员除了拥有上一级的共性,还有属于自己的特性。.1继承的基本语法`class 子类 : 继承方式 父类子类–派生类父类–基类class BasePage {public: void title() { cout << "搜索栏:" << endl; }};class cpp :public BasePage { //继承basepage类的特性public: void content() { cout << "

2022-02-25 11:56:36 196

原创 类和对象————运算符重载

对已有的运算符重新进行定义,赋予其另一种功能,以适应不同的数据类型.1加号运算符重载实现自定义数据类型相加。成员函数实现全局函数实现class Person {public: int m_a; int m_b; //1.全局函数实现 //Person operator+(Person& p) { // Person temp; // temp.m_a = this->m_a + p.m_a; // temp.m_b = this->m_b + p.m_b

2022-02-20 14:17:12 437

原创 类和对象————友元friend

为使程序中某些特殊函数或类可以访问到私有属性,采用友元技术.1全局函数做友元将全局函数声明前加friend 放在类内即可class Person { friend void test(Person &p); //该全局函数可访问私有属性bpublic:private: int b;};.2 类做友元class Person { //友元声明,fri类可以访问本类的私有属性 friend class fri;public: Person() { name =

2022-02-18 21:15:16 202

原创 类和对象————对象模型和this指针

.1对象模型成员变量与成员函数分开存储。空对象所占内存为1字节,只有非静态成员变量属于类的对象上.2this指针由于多个同类型的对象会共用一块代码,为了区分,C++提供this指针指向被调用的成员函数所属对象(不需要定义直接使用)形参与成员变量同名时,可用this指针区分class Person {public: void test(int age) { this ->age = age; } int age;};在类中的成员函数中返回对象本身时,使用return

2022-02-18 16:58:18 164

原创 类和对象——对象的初始化和清理

构造函数和析构函数若人为不实现,编译器会自动实现但函数内为空构造函数:创建对象时为对象的成员属性赋值 类名(){}没有返回值可以有参数,可以重载系统自动调用,不用手动调用,并且只调用一次析构函数:对象销毁前清理工作 ~类名(){}没有返回值不可以有参数,无法重载系统自动调用,不用手动调用,并且只调用一次构造函数的分类及调用按参数分类 无参构造(默认构造)和有参构造按类型分类 普通构造和拷贝构造函数class test { public: //无参构造

2022-02-13 19:06:11 387

原创 类和对象————封装

C++将所有事物都看作对象,具有相同性质的对象为一类。封装意义一:将属性和行为看作一个整体与C中结构体类似。一个类分为三部分:访问权限;属性;行为主函数中需要创建相应的对象属性和行为又统称为成员属性=成员属性=成员变量 行为=成员函数=成员方法class student { public: //访问权限 string s_name; //属性 string s_number; void writname(string n_name){ s

2022-02-06 22:01:40 532

原创 C++函数高级

1.函数默认参数void func (int a ,int b=20){}函数参数可以设置默认值,主函数中使用时没传入就用默认值,传入了就用传入值注意事项:参数列表中若使用默认值,则之后参数均需要为默认值函数声明与函数实现只能有一个使用默认参数2.函数占位参数在参数列表中只写数据类型,主函数使用时必须传入值。void func (int a,int ){}占位参数与默认参数可以同时使用void func (int a,int =5){}3.函数重载...

2022-02-06 21:17:07 520

原创 C++中引用&的理解

C++中的&h和C中相比,除了表示取地址,还多了一重“引用”的含义。该重含义我理解为看成一种 别名,相当于指针常量。即就是说当你声明了一个引用后,它所指的是一处固定的地址。之后对引用进行的一系列操作,编译器都自动转化为对地址内的内容进行操作。几种注意事项:必须初始化。int &b=a;初始化后无法更改指向,(但可以更改所指向地址内的值)例如: int a=10; int c=20; int &b=a; cout <<"a

2022-02-05 15:07:34 733

空空如也

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

TA关注的人

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