![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
机器学习
Legolas~
这个作者很懒,什么都没留下…
展开
-
SVD奇异值分解的一些理解
关于SVD奇异值分解的公式推导和原理计算这里就不再赘述了,网上有很多的博客都讲解的非常详细,这里只说一下自己对SVD的一些理解,如果有错误的地方烦请网友们指正~SVD奇异值分解可以将原始矩阵分解成以下形式:通常情况下数据中会包含很多噪声数据、不相关数据等等,此时Σ\SigmaΣ矩阵对角线上的特征值需要进行取舍以达到对原始数据进行降维的操作,只提取有用的、我们最感兴趣的信息。对Σ\SigmaΣ对角线上的元素求和可以得到信息量总和,我们一般只需要信息量总和的大约90%的这部分信息量就足够了,因为100%原创 2020-08-14 12:11:49 · 234 阅读 · 0 评论 -
【深度学习】Pytorch学习笔记(四)
torch.nn.Sequential快速搭建神经网络torch.nn.Sequential实际仍然继承的是Module类,其内部某些方法依然调用的是父类Module的方法,只不过Sequential的__init__()可以接收用户堆叠的所有层结构(包括激活函数)的初始化操作,非常方便。import torchimport warningsimport numpy as npimport matplotlib.pyplot as pltfrom sklearn.metrics import a原创 2020-07-27 17:58:49 · 160 阅读 · 0 评论 -
【机器学习】sklearn模型正则化参数总结
1.岭回归:sklearn.linear_model.RidgeRidge(alpha=1.0, fit_intercept=True, normalize=False, copy_X=True, max_iter=None, tol=1e-3, solver="auto", random_state=None)参数alpha为正则化系数,其值的大小与正则化强度成正比。参数alpha即为上式岭回归损失函数中的α\alphaα。2.支持向量机回归模型:sklearn.sv原创 2020-07-23 15:32:48 · 2058 阅读 · 0 评论 -
tensorflow搭建神经网络回归模型与SVR机器学习模型对比
import numpy as npimport matplotlib.pyplot as pltimport tensorflow as tf from sklearn import svmX = np.sort(5 * np.random.rand(100, 1), axis = 0)Y = np.sin(X).ravel()Y[::5] += 3 * (0.5 - np.random.rand(20))Y = Y.reshape((100,1))plt.scatter(X, Y,原创 2020-06-15 21:49:05 · 1680 阅读 · 0 评论 -
python——json数据清洗(1)
数据集来源于某个比赛,文件是.json格式,内部嵌套了多个字典:json文件中的每一项的键是论文id,值是一个字典,该字典又包含键authors(作者)、title(论文题目)、abstract(摘要)、keywords(关键字)、venue(期刊)、year(年份)、id(论文编号)。第一步数据清洗的关键是从json文件中提取有用成分,这里只提取了作者名、作者所在机构和作者论文的关键字,由于文件中含有大量的缺失值,这里对不存在的键的值设置为空格,并追加到列表中。import jsondef l原创 2020-05-22 16:34:24 · 3315 阅读 · 0 评论 -
python数据分析及可视化
某大型超市的年销售数据信息如下所示:从左往右的相应字段分别为:订单日期、订单编号、商品门类、采购地区、销售额、数量以及利润。首先导入所需要的库,并读取表格:import pandas as pdfrom pyecharts import Mapimport matplotlib.pyplot as pltdf = pd.read_csv("superstore_dataset.csv")之后查看字段对应的数据类型:df.dtypes-------------------------原创 2020-05-21 15:14:00 · 7413 阅读 · 3 评论 -
基于python的MySQL数据库导入数据并进行梯度下降法回归方程的实现
import osfrom pymysql import *import csvimport numpy as npimport matplotlib.pyplot as pltdef mysql(): # 建立与数据库的连接 cnn = connect(host="localhost", port=3306,\ user="root", password="root",\ database="test",原创 2020-05-17 00:15:51 · 190 阅读 · 0 评论 -
python:numpy的corrcoef计算相关系数
corrcoef(x, y=None, rowvar=True, bias=np._NoValue, ddof=np._NoValue)函数常用的是前三个参数,x和y分别是需要计算相关系数的两个随机变量,当rowvar为True(默认情况)时,每一行代表一个随机变量,否则每一列代表一个随机变量。该函数计算的是Pearson(皮尔逊)相关系数,大学学过概率论与数理统计的都知道公式其中X,Y分别为两个随机变量,cov为X和Y的协方差,σx,σy分别为X和Y的标准差。 当ρ=0时,X和Y不存在线性关系,原创 2020-05-11 22:45:29 · 12779 阅读 · 0 评论 -
利用3sigma准则识别数据中的坏值
import pandas as pdimport matplotlib.pyplot as pltimport numpy as npfrom sklearn.preprocessing import StandardScalerdef three_sigma(y): #数据标准化处理 yStd = StandardScaler().fit_transform(y) result = [] for index, value in enumerate(yStd):原创 2020-05-09 14:33:30 · 6293 阅读 · 0 评论 -
利用sklearn实现支持向量机分类和预测模型
数据集线性可分from sklearn import svmfrom sklearn.model_selection import train_test_splitimport numpy as npfrom sklearn import metricsimport matplotlib.pyplot as pltdef loadDataSet(filename, delim...原创 2020-05-07 11:50:02 · 4004 阅读 · 3 评论 -
python实现k折交叉验证
from sklearn.model_selection import KFoldimport numpy as npdef loadDataSet(filename,delim='\t'): fr = open(filename) stringArr = [lines.strip().split(delim) for lines in fr.readlines()] ...原创 2020-04-28 17:55:28 · 1881 阅读 · 3 评论 -
NLP基础——python的jieba用于词类分割用法总结(1)
import jiebaseg_listDef = jieba.cut("我在学习自然语言处理")seg_listAll = jieba.cut("我在学习自然语言处理", cut_all=True)print("Default mode:"+" ".join(seg_listDef))print("All mode:"+" ".join(seg_listAll))jieba中的cu...原创 2020-04-18 21:59:20 · 3045 阅读 · 0 评论 -
spss实现k均值聚类
机器学习中的k均值聚类属于无监督学习,所谓k指的是簇类的个数,也即均值向量的个数。算法初始状态下,要根据我们设定的k随机生成k个中心向量,随机生成中心向量的方法既可以随机从样本中抽取k个样本作为中心向量,也可以将中心向量固定在样本的维度范围之内,避免中心向量过偏远离大多数样本点。然后每个样本点需要与k个中心向量分别计算欧氏距离,取欧氏距离最小的中心向量作为该样本点的簇类中心,当第一轮迭代完成之后,...原创 2020-04-10 12:30:46 · 19125 阅读 · 3 评论 -
机器学习:Logistic回归原理浅析
from numpy import *import matplotlib.pyplot as pltdef loadDataSet(fileName): dataMat = []; labelMat = [] fr = open(fileName) for line in fr.readlines(): lineArr = line.stri...原创 2020-04-07 16:54:26 · 205 阅读 · 2 评论 -
利用Batch梯度下降法求解线性回归方程
import numpy as npimport matplotlib.pyplot as pltdef loadDataSet(fileName,delim = '\t'): fr = open(fileName) stringArr = [line.strip().split(delim) for line in fr.readlines()] datArr = ...原创 2020-04-05 23:15:00 · 266 阅读 · 0 评论 -
spss实现主成分分析
首先打开spss软件,在菜单栏"文件"中导入相关数据文件导入的数据如下所示:我们先对数据进行标准化处理,在菜单栏中点击"分析",选中"描述统计",点击"描述",将需要进行标准化处理的数据选入右侧框中,勾选下方复选框,点击确定,得到标准化处理后的数据:接下来对数据进行主成分分析。我们按照上图选中“因子”,弹出对话框,将需要进行主成分分析的标准化处理后的数据导入右侧框中:先点击“...原创 2020-04-03 15:14:52 · 3313 阅读 · 0 评论 -
流形学习——MDS多维缩放算法
from sklearn import metricsimport matplotlib.pyplot as pltimport numpy as npfrom mpl_toolkits import mplot3ddef loadDataSet(fileName,delim='\t'): fr = open(fileName) stringArr = [line.str...原创 2020-04-02 00:21:27 · 439 阅读 · 0 评论 -
基于朴素贝叶斯分类器的西瓜数据集3.0预测分类
"""author:@Liu"""from numpy import *def loadDataSet(): #训练数据集 watermelonList = [ ['青绿', '蜷缩', '浊响', '清晰', '凹陷', '硬滑'],\ ['乌黑', '蜷缩', '沉闷', '清晰', '凹陷', '硬滑'],\ ...原创 2020-03-26 21:27:46 · 3471 阅读 · 0 评论 -
基于朴素贝叶斯分类器的西瓜数据集2.0预测分类
from numpy import *def loadDataSet(): #训练数据集 watermelonList = [ ['青绿', '蜷缩', '浊响', '清晰', '凹陷', '硬滑'],\ ['乌黑', '蜷缩', '沉闷', '清晰', '凹陷', '硬滑'],\ ['乌黑', '...原创 2020-03-25 18:47:12 · 2760 阅读 · 0 评论 -
激活函数sigmoid和tanh
1.sigmoid函数也称为S型函数,该函数将变量全部映射到(0,1)区间。函数表达式如下所示:import numpy as npimport matplotlib.pyplot as pltdef sigmoid(x): return 1 / (1+np.exp(-x))x = np.arange(-10,10,0.01)y = sigmoid(x)plt.plot(...原创 2020-03-05 23:16:50 · 1032 阅读 · 0 评论 -
基于sklearn的logistic回归对于鸢尾花的机器学习分类实践
sklearn(scikit-learn)是python机器学习常用的第三方模块,是一个开源的机器学习库,它支持监督学习和非监督学习。它还为模型拟合、数据预处理、模型选择和评估以及许多其他实用工具提供了各种工具。sklearn对机器学习的常用算法进行了封装,包括回归、降维、分类、聚类等。对于以下的机器学习分类实践所用到的函数及方法进行说明。1.np.c_[ ]和np.r_[ ]的用法解析>...原创 2020-02-23 14:08:12 · 2350 阅读 · 0 评论 -
基于opencv的电脑摄像头简易人脸识别
import cv2 as cvimport keyboardface_engine = cv.CascadeClassifier("E:\\python\\haarcascade_frontalface_default.xml")eye_engine = cv.CascadeClassifier("E:\\python\\haarcascade_eye.xml")smile_engine...原创 2020-02-20 14:31:13 · 1020 阅读 · 0 评论 -
机器学习——预测数值型数据:回归
1.用线性回归找到最佳拟合直线我们知道回归方程的公式如下所示:如果输入向量x满足以下形式:并且我们有如下形式的回归系数向量w:那么回归方程又可以写成以下形式:那么我们如何求取回归系数向量w呢?一个常用的方法就是找出使得误差最小的w,我们通常采用平方误差。平方误差可以写成:用矩阵表示还可以写做(y-xw)T(y-xw)。我们对w求导并令其等于零,解出w如下:值得注意的是...原创 2020-02-14 14:27:06 · 761 阅读 · 0 评论 -
交叉熵
交叉熵(cross entropy)是香农信息论中的一个重要概念,其概念主要来源于KL散度(Kullback-Leibler divergence),又称为相对熵。相对熵的定义如下所示:其中,P(x)和Q(x)分别为随机变量x的真实分布和预测或者拟合分布。我们将上式中的log函数展开得到如下形式:通过上式我们发现等式右边第一项由于P(x)为随机变量的真实分布所以第一项为常量恒不变,所以对于...原创 2020-01-13 14:48:36 · 487 阅读 · 0 评论 -
用python实现K-Means均值聚类算法
以下代码仿照《机器学习实战》一书,在其基础上稍加修改:import numpy as npimport matplotlib.pyplot as pltdef loadDataSet(filename): dataMat=[] fr=open(filename) for line in fr.readlines(): curLine=line...原创 2020-01-11 13:12:33 · 404 阅读 · 0 评论 -
支持向量机——软间隔与正则化
正则化通俗来讲,就是在原有的最大化或者最小化数学模型的基础上加入约束条件,即正则项,但是该约束条件是我们原本不希望发生的事件。例如,有一部分样本数据并没有被正确分类;又或者,我们希望拟合结果中存在一定的随机噪声,加入正则项是为了防止过拟合的现象产生,我们允许分类器或者神经网络在分类或者拟合的时候出错。但是出错的概率应尽肯能的低,我们允许出错,但是不代表出错容限无限大,应该控制在一定范围内。过拟...原创 2019-12-30 16:45:05 · 1728 阅读 · 0 评论 -
支持向量机基本原理
支持向量机的原理简单概括来说,就是在样本空间寻找最佳分类面即超平面,将训练样本分开。对于样本空间,可能存在多个划分超平面将两类训练样本分开,如下图所示的情况:那么从上图来看显然正中间的红色的超平面是我们所要找的超平面,因为受到训练样本数量上的限制以及噪声、误差等因素的干扰,该超平面受到的影响最小,即对分类结果最鲁棒。在样本空间中,我们通过下述方程来描述超平面:其中w=(w1,w2,……w...原创 2019-12-23 16:37:20 · 16017 阅读 · 0 评论 -
基于Logistic回归的Sigmoid函数分类算法的python代码实现
import numpy as npimport matplotlib.pyplot as pltdef loadDataSet(): dataMat = []; labelMat = [] fr = open('testSet.txt') for line in fr.readlines(): lineArr = line.strip().split...原创 2019-12-12 15:39:16 · 1345 阅读 · 1 评论 -
python实现ID3决策树和CART决策树
代码实现的数据模型如下所示:以下是通过python实现的决策树代码:from math import logimport operatordataSet=[[1,1,'yes'],[1,1,'yes'],[1,0,'no'],[0,1,'no'],[0,1,'no']] #数据集合labels=['no surfacing','flippers'] #数据标签def calc...原创 2019-12-07 10:54:22 · 607 阅读 · 1 评论 -
k-近邻算法的python代码实现
import numpy as npimport operatorimport matplotlib.pyplot as pltgroup=np.array([[83,26],[15,98],[80,13],[70,20],[56,93],[5,105]])labels=["comedy","action","comedy","comedy","action","action"]def ...原创 2019-12-05 10:03:19 · 752 阅读 · 0 评论 -
粒子群算法的python代码实现
该代码所要解决的问题是求解函数z=3cos(xy)+x+y^2的最小值。代码如下所示:import numpy as npimport mathimport randomimport matplotlib.pyplot as pltclass Particles: def __init__(self,num,d,iterMax,l1,l2,wMax,wMin,xMax,xMin,...原创 2019-12-03 16:53:18 · 4541 阅读 · 2 评论 -
K-means均值聚类算法python代码实现
import numpy as npimport matplotlib.pyplot as pltimport mathimport pandas as pddata=pd.read_csv("svm.csv")kdataList=data.values.tolist() #把DataFrame解析成列表fig=plt.figure()ax=fig.add_subplot(121)...原创 2019-12-02 18:08:39 · 893 阅读 · 0 评论 -
主成分分析python代码实现
import matplotlib.pyplot as pltimport numpy as npimport pandas as pddata=pd.read_csv("svm.csv").head(10)listCenterx=[]listCentery=[]verdexList=[]fig=plt.figure()ax=fig.add_subplot(121)plt.tit...原创 2019-11-28 16:50:41 · 1980 阅读 · 0 评论 -
主成分分析——数据中心化与标准化处理
在主成分分析法中,一般来说,我们进行的第一步应该是对所有样本数据进行中心化,甚至是标准化处理。那么我们为什么要对样本数据进行中心化和标准化处理呢?在一般的实际问题当中,我们要分析的数据一般是多个维度的,由多个特征或者属性构成的复杂数据集合。例如对某个地区的人均收入构建预测模型或者进行分析的时候,我们会考虑到该地区的GDP总量、人口数量、税收等,显然它们的单位或者说是数量级都是不一样的。我们通过中...原创 2019-11-27 21:53:56 · 14550 阅读 · 0 评论 -
学习向量量化算法伪代码
原创 2019-11-26 22:09:40 · 463 阅读 · 0 评论 -
k均值聚类算法伪代码
原创 2019-11-26 22:08:32 · 2257 阅读 · 0 评论