机器学习、神经网络中不懂的函数及功能实现
classification_report
from sklearn.metrics import classification_report
# 比较正确率 召回率 F1值 越高越好
print(classification_report(y,md.predict(x)))
Numpy中meshgrid函数:
xplot = np.linspace(0,25,6)
yplot = np.linspace(0,25,6)
Xplot,Yplot = np.meshgrid(xplot,yplot)
meshgrid是生成网格的意思,它的返回值是含有两个元素的ndarray类型,第一个元素是网格的横坐标矩阵,第二个元素是网格的纵坐标矩阵,如上代码会返回以下值:
[array([[ 0., 5., 10., 15., 20., 25.],[ 0., 5., 10., 15., 20., 25.],[ 0., 5., 10., 15., 20., 25.],[ 0., 5., 10., 15., 20., 25.],[ 0., 5., 10., 15., 20., 25.],[ 0., 5., 10., 15., 20., 25.]]),array([[ 0., 0., 0., 0., 0., 0.],[ 5., 5., 5., 5., 5., 5.],[10., 10., 10., 10., 10., 10.],[15., 15., 15., 15., 15., 15.],[20., 20., 20., 20., 20., 20.],[25., 25., 25., 25., 25., 25.]])]
matplotlib中的contour函数
fig, ax = plt.subplots(figsize=(12,8))
contour = plt.contour(Xplot, Yplot, Z,[7*10**-9, 6*10**-7, 5*10**-5, 1.2*10**-3, 0.016],colors='k')
ax.scatter(X[:,0], X[:,1])
plt.show()
该函数用于画等高线,
第一个参数是网格的横坐标(参考上一个函数介绍你就明白什么是网格的横坐标啦)
第二个参数是网格的纵坐标
第三个参数是每个网格点的值
第四个参数是等高线的条数,你可以传入一个整数,当然你也可以传入自己设定的值,即Z中的取值,画几条等高线就传入一个列表
colors是等高线的颜色
linear_model.LogisticRegression()
参数:
- penalty :正则化
penalty : str, ‘l1’ or ‘l2’, default: ‘l2’
在调参时如果我们主要的目的只是为了解决过拟合,一般penalty选择L2正则化就够了。但是如果选择L2正则化发现还是过拟合,即预测效果差的时候,就可以考虑L1正则化。另外,如果模型的特征非常多,我们希望一些不重要的特征系数归零,从而让模型系数稀疏化的话,也可以使用L1正则化。
penalty参数的选择会影响我们损失函数优化算法的选择。即参数solver的选择,如果是L2正则化,那么5种可选的算法{‘newton-cg’, ‘lbfgs’, ‘liblinear’, ‘sag’,‘saga’}都可以选择。但是如果penalty是L1正则化的话,就只能选择‘liblinear’了。这是因为L1正则化的损失函数不是连续可导的,而{‘newton-cg’, ‘lbfgs’,‘sag’,‘saga’}这四种优化算法时都需要损失函数的一阶或者二阶连续导数。而‘liblinear’并没有这个依赖; - solver:优化算法选择参数
solver : {‘newton-cg’, ‘lbfgs’, ‘liblinear’, ‘sag’, ‘saga’},default: ‘liblinear’
solver参数决定了我们对逻辑回归损失函数的优化方法,有5种算法可以选择,分别是:
a) liblinear:使用了开源的liblinear库实现,内部使用了坐标轴下降法来迭代优化损失函数。
b) lbfgs:拟牛顿法的一种,利用损失函数二阶导数矩阵即海森矩阵来迭代优化损失函数。
c) newton-cg:也是牛顿法家族的一种,利用损失函数二阶导数矩阵即海森矩阵来迭代优化损失函数。
d) sag:即随机平均梯度下降,是梯度下降法的变种,和普通梯度下降法的区别是每次迭代仅仅用一部分的样本来计算梯度,适合于样本数据多的时候,SAG是一种线性收敛算法,这个速度远比SGD快。
e)saga:
方法:
(1)decision_function(X):预测样本的 confidence scores
(2)densify():将系数矩阵转化成密集矩阵的格式
(3)fit(X, y[, sample_weight]):根据给出的训练数据来训练模型。用来训练LR分类器,其中X是训练样本,y是对应的标记样本。
(4)get_params([deep]):Get parameters for this estimator.
(5)predict(X):用来预测测试样本的标记,也就是分类。预测x的标签
(6)predict_log_proba(X):对数概率估计
(7)predict_proba(X):概率估计
(8)score(X, y[, sample_weight]):返回给定的测试数据和标签的平均精度 (官方描述:Returns the coefficient of determination R2 of the prediction.其实返回该次预测的系数R2)最好的分数是1,可能是负值(因为模型可能会变得更加糟糕)1 是过拟合吧当一个模型不论输入何种特征值,其总是输出期望的y的时候,此时返回0。
(9)set_params(**params):设置estimate的参数
(10)sparsify():将系数矩阵转换成稀疏矩阵格式。
计算标准误差
# y1,y2都是numpy 的array数组
np.sqrt(((y1 - y2) ** 2).mean())
机器学习、神经网络中不懂的函数及功能实现相关推荐
- 记录机器学习练习中不懂的函数
该文章目的: 记录自己在做机器学习练习题中遇到的陌生函数的用法,也包括经常会忘记的函数,后续会一直在这篇文章中增加!ヾ(◍°∇°◍)ノ゙ 该文章涉及的函数包有python.numpy.pandas.m ...
- C语言试题二十二之定义了3×3的二维数组,并在主函数中赋值。函数的功能使求出数组周边元素的平均值并作为函数值返回给主函数中的s。
1. 题目 定义了3×3的二维数组,并在主函数中赋值.函数的功能使求出数组周边元素的平均值并作为函数值返回给主函数中的s. 2 .温馨提示 C语言试题汇总里可用于计算机二级C语言笔试.机试.研究生复试 ...
- C语言中fun的功能是将字符串,下列给定的程序中,fun()函数的功能是:将p所指字符串中......
下列给定的程序中,fun()函数的功能是:将p所指字符串中每个单词的最后一个字母改成大写(这里的"单词"是指有空格隔开的字符串).例如,若输入: I am a student to ...
- 利用openCV(C++)实现Halcon中的min_max_gray函数的功能
openCV(c++)实现Halcon中的min_max_gray函数的功能 在halcon中有一个求最大最小灰度值的算子min_max_gray,算子的形式为 min_max_gray(Region ...
- VB中的mid函数的功能及参数
VB中的mid函数的功能及参数 1.来自MSDN Mid 函数 返回 Variant (String),其中包含字符串中指定数量的字符. 语法 Mid(string, start[, length]) ...
- 在oracle中实现DateDiff函数的功能
在orcale中是没有DateDiff函数的功能的,想要实现时间比对功能可以这么写: 1.利用日期间的加减运算 天: ROUND(TO_NUMBER(END_DATE - START_DATE)) 小 ...
- 神经网络中的sigmoid函数
1.weights.bias 参数学习 我们希望有一种学习算法,它能够自动地调整网络中的权重因子和偏置. 但是,我们怎样才能设计出这样的算法神经网络?可以通过学习来解决一些问题.假如,网络的输入是从扫 ...
- 机器学习入门之机器学习sklearn中的train_test_split()函数
http://study.zhizuobiao.com/study-19062600022/
- What is the Softmax Function?详解机器学习中的Softmax函数【小白菜可懂】
目录 定义 公式 计算 Softmax vs Sigmoid Softmax vs Sigmoid 计算 Softmax vs Argmax Softmax vs Argmax 计算 应用 神经网络中 ...
最新文章
- YOLO-6D论文的一些相关知识
- tensorflow 的模型保存和调用
- python numpy np.argmax(a, axis=None, out=None) (按给定轴位比较,返回第一个最大值索引【下标】)
- Delphi中运行时改变panel的位置及大小
- android必须服务,说说在Android如何使用服务(Service)的方法
- linux man 后面的数字,Linux man命令的使用方法(以及后面数字的含义)
- AlipaySDK Cocoapods支持
- Python 学习笔记 - 协程
- 获取table控件的某行某列
- 清闲逛论坛,发个我们团队常用的开发资源整理,跟兄弟们共享
- 树莓派用python一键签到百度贴吧
- Studio3T安装
- Elasticsearch-拼音分词/排序
- python和html和css什么关系什么区_Python 【第七章】:Html 和 CSS
- java.lang.IllegalArgumentException: Scrapped or attached views may not be recycled. isScrap:false is
- ChinaSoft 论坛巡礼 | 软件工程研究与实践
- 音频变速播放原理分析及实现方案
- 浏览器无法访问部分网站
- windows服务器虚拟桌面,Windows Server 2012 R2 VDI系列(四)—创建虚拟桌面集合
- drupal建站案例_10分钟利用Drupal快速搭建网站