![](https://img-blog.csdnimg.cn/a68b5fa1b9d948648b5c3247ff3d151b.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
机器学习
需要线性代数、概率论和数理统计的基础。
十旬叶大叔
这个作者很懒,什么都没留下…
展开
-
基础知识 正则表达式
1 字符串处理函数join():连接可迭代对象,并返回连接后的结果。strip():去除字符串str两端的chars字符(\n, \t,“ ”,一般主要就是去空格)。split():将字符串str按设定好的分隔符,进行分隔,并返回分隔后的字符串数组。2 正则表达式2.1预备知识内容上:数字 \d字母 \w其他字符 .特殊字符 利用转义字符+特殊字符,如:-空格\s数量控制:*:表示任意个,包括0个+:表示至少一个字符{n}:表示n个字符{n, m}:表示n~m个字符原创 2020-11-03 09:39:21 · 89 阅读 · 0 评论 -
线性回归 最小二乘法 简单的线性回归 波士顿房价预测
```python'''案例2:波士顿房价预测'''import mglearnfrom sklearn.linear_model import LinearRegression#从sklearn里面导入线性回归的算法from sklearn.model_selection import train_test_split#导入数据集X,y=mglearn.datasets.load_extended_boston()X_train,X_test,y_train,y_test=train_te原创 2020-09-06 17:28:55 · 1272 阅读 · 0 评论 -
机器学习 jupyter Python 监督学习 分类 Logistic回归分类器
1 主要思想Logistic回归进行分类的主要思想是:根据现有数据对分类边界线建立回归公式,以此进行分类。这里的“回归”一词源于最佳拟合,表示要找到最佳拟合参数集。2 sigmoid函数我们定义逻辑回归的预测函数为其中????(????)函数是sigmoid函数。其中????^????????可以看作回归方程所以,sigmoid 函数的图像如下:定义域:R值域:(0,1)单调性:当????→+∞时,????→1当????→−∞时,????→0比如现在我找到这个分类边界的曲线原创 2020-09-06 10:50:06 · 2418 阅读 · 0 评论 -
机器学习 jupyter Python 常用模型评估指标
1 精度Accuracy(精度、准确率)和Error Rate(错误率)是分类模型中最常见的两种性能度量指标,既适用于二分类任务,也适用于多分类任务。对于分类模型f和大小为n的测试集D,Accuracy(精度)的定义为:Accuracy = 分对的样本点个数/总的测试的样本个数2 混淆矩阵TP为真正(例),FN为假负(例), FP为假正(例),TN为真负(例)其中T表示的是True,F代表的是FalseP代表正的,N代表负的。精度accuracy = (TP+TN)/(TP+TN+FP+原创 2020-09-03 22:23:25 · 2832 阅读 · 0 评论 -
机器学习 jupyter Python TF-IDF算法
1 含义在自然语言处理中非常重要的算法,用于计算一个词汇在文本中的重要性。TF-IDF(term frequency–inverse document frequency)是一种用于信息检索与数据挖掘的常用加权技术。TF意思是词频(Term Frequency,简写为TF),IDF意思是逆文本频率指数(Inverse Document Frequency),它与一个词的常见程度成负相关。注:TF-IDF是一种统计方法,用以评估一个字词对于一个文件集或一个语料库中的其中一份文件的重要程度。TF-ID原创 2020-09-02 23:37:17 · 704 阅读 · 0 评论 -
机器学习 jupyter Python 监督学习 贝叶斯定理 朴素贝叶斯分类器
1.贝叶斯定理其中????(H│????)表示给定观测样本X,假设H成立时的概率;????(H│????)是后验概率;(例如:包含特定特征的邮件属于垃圾邮件的先验概率)????(????)是H的先验概率。(例如:垃圾邮件的先验概率)????(????)是X的先验概率。2.条件概率如果两个事件A和B不是互相独立的,并且知道事件B中的一个事件已经发生,我们就能得到关于P(A)的信息。这反映为A在B中的条件概率,记为P(A|B):如果A和B是独立的:条件概率:就是已知一个事件发生的情况下,另原创 2020-09-02 16:59:06 · 2048 阅读 · 0 评论 -
机器学习 jupyter Python 监督学习 贝叶斯定理 朴素贝叶斯分类器 垃圾邮件分类 列表生成式
1.含义由一个列表生成另外的一个列表2.例子a=[1,2,3,4]生成b=[2, 4, 6, 8]。传统办法:若mathList=[1,3,9.10,30,20,25],输出mathList小于20的元素,输出形式是一个列表。原创 2020-09-02 15:44:00 · 475 阅读 · 0 评论 -
机器学习 jupyter Python 监督学习 决策树
1.与KNN 算法比较1.1 共同点决策树和KNN算法一样,都是用于处理分类问题。(决策树也可以解决回归问题,但少用)1.2 不同点KNN算法处理的是连续性数据;决策树处理的离散型数据。离散型数据(特征、属性):取值可以具有有限个或无限可数个值,这个值可以用来定性描述属性的汉字、单词;当然也可以是整数,注意是整数,而不是浮点数。连续性数据:不是离散型数据的就是连续性数据。想使用决策树算法,我们可以将连续性数据转化为离散型数据。2.核心构造决策树的基本思想是随着树的深度加深,节点的熵值迅速的原创 2020-08-30 11:45:35 · 1705 阅读 · 0 评论 -
机器学习 jupyter Python 监督学习 决策树 安装graphviz画图工具
1.dos命令窗口pip install graphviz2.打开网址 http://www.graphviz.org/3.点击下载4.跳转后的网址,根据操作系统下载相应的版本(Windows如下)5.安装msi版的6.双击之后进行安装,一直next,采用默认路径7.将C:\Program Files (x86)\Graphviz2.38\bin加到环境变量里计算机图标右击,选择属性,选择高级系统设置,选择环境变量,看到系统变量,双击Path,新建,将C:\Program Files原创 2020-08-30 11:29:15 · 1489 阅读 · 0 评论 -
机器学习 jupyter Python 监督学习 KNN算法 海伦约会实验
1.KNN算法介绍(1)了判断未知实例的类别,以所有已知类别的实例作为参照。(2)选择合适的K(参数)值。(3)计算未知类别到已知类别点的距离,选择最近K个已知实例。(4)根据少数服从多数的投票法则(majority-voting),让未知类别归类为K个最近邻样本中最多数的类别。2.例子使用KNN算法求G点的类型。2.1 方法1:自己写的算法2.1.1 做散点图import matplotlib.pyplot as pltimport numpy as npimport operat原创 2020-08-28 15:14:32 · 1217 阅读 · 0 评论 -
机器学习 jupyter Python 有监督学习 SVM算法
前言-小故事SVM的英文全称是Support Vector Machines,我们叫它支持向量机。支持向量机是我们用于分类的一种算法。让我们以一个小故事的形式,开启我们的SVM之旅吧。在很久以前的情人节,一位大侠要去救他的爱人,但天空中的魔鬼和他玩了一个游戏。魔鬼在桌子上似乎有规律放了两种颜色的球,说:"你用一根棍分开它们?要求:尽量在放更多球之后,仍然适用。于是大侠这样放,干的不错!然后魔鬼,又在桌上放了更多的球,似乎有一个球站错了阵营。显然,大侠需要对棍做出调整。SVM就是试图把棍放在最原创 2020-06-07 16:32:58 · 1941 阅读 · 1 评论 -
机器学习 jupyter Python无监督学习 聚类 k-meas算法
一、有监督学习与无监督学习1.有监督学习又称监督学习,就是人们常说的分类,通过已有的训练样本(即已知数据以及其对应的输出)去训练得到一个最优模型,再利用这个模型将所有的输入映射为相应的输出。2.无监督学习无监督学习(也有人叫非监督学习,反正都差不多)则是另一种研究的比较多的学习方法,它与监督学习的不同之处,在于我们事先没有任何训练样本(训练集),而需要直接对数据进行建模。二、聚类1.聚类和分类的区别聚类和分类的区别:聚类是无监督学习任务,不知道真实的样本标记,只把相似度高的样本聚合在一起;分原创 2020-05-16 21:14:38 · 3470 阅读 · 1 评论 -
机器学习 jupyter Python sklearn里面的lasso回归
一、Lasso回归背景LASSO是由1996年Robert Tibshirani首次提出,全称Least absolute shrinkage and selection operator。通过构造一个一阶惩罚函数获得一个精炼的模型;通过最终确定一些指标(变量)的系数为零,解释力很强。(相比较于岭回归。岭回归估计系数等于0的机会微乎其微,造成筛选变量困难)擅长处理具有多重共线性的数据,与岭回归一样是有偏估计。二、Lasso回归代价函数三、具体案列...原创 2020-05-16 11:03:45 · 1683 阅读 · 0 评论 -
机器学习 jupyter Python sklearn里面的岭回归
岭回归 Lasso回归一、标准线性回归(简单线性回归)标准线性回归(简单线性回归)中:如果想用这个式子得到回归系数,就要保证是一个可逆矩阵。下面的情景:如果特征的数据比样本点还要多,数据特征n,样本个数m,如果n>m,则计算会出错。因为不是满秩矩阵(行数小于列数),所有不可逆。为了解决这个问题,统计学家引入了岭回归的概念。想了解更多标准线性回归可以转跳到这里:二、岭回归1.基本含义:λ为岭系数, I为单位矩阵(对角线上全为1,其他元素为0)。单位矩阵为满秩矩阵,乘以λ原创 2020-05-16 10:42:39 · 1221 阅读 · 0 评论 -
机器学习 jupyter Python 欠拟合和过拟合 正则化
一、欠拟合和过拟合1.下面通过图示,来形象的解释欠拟合、过拟合的概念:(1)第一种模型过于简单,没有很好的扑捉到数据的特征。(2)第二种模型就比较好,能够扑捉到数据的特征(3)第三种模型过于复杂,降低泛化能力2.欠拟合含义:欠拟合就是模型没有很好地捕捉到数据特征,不能够很好地拟合数据。解决方法:(1)添加其他特征项,有时候我们模型出现欠拟合的时候是因为特征项不够导致的,可以添加其他特征项来很好地解决。例如,“组合”、“泛化”、“相关性”三类特征是特征添加的重要手段,无论在什么场景,都可以照原创 2020-05-15 22:49:15 · 461 阅读 · 0 评论 -
机器学习 jupyter Python 线性回归(自己写的算法)
一、寻找最佳拟合曲线线性回归的目的是预测数值型的目标值。例如:你想要预测的房价,可能会这么计算:y(房价),x(房价大小)????=1000+200∗????这就是所谓的回归方程(regression equation),其中的1000和200称作回归系数(regression weights)。求这些回归系数的过程就是回归。一旦有了这些回归系数,再给定输入,做预测就非常容易了。具体的做法是用回归系数乘以输入值,再将结果全部加在一起,就得到了预测值y。二、常见的线性回归表达式1.一元线性回归原创 2020-05-15 14:24:46 · 2899 阅读 · 1 评论 -
机器学习 jupyter Python 线性回归
'''案列1'''import matplotlib.pyplot as pltimport numpy as npnp.set_printoptions(suppress=True)#显示的数字不是以科学记数法显示dataSet=np.genfromtxt('ex0.txt')#读取数据x_data=dataSet[:,:-1]#读取除了最后一列以外的数据y_data=dataSet[:,-1]#只读取最后一列的数据def plot():#定义画图函数 plt.scatter(x原创 2020-05-13 21:57:04 · 5886 阅读 · 0 评论