机器学习
沉迷单车的追风少年
CSDN博客专家,CSDN商业化专家,官方内容合作伙伴,官方认证“人工智能领域优质创作者”,入选2023年中国开发者影响力年度榜单。
代表专栏《Diffusion Models与深度学习》、《手把手写深度学习》、《深度学习-计算机视觉》、《手把手写C++服务器》等。
展开
-
机器学习——线性回归预测波士顿的房价
首先解释一下超平面的含义超平面是n维欧氏空间中余维度等于一的线性子空间,也就是必须是(n-1)维度。这是平面中的直线、空间中的平面之推广(n大于3才被称为“超”平面),是纯粹的数学概念,不是现实的物理概念。因为是子空间,所以超平面一定经过原点。详细描述(百度百科):在几何体中,超平面是一维小于其环境空间的子空间。 如果空间是3维的,那么它的超平面是二维平面,而如果空间是二...原创 2019-02-27 19:47:08 · 1620 阅读 · 0 评论 -
机器学习——OpenCV实现K-NN
k-NN是最简单的机器学习算法之一,简单而言k-NN算法认为一个数据点很可能与它近邻点同属于一类,sklearn实现k-NN算法后面再复习一下,这次先学习OpenCV当中cv2.ml.KNearest_create()实现k-NN。步骤:得到一些训练数据 指定K值,创建对象 找到想要分类的新数据点的k个最近邻的点 使用多数投票来分配新数据点的类标签 画出结果图特别注意:OpenC...原创 2019-02-26 21:57:43 · 607 阅读 · 0 评论 -
机器学习——离散特征处理之独热编码和稀疏矩阵处理
独热编码这东西很有趣,和数字电路里面的格雷码有异曲同工之妙!其实也很正常,统计机器学习特别是自然语言处理方面的兴起正是引入了通信领域的数学模型,这段历史很有趣,可以看看吴军老师的《数学之美》。我们在处理机器学习数据的时候经常会见到离散特征的数据,例如水果的颜色、人名等,离散特征的挑战在于不是连续的方式,这导致很难用数字去描述,所以引入独热编码进行处理。独热编码,One-Hot编码,又称为一...原创 2019-03-08 19:38:26 · 2645 阅读 · 1 评论 -
机器学习——朴素贝叶斯分类器的概率论基础
机器学习本质是统计学,背后一些数学理论要经常复习才不会忘记,下面复习朴素贝叶斯分类器背后的概率论基础。随机变量:变量值依赖于随机性。 概率:用于描述一个事件发生的可能性,主要区分概率和频率。例如:概率为0的事件一定是不可能事件;不可能事件发生的概率一定为0;这两种说法那个正确。 条件概率:一个事件在另一个事件已经发生的情况下就发生的概率。 概率分布:一个实验中不同事件发生的概率的函数。...原创 2019-03-08 22:40:31 · 561 阅读 · 0 评论 -
解决matplotlib显示中文后无法显示负号问题
连接https://blog.csdn.net/qq_41895747/article/details/87987396解决了无法显示中文的问题,但是同时符号无显示将这段注释:# matplotlib.rcParams['font.sans-serif'] = ['KaiTi']# matplotlib.rcParams['font.serif'] = ['KaiTi']换成...原创 2019-03-07 22:46:19 · 951 阅读 · 0 评论 -
机器学习——ICA独立成分分析
主成分分析(PCA)是机器学习当中常见的降维的算法,独立成分分析(ICA)和PCA之间最大的区别是:PCA适用于复合高斯分布的数据,ICA适用于不符合高斯分布的数据。切记:如果数据符合高斯分布,不要使用ICA,这样效果会很差,具体在数学上解释见:https://www.cnblogs.com/Crysaty/p/6137043.html看代码:# ——创建时间:2019.3.7——# ...原创 2019-03-07 22:49:50 · 2577 阅读 · 2 评论 -
机器学习——NMF非负矩阵分解
之前学习了常用的两种将为技术:主成分分析(PCA):用于处理高斯分布的数据 独立成分析(ICA):用于处理费高斯分布的数据而非负矩阵分解也是一张常用的数据降维技术,其基本操作和PCA、ICA类似,但是在数据都是非负的情况之下用处非常多,所以在一些特定场合(如图像处理等),非常受欢迎,其使用方法和前两种十分类似,参考:https://baike.baidu.com/item/非负矩阵分解/4...原创 2019-03-07 23:03:29 · 959 阅读 · 0 评论 -
解决TF-IDE中Reshape your data either using array.reshape(-1, 1) if your data has a single feature
解决TF-IDE中Reshape your data either using array.reshape(-1, 1) if your data has a single feature看出错的代码:# ——创建时间:2019.3.15——# 文本特征表示from sklearn.feature_extraction.text import CountVectorizersam...原创 2019-03-15 22:24:17 · 1056 阅读 · 0 评论 -
机器学习——文本特征值表示
对数据最简单的编码之一是使用单词计数,对于每个短语,仅仅计算其中每个单词出现的次数,在sklearn中,使用CountVectorizer就可以轻松解决!看代码:# ——创建时间:2019.3.15——# 文本特征表示from sklearn.feature_extraction.text import CountVectorizersample = [ 'feature...原创 2019-03-15 22:25:21 · 1943 阅读 · 0 评论 -
机器学习——对分类器和对回归器的评分
构建一个机器学习系统最重要的一部分就是找到一个方法来评估模型预测的质量,大部分的评估模型都在scikit-leaning中的metrics中。使用准确率、精确率和召回率对分类器进行评分:accuracy_score:准确率。是指在测试数据集中,那些预测正确的数据点的数量除以整个测试数据集的大小,是最基本的评分函数。 precision_score:精确率。例如在分别猫和狗的问题中,精确率...原创 2019-02-25 22:10:24 · 1109 阅读 · 0 评论 -
解决matplotlib无法显示中文问题
这个问题有时有有时没有,尚不清楚到底是什么情况,但是加上以下代码matplotlib.rcParams['font.sans-serif'] = ['KaiTi']matplotlib.rcParams['font.serif'] = ['KaiTi']完美解决...原创 2019-02-27 19:50:56 · 380 阅读 · 0 评论 -
机器学习——总结机器学习中的线性回归
上一个的博客中详细介绍用LinearRegression()——最小二乘法来预测波士顿的房价,机器学习中还有多种回归算法,使用方式都是差不多的,所以我们只要学会这一种,然后熟悉其他几种的长处和短处,知晓使用条件,就能玩转机器学习的线性回归算法了!先看看官方手册是怎样描述LinearRegression()的缺点的:However, coefficient estimates for Or...原创 2019-02-27 20:57:59 · 587 阅读 · 0 评论 -
机器学习基础概念复习——基本概念的阐述
1.机器学习的分类方式有很多,一种分类方法是将大部分机器学习问题分成以下三类监督学习。监督学习的目标是学习大量类似样本(已标记的数据集),从而对未来的数据点做出预测。 非监督学习。数据点没有标记,非监督学习的目的是以某种方式来组织数据或者描述数据结构,将数据聚类或者发现其他不同的方式来观察数据 强化学习。算法根据各个数据点选择动作进行相应。机器学习这方面的理论很多,单单分类问题的话一两句...原创 2019-02-25 09:52:25 · 363 阅读 · 0 评论 -
解决pycharm安装第三方库时Non-zero exit code错误
吐槽:pycharm更新至最新版后,在虚拟环境后经常会有莫名的bug,不过这次的这个bug和虚拟环境无关。安装出现:Non-zero exit code点击:file——>setting点击右边的那个小绿圈再点击加号导入第三方库,完美解决!...原创 2019-02-28 20:51:02 · 66272 阅读 · 51 评论 -
机器学习——数据表示和特征工程
之前几篇博客学习所用到的数据都是内置数据,已经清洗好,可以直接拿来就用,但是现实中所处理的问题都是没有要自己清洗数据的,这就是牵扯到数据预处理了。其实在真正进行机器学习之前,很大一部分时间都是在进行数据预处理。先看看特征工程的定义:“数据决定了机器学习的上限,而算法只是尽可能逼近这个上限”,这里的数据指的就是经过特征工程得到的数据。特征工程指的是把原始数据转变为模型的训练数据的过程,...原创 2019-02-28 21:15:44 · 765 阅读 · 0 评论 -
机器学习——特征标准化、归一化、缩放、二值化
前一节介绍了数据预处理的基本概念分类和数据预处理的重要性,这一节开始编程https://blog.csdn.net/qq_41895747/article/details/88044829特征标准化:把数据缩放到拥有零均值和单位方差的过程# ——创建时间:2019.2.28——# 数据预处理from sklearn import preprocessingimport nu...原创 2019-02-28 22:02:57 · 2413 阅读 · 0 评论 -
机器学习——缺失数据处理
数据缺失很常见,在数学建模当中有多种方式进行插值处理缺失的数据,下面看看机器学习中常规的处理缺失数据的方法说明:python用nan(no anumber)表示缺失值,需要from numpy import nanscikit-learn提供三种方式填充缺失值:‘mean':将所有nan值转换成矩阵指定坐标轴上的元素的平均值 ’median':将所有nan值转换成矩阵指定坐标轴...原创 2019-02-28 22:36:25 · 519 阅读 · 0 评论 -
OpenCV中的监督学习
1. OpenCV中所有机器学习模型都派生自cv::ml::StatModel基类2. OpenCV中构建一个机器学习模型遵循以下步骤:初始化:通过名字调用来构建一个模型的空实例,如: knn=cv2.ml.KNearest_create() 设置参数:不同的模型会有不同的设置方法。 训练模型:每个模型都必须提供一个称为train的类函数,由于让模型拟合一些数据。 预测新的标...原创 2019-02-25 21:10:40 · 408 阅读 · 0 评论 -
电赛机器视觉——KNN目标检测
KNN作为背景分割器进行目标检测,但是背景变化较大是效果非常差import cv2import numpy as npknn = cv2.createBackgroundSubtractorKNN(detectShadows = True)es = cv2.getStructuringElement(cv2.MORPH_ELLIPSE, (20,12))camera = cv2.V...原创 2019-08-04 22:15:07 · 909 阅读 · 0 评论