
数据科学--机器学习
东华果汁哥
大家好!我叫赖德发,欢迎您来到我的博客。
展开
-
【python 相关性分析】Python绘制相关性热力图
在数据分析时,经常会针对两个变量进行相关性分析。在Python中主要用到的方法是pandas中的corr()方法。corr():如果由数据框调用corr函数,那么将会计算每个列两两之间的相似度,返回DataFrame# -*- coding: utf-8 -*-# 导入包import pandas as pdimport numpy as npimport matplotlib.pyplot as pltimport seaborn as snsplt.rcParams['font.sans原创 2022-03-26 09:49:50 · 15399 阅读 · 2 评论 -
【算法 2022】高效有用的机器学习算法和 Python 库
2022年已经到来,在此祝大家虎年大吉!2022年,下面几种机器学习算法和 Python 库将在未来更受欢迎!让我们花个几分钟一起来了解下:一、CatBoostCatBoost 可能是最新的算法,因为它随着越来越流行而不断更新。这个机器学习算法对于处理分类数据的数据科学家特别有用。您可以考虑 Random Forest 和 XGBoost 算法的优点,CatBoost 具有它们的大部分优点,同时还具有更多其它的优点。无需担心参数调整——默认值通常会胜出,通常不值得手动调整,除非您想通过手动更改值来原创 2022-02-22 16:09:37 · 1031 阅读 · 0 评论 -
【pycaret 分类任务】有监督学习之分类任务
1.一个数据科学利器 PyCaret,几行代码搞定从数据处理到模型训练,保存,部署。2.PyCaret 是一个将我们常用到的机器学习库进行封装了的轮子。3.PyCaret对于在时间紧迫的情况下快速生成结果非常有用。在不同类型的数据集上练习使用它——你会越充分利用它,就越能真正掌握它的实用性!4.PyCaret 支持6个模块, 有监督 和 无监督 模型的训练和部署,分别有分类、回归、聚类、异常检测、自然语言处理和关联规则挖掘。5、模型比较,这是模型训练的第一步。 compare_models 函数会训原创 2021-12-23 13:40:31 · 1200 阅读 · 0 评论 -
【python 机器学习】机器学习算法之CatBoost
主要内容:一、算法背景二、CatBoost简介三、CatBoost的优点四、CatBoost的安装与使用五、CatBoost回归实战六、CatBoost调参模块七、CatBoost 参数详解一、算法背景:2017年俄罗斯的搜索巨头 Yandex 开源 Catboost 框架。Catboost(Categorical Features+Gradient Boosting)采用的策略...原创 2020-01-08 14:19:49 · 10091 阅读 · 0 评论 -
【python 机器学习】正态分布检验以及异常值处理3σ原则
正态曲线呈钟型,两头低,中间高,左右对称因其曲线呈钟形,因此人们又经常称之为钟形曲线。使用K-S检验一个数列是否服从正态分布、两个数列是否服从相同的分布。下面介绍 Python 中常用的几种正态性检验方法:scipy.stats.kstest异常值是指样本中的个别值,其数值明显偏离其余的观测值。异常值也称离群点,异常值的分析也称为离群点的分析。在进行机器学习过程中,需要对数据集进行异...原创 2020-01-07 11:24:54 · 24791 阅读 · 7 评论 -
【python 机器学习】机器学习算法之LightGBM
算法介绍:LightGBM 由微软2017年提出,主要用于解决 GDBT 在海量数据中遇到的问题,以便其可以更好更快地用于工业实践中。从 LightGBM 名字我们可以看出其是轻量级(Light)的梯度提升机(GBM),其相对 XGBoost 具有训练速度快、内存占用低的特点。实际上,XGBoost和lightGBM都属于GBDT的一种实现,旨在优化算法的性能,提升算法的训练速度,与XGBoo...原创 2019-12-31 16:58:38 · 1728 阅读 · 0 评论 -
【机器学习 非线性回归模型】10分钟了解下8种常见的非线性回归模型
线性回归模型请看上篇文章,本篇文章介绍的是非线性回归模型线性回归模型链接在目前的机器学习领域中,最常见的三种任务就是:回归分析、分类分析、聚类分析。那么什么是回归呢?回归分析是一种预测性的建模技术,它研究的是因变量(目标)和自变量(预测器)之间的关系。回归分析在机器学习领域应用非常广泛,例如,商品的销量预测问题,交通流量预测问题。下面介绍几种常见的非线性回归模型。1、SVR众所周知,支持向...原创 2019-12-29 22:06:27 · 28871 阅读 · 0 评论 -
【机器学习 线性模型】10分钟了解下6种常见的线性模型
在目前的机器学习领域中,最常见的三种任务就是:回归分析、分类分析、聚类分析。那么什么是回归呢?回归分析是一种预测性的建模技术,它研究的是因变量(目标)和自变量(预测器)之间的关系。回归分析在机器学习领域应用非常广泛,例如,商品的销量预测问题,交通流量预测问题。下面介绍几种常见的线性回归模型。常用的线性回归算法1、线性回归线性回归拟合一个带系数的线性模型,以最小化数据中的观测值与线性预测值之间...原创 2019-12-29 12:08:47 · 7864 阅读 · 0 评论 -
【机器学习 模型调参】GridSearchCV模型调参利器
导入模块sklearn.model_selectionfrom sklearn.model_selection import GridSearchCVGridSearchCV 称为网格搜索交叉验证调参,它通过遍历传入的参数的所有排列组合,通过交叉验证的方式,返回所有参数组合下的评价指标得分,GridSearchCV 函数的参数详细解释如下:class sklearn.model_selec...原创 2019-12-26 12:35:34 · 1908 阅读 · 0 评论 -
【机器学习 Alink开源】10分钟了解下阿里开源机器学习平台alink
1、什么是Alink?Alink 是阿里巴巴计算平台事业部PAI团队从 2017 年开始基于实时计算引擎 Flink 研发的新一代机器学习算法平台,提供丰富的算法组件库和便捷的操作框架,开发者可以一键搭建覆盖数据处理、特征工程、模型训练、模型预测的算法模型开发全流程。github下载地址:https://github.com/alibaba/Alink2、pyalink 安装方式确保使用...原创 2019-12-07 16:44:02 · 1624 阅读 · 0 评论 -
【ML--04】第四课 logistic回归
1、什么是逻辑回归?当要预测的y值不是连续的实数(连续变量),而是定性变量(离散变量),例如某个客户是否购买某件商品,这时线性回归模型不能直接作用,我们就需要用到logistic模型。逻辑回归是一种分类的算法,它用给定的输入变量(X)来预测二元的结果(Y)(1/0,是/不是,真/假)。我们一般用虚拟变量来表示二元/类别结果。你可以把逻辑回归看成一种特殊的线性回归,只是因为最后的结果是类别变量,所以我原创 2017-07-12 11:06:49 · 2364 阅读 · 0 评论 -
【算法 机器学习】R语言做朴素贝叶斯和决策树算法
data:2016-02-19author:laidefa########################朴素贝叶斯#####################################目标:利用朴素贝叶斯预测苹果是好的坏的rm(list=ls())gc()library(plyr)library(reshape2)#训练集train.apple<-data.frame(size=原创 2017-06-13 09:53:12 · 3023 阅读 · 0 评论 -
【算法 机器学习】MATLAB、R、python三种编程语言实现简单线性回归算法比较
data:2015-10-04 author:laidefa 今天看到机器学习中的回归,一个简单的线性回归原理想想无非就是利用最小二乘法进行拟合。想着自己去实现下算法,体验以下不同的编程语言实现算法有什么难易程度,亲自编完实现之后,心中方有感觉,得知结果python最佳。下面还是贴上代码把,仅供欣赏。1、matlab实现最小二乘法算法%data:2015-10-04%author:la原创 2017-06-13 09:41:10 · 2704 阅读 · 0 评论 -
【ML--05】第五课 如何做特征工程和特征选择
一、如何做特征工程? 1.排序特征:基于7W原始数据,对数值特征排序,得到1045维排序特征 2. 离散特征:将排序特征区间化(等值区间化、等量区间化),比如采用等量区间化为1-10,得到1045维离散特征 3. 计数特征:统计每一行中,离散特征1-10的个数,得到10维计数特征 4. 类别特征编码:将93维类别特征用one-hot编码 5. 交叉特征:特征之间两两融合,x+y、x-y、x原创 2017-07-14 10:27:07 · 2635 阅读 · 0 评论 -
【ML--01】第一课 机器学习概述
接下来打算整理下一套机器学习的过程和学习文档分享给大家,共同学习进步~我理解的机器学习(Machine Learing,ML)1、、机器学习是对能通过经验自动改进的计算机算法的研究。从数据中自动分析获得规律,并利用规律对未知数据进行预测的算法。机器学习以算法为主,需要一定的数学素养,最终目标将机器学习算法用于大数据挖掘。2、机器学习是人工智能研究的核心内容。它的应用已遍及人工智能的各个分支。数据挖掘原创 2017-07-06 09:57:19 · 1513 阅读 · 0 评论 -
【数据科学】当代数据科学家需要掌握的技能
道路通往星辰大海,纵有荆棘不言孤单~原创 2017-06-15 09:47:01 · 1599 阅读 · 0 评论 -
【ML--02】第二课 线性回归
1、重点归纳 回归分析就是利用样本(已知数据),产生拟合方程,从而(对未知数据)进行预测 用途:预测,判别合理性 例子:利用身高预测体重;利用广告费用预测商品销售额;等等. 线性回归分析:一元线性;多元线性;广义线性 非线性回归分析 困难:选定变量(多元),避免多重共线性,观察拟合方程,避免过度拟合,检验模型是否合理2、一元线性回归: 首先计算相关系数确定自变量与因变量是否相关。原创 2017-07-06 19:13:19 · 2144 阅读 · 0 评论 -
【ML--03】 第三课 机器学习基本概念
什么是机器学习 研究如何通过计算的手段,利用经验来改善系统自身的性能 通俗来讲,让代码学着干活● 特征:自变量 ● 标签:因变量学习的种类 ● 有监督学习:提供标签,分类、回归 ● 无监督学习:无标签,聚类 ● 增强学习:也称强化学习,马尔科夫决策过程(Markov Decision Processes,MDP) ● 主动学习:边学习边标注 ● 迁移学习:从一原创 2017-07-06 19:41:51 · 573 阅读 · 0 评论 -
【DL--01】深度学习 揭开DL的神秘面纱
什么是深度学习 深度学习=深度神经网络+机器学习 人工智能 > 机器学习 > 表示学习 > 深度学习神经元模型 输入信号、加权求和、加偏置、激活函数、输出 全连接层 输入信号、输入层、隐层(多个神经元)、输出层(多个输出,每个对应一个分类)、目标函数(交叉熵) 待求的参数:连接矩阵W、偏置b 训练方法:随机梯度下降,BP算法(后向传播)Python中深度学习实现:Keras 官网原创 2017-07-17 10:40:22 · 4136 阅读 · 0 评论 -
【DL--02】深度学习基本概念--符号计算
符号计算Keras的底层库使用Theano或TensorFlow,这两个库也称为Keras的后端。无论是Theano还是TensorFlow,都是一个“符号式”的库。因此,这也使得Keras的编程与传统的Python代码有所差别。笼统的说,符号主义的计算首先定义各种变量,然后建立一个“计算图”,计算图规定了各个变量之间的计算关系。建立好的计算图需要编译以确定其内部细节,然而,此时的计算图还是一个“空原创 2017-07-17 14:44:31 · 1338 阅读 · 0 评论 -
【DL--04】深度学习基本概念—data_format
data_format这是一个无可奈何的问题,在如何表示一组彩色图片的问题上,Theano和TensorFlow发生了分歧,’th’模式,也即Theano模式会把100张RGB三通道的16×32(高为16宽为32)彩色图表示为下面这种形式(100,3,16,32),Caffe采取的也是这种方式。第0个维度是样本维,代表样本的数目,第1个维度是通道维,代表颜色通道数。后面两个就是高和宽了。这种thea原创 2017-07-17 15:03:38 · 1624 阅读 · 0 评论 -
【DL--05】深度学习基本概念—函数式模型
函数式模型函数式模型算是本文档比较原创的词汇了,所以这里要说一下在Keras 0.x中,模型其实有两种,一种叫Sequential,称为序贯模型,也就是单输入单输出,一条路通到底,层与层之间只有相邻关系,跨层连接统统没有。这种模型编译速度快,操作上也比较简单。第二种模型称为Graph,即图模型,这个模型支持多输入多输出,层与层之间想怎么连怎么连,但是编译速度慢。可以看到,Sequential其实是G原创 2017-07-17 15:44:32 · 2375 阅读 · 0 评论 -
【DL--06】深度学习基本概念—batch
batch这个概念与Keras无关,老实讲不应该出现在这里的,但是因为它频繁出现,而且不了解这个技术的话看函数说明会很头痛,这里还是简单说一下。深度学习的优化算法,说白了就是梯度下降。每次的参数更新有两种方式。第一种,遍历全部数据集算一次损失函数,然后算函数对各个参数的梯度,更新梯度。这种方法每更新一次参数都要把数据集里的所有样本都看一遍,计算量开销大,计算速度慢,不支持在线学习,这称为Batch原创 2017-07-17 15:54:14 · 3489 阅读 · 0 评论 -
【DL--07】深度学习基本概念—epochs
epochs 一个epoch是指把所有训练数据完整的过一遍 真的不是很想解释这个词,但是新手问的还挺多的…… 简单说,epochs指的就是训练过程中数据将被“轮”多少次,就这样。原创 2017-07-17 16:39:16 · 4608 阅读 · 0 评论 -
【DL--09】神经网络,需要知道的数学公式
推导数学公式:原创 2017-07-30 15:48:45 · 745 阅读 · 0 评论 -
【DL--10】AI我深度上,TensorFlow安装教程
什么是TensorFlow?TensorFlow 是谷歌开发的第二个机器学习框架,可用于设计、构建和训练深度学习模型。你可以使用 TensorFlow 库进行数值计算,这本身似乎并没有什么特别的,但这些计算是使用数据流图完成的。在这些图中,节点表示数学运算,而边则表示数据——通常是多维的数组或张量,在这些边之间传递。一直尝试在Linux 下安装好python 环境的 TensorFlow ,无奈次次原创 2017-07-31 15:27:01 · 549 阅读 · 0 评论 -
【DL--11】win7 64安装theano的简单方法
参考了很多网上的方法,总结出最简单的方法,作为备忘录。 第一步:安装MinGW 注意这一步一定要安装mingw64位,要不然在后面编译theano的函数时可能编译不过。 mingw64我下载的传到我的csdn资源,里面含有gcc,g++等常用编译器。 链接如下: http://download.youkuaiyun.com/detail/leehomwanglj/864原创 2017-08-01 11:09:02 · 482 阅读 · 0 评论 -
【DL--12】Theano入门
Theano是一个Python库,专门用于定义、优化、求值数学表达式,效率高,适用于多维数组。特别适合做机器学习。一般来说,使用时需要安装python和numpy.首先回顾一下机器学习的东西,定义一个模型(函数)f(x;w) x为输入,w为模型参数,然后定义一个损失函数c(f),通过数据驱动在一堆模型函数中选择最优的函数就是训练training的过程,在机器学习中训练一般采用梯度下降法gradie原创 2017-08-01 15:03:22 · 416 阅读 · 0 评论 -
【DL--12】LeNet5的基本结构
一种典型的用来识别数字的卷积网络是LeNet-5(效果和paper等见这)。当年美国大多数银行就是用它来识别支票上面的手写数字的。能够达到这种商用的地步,它的准确性可想而知。毕竟目前学术界和工业界的结合是最受争议的。1.C1层是一个卷积层(为什么是卷积?卷积运算一个重要的特点就是,通过卷积运算,可以使原信号特征增强,并且降低噪音),由6个特征图Feature Map构成。特征图中每个神经元与输入中5原创 2017-08-01 17:19:11 · 636 阅读 · 0 评论 -
【验证码识别】验证码识别一般思路
1、在计算机中彩色图片是由像素点组成,像素点由R(红)G(绿)B(蓝)三原色组成,在验证码识别过程中,一般把需要识别的字符称为前景,其他的称为背景2、灰度化:即将彩色图像转化为灰度图像,一般有以下三种方法 1)最大值法:命R、G、B的值等于三者中最大值,即R=G=B=max(R,G,B),这种方法会形成亮度很高的图像 2)平均值法:命R、G、B的值等于三者的平均值,即R=G=B=avg(R,G原创 2017-08-08 16:39:10 · 2651 阅读 · 0 评论 -
【DL--13】CNN 两大特性(局部连接、权重共享)
在多层感知器模型中,神经元通常是全部连接,参数较多。而卷积层的参数较少,这也是由卷积层的主要特性即局部连接和共享权重所决定。局部连接:每个神经元仅与输入神经元的一块区域连接,这块局部区域称作感受野(receptive field)。在图像卷积操作中,即神经元在空间维度(spatial dimension,即上图示例H和W所在的平面)是局部连接,但在深度上是全部连接。对于二维图像本身而言,也是局部像素原创 2017-08-02 11:04:16 · 22222 阅读 · 1 评论 -
【ML--09】决策树算法Decision Tree
一、三个决策树算法介绍 @1、信息增益:ID3 选择具有最高信息增益的属性作为节点N的分裂属性。举个例子: 首先使用(8.1)式计算D中元组分类所需要的期望信息:Info(D)=-log₂(9/14)(9/14)-log₂(5/14)(5/14)=0.94下一步计算每个属性的期望信息需求。从属性age开始,需要对age的每个类考察Yes和NO元组的分布。对于age的类“youth”,有2个ye原创 2017-08-09 10:31:10 · 2512 阅读 · 0 评论 -
【DL--14】Keras案例学习-- CNN做手写字符分类(mnist_cnn )
'''Trains a simple convnet on the MNIST dataset.Gets to 99.25% test accuracy after 12 epochs(there is still a lot of margin for parameter tuning).16 seconds per epoch on a GRID K520 GPU.'''from __fu原创 2017-08-02 18:02:50 · 1063 阅读 · 0 评论 -
【DL--16】深度学习架构清单
1. AlexNet AlexNet 是首个深度架构,它由深度学习先驱 Geoffrey Hinton 及其同僚共同引入。AlexNet 是一个简单却功能强大的网络架构,为深度学习的开创性研究铺平了道路。论文:ImageNet Classification with Deep Convolutional Neural Networks 链接:https://papers.nips.cc/pape原创 2017-08-17 10:05:34 · 683 阅读 · 0 评论 -
【DL--17】在R中使用Keras和TensorFlow
随着 采用R基于tensorflow (CPU 和 GPU 兼容)的Keras 库的发布,R语言也进军深度学习啦,下面开始安装TensorFlow 和Keras ,因为Keras 包含了TensorFlow ,我们只需要安装Keras即可。一、安装: install.packages("devtools") devtools::install_github("rstudio/keras原创 2017-08-17 11:19:19 · 9350 阅读 · 4 评论 -
【DL--18】Windows下基于Anaconda的Tensorflow环境配置
1、Anaconda下载安装:https://www.continuum.io/downloads 版本为:Anaconda3,for windows,64bit(tensorflow在windows下只支持Python 3.5以上、amd64)2、Anaconda使用:打开“开始目录”,找到Anaconda/Anaconda prompt,以管理员权限运行,否则会出现permission den原创 2017-08-17 15:12:16 · 562 阅读 · 0 评论 -
【DL--19】R语言---python 使用MLP分类 MNIST 手写数字
R语言版本:rm(list=ls())gc()library(keras)library(tensorflow)# #加载keras中 内置的 mnist 数据集data<-dataset_mnist()#分离训练和测试文件train_x<-data$train$xtrain_y<-data$train$ytest_x<-data$test$xtest_y<-data$test$y原创 2017-08-17 15:16:53 · 1314 阅读 · 1 评论 -
【DL--15】运行一个TensorFlow
$ python>>> import tensorflow as tf>>> hello = tf.constant('Hello, TensorFlow!')>>> sess = tf.Session()>>> print sess.run(hello)Hello, TensorFlow!>>> a = tf.constant(10)>>> b = tf.constant(32)>原创 2017-08-03 14:15:47 · 1629 阅读 · 0 评论 -
【DL--20】各种编程语言的深度学习库整理
本文总结了Python、Matlab、CPP、Java、JavaScript、Lua、Julia、Lisp、Haskell、.NET、R等语言的深度学习库,赶紧收藏吧!Python1. Theano是一个python类库,用数组向量来定义和计算数学表达式。它使得在Python环境下编写深度学习算法变得简单。在它基础之上还搭建了许多类库。 1.Keras是一个简洁、高度模块化的神经网络库,它的设计参考原创 2017-08-17 17:06:25 · 2539 阅读 · 0 评论 -
【DL--21】深度学习57个专业术语
激活函数(Activation Function)为了让神经网络能够学习复杂的决策边界(decision boundary),我们在其一些层应用一个非线性激活函数。最常用的函数包括 sigmoid、tanh、ReLU(Rectified Linear Unit 线性修正单元) 以及这些函数的变体。AdadeltaAdadelta 是一个基于梯度下降的学习算法,可以随时间调整适应每个参数的学习率。它原创 2017-08-17 17:34:39 · 2475 阅读 · 0 评论