评论与实时聊天系统
主要解释了本博客中评论与聊天系统的使用方法。
机器学习实战(五·续一)
用keras单隐层网络预测客户流失率
这一节的实例过程中出现的结果,每个人之间可能都有较大出入。大家主要还是要理解代码的思路!另外下载教学资源中,此节的数据集和kaggle上作者上传的数据有所差别,强烈建议下载kaggle上的数据集:点击此处
数据准备与分析
打开数据集观察一下,会发现具体包含以下信息:
Name: 客户姓名
Gender: 性别
Age: 年龄
City: 城市
Tenure: 已经成为客户的年头
ProductsNo: 拥有的产品数量
HasCard: 是否有信用卡
ActiveMember: 是否为活跃用户
Credit: 信用评级
AccountBal: 银行存款余额
Salary: 薪水
Exited: 客户是否已经流失
1234import numpy as npimport pandas as pddf_bank = pd.read_csv("/content/drive/MyDrive/Colab Notebooks/Learning ML from 0/dataset/BankCustomer.csv")df_bank.head ...
机器学习实战(五)
深度神经网络——找出可能流失的客户
这次的实战,是有关于一个金融领域的项目,而它需要神经网络,也就是深度学习模型来解决。深度学习是一个进阶领域,涉及到的新内容较多,因此此节内容会比较长,我会分成几个博客来写。
该项目的具体需求是根据已知的一批客户数据,来预测某个银行的客户是否会流失。通过学习历史数据,如果机器能够判断出哪些客户很有可能在未来两年内结束在该银行的业务,那么银行的工作人员就可以采用相应的措施来挽留这些高流失风险的客户。
其实这个问题和上一节的心脏病预测问题一样,本质上都是分类,而我们需要研究的就是,神经网络解决这一问题有什么优势。
本节用到的数据集在第5课源码包“教学用例 银行客户流失”目录中的“Bank Customer.csv”。
神经网络原理
传统机器算法的局限性
传统机器算法拥有一定局限性。首先,越简单的关系越容易拟合。然而对于一个非线性的问题,我们就需要通过复杂的函数模型(如高阶多项式)去拟合。此时单纯的线性回归函数已经不能满足要求,因而我们需要把特征重新组合,变化出新的特征。这种对特征的变换、升阶,以及多个特征相互组合形成新特征的过程,就是机器学习过程中即耗时又 ...
机器学习实战(四·续)
问题定义:确定鸢尾花的种类(多元分类)
与第三节一样,我将多元的机器学习放在续节中。
确定鸢尾花的种类是一个经典的多分类问题。数据来自R.A. Fisher1936年发表的论文。数据集中的鸢尾花共3类,分别为山鸢尾(iris-setosa)、杂色鸢尾(iris-versicolor)、维吉尼亚鸢尾(iris-virginica)。
数据集中共有150个数据,已经按照标签类别排序,每类50个数据,其中有一类可以和其他两类进行线性的分割,但另外两类无法根据特征线性分割开。
特征和标签字段如下所示:
————————————————
Id: 序号
SepalLengthCm: 花萼长度
SepalWidthCm: 花萼宽度
PetalLengthCm: 花瓣长度
PetalWidthCm: 花瓣宽度
Species: 种类(标签)
————————————————
从二元分类到多元分类
其实从二元分类到多元分类的思想我觉得很好理解,其实就是逐个击破。每一次分类都是一次二元分类,一类接着一类分出来,而不是一下就把所有类别分好。最后一类出来的时候就是分类完成了。
多元分类的损失函数
多元分类 ...
机器学习实战(四)
逻辑回归——给病患和鸢尾花分类
问题定义:判断客户是否患病
机器学习主要有两大应用,一是回归问题,二是分类问题。在上节已经结束了回归算法后,这节开始我们要了解逻辑回归(logistic regression)。为什么逻辑回归也有“回归”两个字呢,因为本质上来说,逻辑回归算法也是通过调整权重w和偏置b来找到找到线性函数来计算数据样本属于某一类的概率。
现在有这样一个实际问题:我们现在因实际需要,想要知道一个人的心脏健康状况,例如一个人有心脏病的可能性。在研究这个问题之前,我们首先需要查看大量医院心脏病例的大量资料,查看可能导致心脏病的因素,比如先天因素,后天因素等。现在呢假设我们已经有个1000个人的资料了,然后我们从统计和经验出发,归纳出几个可能会影响心脏病的因素:
——————————
age: 年龄
sex: 性别
cp: 胸痛类型
trestbps: 休息时血压
chol: 胆固醇
fbs: 血糖
restecg: 心电图
thalach: 最大心率
exang: 运动后心绞痛
oldpeak: 运动后ST段压低
slope: 运动高峰期ST段的斜率
ca: 主动脉荧光造影染色 ...
机器学习实战(三·续)
用轮廓图描绘L、w和b的关系
在上一节,我们已经基本完成了机器学习的建模过程。接下来要介绍的一个辅助性工作叫做轮廓图。损失曲线描绘的是损失和迭代次数之间的关系,而轮廓图则描绘的是L、w和b这三者之间的关系。
下面是补充代码:
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182# 上面是上一节的代码# 使用contour plotimport matplotlib.animation as animationtheta0_vals = np.linspace(-2, 3, 100)theta1_vals = np.linspace(-3, 3, 100)J_vals = np.zeros((theta0_vals.size, theta1_vals.size))for t1, element in enumerate(theta0_ ...
机器学习实战(三)
线性回归——预测网店的销售额
问题定义
张三在运营一个网店,他发现网店商品的销量和广告推广的力度息息相关。张三准备好了以下几个问题亟待解决:
(1)各种广告和商品销售额的相关度如何?
(2)各种广告和商品销售额之间体现出一种什么关系?
(3)哪一种广告对于商品销售额影响最大?
(4)分配特定的广告投放金额,预测出未来的商品销售额。
数据的收集和预处理
收集网店销售额数据
已经收集好的销售额的数据,在数据集中主要包含以下内容:
特征:1.微信投放广告开支 2.微博投放广告开支 3.其他平台投放广告开支
标签:商品销售额
数据读取和可视化
首先进行数据可视化的工作,先要对这份数据有个直观的了解。
1234567import numpy as npimport pandas as pdimport matplotlib.pyplot as plt# 读入数据df_ads = pd.read_csv(/content/drive/MyDrive/Colab Notebooks/advertising.csv)df_ads.head()
结果如下:
123456wechat weibo ot ...
机器学习实战(二)
基础数学知识
机器学习中的函数
**机器学习基本上等价于寻找函数的过程。**机器学习的目的是进行预测、判断,实现某种功能。通过学习训练集中的数据,计算机得到一个从x到y的拟合结果,也就是函数。例如:
f(x)(x成本→100万x演员→大明星x广告→200万)=1亿元 f(x)\begin{pmatrix}
x_{成本} \to 100万\\
x_{演员} \to 大明星\\
x_{广告} \to 200万
\end{pmatrix} = 1亿元 f(x)⎝⎛x成本→100万x演员→大明星x广告→200万⎠⎞=1亿元
除了线性函数(一次函数)、二次函数、多次函数和对数函数以外,机器学习中有一种很重要的函数:激活函数。
激活函数(activation function)
激活函数的作用是在学习算法中实现非线性的、阶跃性质的变换,其中最常见的是Sigmoid函数。
y=1(x>0)y=0(x<0)y=1(x>0) \\ y=0(x<0)
y=1(x>0)y=0(x<0)
函数凹凸性
凸函数是只存在一个最低点的函数。例如如下 ...
机器学习实战(一)
前言
作者大四在读,恰逢毕设时间,毕设选题将会以GAN技术(生成式对抗网络技术)为核心展开工作。然而作者在这之前,并没有任何与智能图片生成——也就是“有关于深度学习的图像生成技术”打过交道。作者首先接触到了B站台湾大学李宏毅教授的GAN课程,奈何缺乏基本的机器学习、神经网络、深度学习等前要知识,听到第二节课就已经云里雾里了(很烦~),最后我决定从头开始,毕竟磨刀不误砍柴工,打好基础才能实现上层目标。根据人工智能领域的分支关系图,我决定先从机器学习开始。
学习路线(机器学习)
网课(理论)
理论部分我采用网课形式。在阿里巴巴旗下的子平台阿里云全球培训中心:开发者课堂中有着众多领域的学习路线,其中包含人工智能学习路线,阶段一即是机器学习入门。
网课老师语速和节奏较慢,关键是在一些概念性的问题上讲解通俗易懂。不过到中期算法讲解之后,由于学习机器学习数学知识非常必要,内容不可能轻易让人理解。(学习机器学习前,数学中的线性代数和概率统计是非常重要的内容)
书籍(实战)
其实在书籍方面,最有口皆碑的就是周志华教授的《机器学习》一书,也被称作“西瓜书”,其内容非常经典而且适合学习。
不过在作者 ...
我的第一篇博客
这是我的第一篇博客,你好!