![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Python
文章平均质量分 54
鹏大大大
这个作者很懒,什么都没留下…
展开
-
python神奇函数之eval()学习
python中有很多内置的很有用的工具函数,熟练地使用这些小工具绝对可以帮助你在工作中达到事半功倍的效果,今天由于需要用到了eval()函数,这个函数其实之前就用过了但是由于最近一直忙于看论文和方向上的一些其他的事,这个东西也就慢慢忘掉了,今天要用,索性直接再学一下,这里就作为是学习的记录了。eval()官方文档里面给出来的功能解释是:将字符串string对象转化为有效的表达式参与求值运算返回...转载 2018-10-17 11:50:43 · 802 阅读 · 0 评论 -
python-数组-求逆,转置等操作
>> from numpy import *>>> from numpy.linalg import *>>> a = array([[1.0, 2.0], [3.0, 4.0]])>>> print a[[ 1. 2.] [ 3. 4.]]>>> a.transpose()array([[转载 2018-09-14 09:58:32 · 2899 阅读 · 0 评论 -
梯度下降法(Gradient descent)
1.梯度下降法有什么用梯度下降法用来求函数的极小值,且是一种迭代算法,由于计算效率高,在机器学习中常常使用。梯度下降法经常求凸函数(convex function)的极小值,因为凸函数只有一个极小值,使用梯度下降法求得的极小值就是最小值。与其对应的有梯度上升法(Gradient ascent),用来求函数的极大值,两种方法原理一样,只是计算的过程中正负号不同而已。2.什么是梯度先看...转载 2018-09-13 22:39:37 · 1083 阅读 · 0 评论 -
[Machine Learning] 梯度下降法的三种形式BGD、SGD以及MBGD
阅读目录1. 批量梯度下降法BGD 2. 随机梯度下降法SGD 3. 小批量梯度下降法MBGD 4. 总结 在应用机器学习算法时,我们通常采用梯度下降法来对采用的算法进行训练。其实,常用的梯度下降法还具体包含有三种不同的形式,它们也各自有着不同的优缺点。 下面我们以线性回归算法来对三种梯度下降法进行比较。 一般线性回归函数的假设函数为:h θ =∑ n j=0 θ j...转载 2018-09-13 21:56:03 · 156 阅读 · 0 评论 -
sklearn中的predict与predict_proba的区别
https://blog.csdn.net/anqijiayou/article/details/80295237https://blog.csdn.net/u011630575/article/details/79429757转载 2018-09-23 21:41:43 · 3179 阅读 · 0 评论 -
机器学习中正则化项L1和L2的直观理解
正则化(Regularization)机器学习中几乎都可以看到损失函数后面会添加一个额外项,常用的额外项一般有两种,一般英文称作ℓ1ℓ1-norm和ℓ2ℓ2-norm,中文称作L1正则化和L2正则化,或者L1范数和L2范数。L1正则化和L2正则化可以看做是损失函数的惩罚项。所谓『惩罚』是指对损失函数中的某些参数做一些限制。对于线性回归模型,使用L1正则化的模型建叫做Lasso回归,使用L2...转载 2018-09-13 19:44:04 · 273 阅读 · 0 评论 -
关于python roc_curve的计算
https://blog.csdn.net/ybdesire/article/details/51999995转载 2018-09-23 20:47:50 · 3242 阅读 · 0 评论 -
关于使用Sklearn进行数据预处理 —— 缺失值(Missing Value)处理
关于使用Sklearn进行数据预处理 —— 缺失值(Missing Value)处理关于缺失值(missing value)的处理在sklearn的preprocessing包中包含了对数据集中缺失值的处理,主要是应用Imputer类进行处理。首先需要说明的是,numpy的数组中可以使用np.nan/np.NaN(Not A Number)来代替缺失值,对于数组中是否存在nan可以使用...转载 2018-09-23 16:11:24 · 3900 阅读 · 0 评论 -
Sklearn数据预处理:scale, StandardScaler, MinMaxScaler, Normalizer
一、标准化去除均值和方差缩放:通过(X-X_mean)/std计算每个属性(每列),进而使所有数据聚集在0附近,方差为1.(1)、sklearn.preprocessing.scale() 直接将给定数据进行标准化from sklearn import preprocessingimport numpy as npX = np.array([[ 1., -1., 2.],[ ...转载 2018-09-13 15:07:43 · 2787 阅读 · 0 评论 -
train_test_split()函数
sklearn.model_selection.train_test_split随机划分训练集和测试集官网文档:http://scikit-learn.org/stable/modules/generated/sklearn.model_selection.train_test_split.html#sklearn.model_selection.train_test_split一般形式:...转载 2018-09-13 14:49:59 · 88359 阅读 · 0 评论 -
标签二值化LabelBinarizer
对于标称型数据来说,preprocessing.LabelBinarizer是一个很好用的工具。比如可以把yes和no转化为0和1,或是把incident和normal转化为0和1。当然,对于两类以上的标签也是适用的。这里举一个简单的例子,说明将标签二值化以及其逆过程。# -*- coding: UTF-8 -*-from sklearn import preprocessingfrom...转载 2018-09-17 22:16:28 · 714 阅读 · 0 评论 -
随机森林(原理/样例实现/参数调优)
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/y0367/article/details/51501780决策树1.决策树与随机森林都属于机器学习中监督学习的范畴,主要用于分类问题。 决策树算法有这几种:ID3、C4.5、CART,基于决策树的算法有bagging、随机森林、GBDT等。 决策树是一种利用树形结构进行决策的算法,对于样...转载 2018-09-17 22:08:54 · 9527 阅读 · 0 评论 -
sklearn.preprocessing.Imputer()
填补缺失值:sklearn.preprocessing.Imputer(missing_values=’NaN’, strategy=’mean’, axis=0, verbose=0, copy=True)主要参数说明:missing_values:缺失值,可以为整数或NaN(缺失值numpy.nan用字符串‘NaN’表示),默认为NaNstrategy:替换策略,字符串,默认用均值...转载 2018-09-17 21:41:14 · 885 阅读 · 0 评论 -
随机森林算法
随机森林算法学习最近在做kaggle的时候,发现随机森林这个算法在分类问题上效果十分的好,大多数情况下效果远要比svm,log回归,knn等算法效果好。因此想琢磨琢磨这个算法的原理。要学随机森林,首先先简单介绍一下集成学习方法和决策树算法。下文仅对该两种方法做简单介绍(具体学习推荐看统计学习方法的第5章和第8章)。Bagging和Boosting的概念与区别该部分主要学习自:htt...转载 2018-09-17 21:04:42 · 405 阅读 · 0 评论 -
用scikit-learn学习主成分分析(PCA)
https://www.cnblogs.com/pinard/p/6243025.html转载 2018-09-17 20:38:32 · 217 阅读 · 0 评论 -
AdaBoost原理详解
https://www.cnblogs.com/ScorpioLu/p/8295990.html转载 2018-09-24 16:54:48 · 230 阅读 · 0 评论 -
用 Pipeline 将训练集参数重复应用到测试集
当我们对训练集应用各种预处理操作时(特征标准化、主成分分析等等),我们都需要对测试集重复利用这些参数。pipeline 实现了对全部步骤的流式化封装和管理,可以很方便地使参数集在新数据集上被重复使用。pipeline 可以用于下面几处: 模块化 Feature Transform,只需写很少的代码就能将新的 Feature 更新到训练集中。 自动化 Grid Search...转载 2018-09-14 17:24:18 · 658 阅读 · 0 评论 -
tensorflow:name&variable scope
https://blog.csdn.net/u012436149/article/details/53081454?utm_source=blogxgwz5转载 2018-10-16 15:34:33 · 173 阅读 · 0 评论 -
机器学习sklearn19.0——决策树算法
https://blog.csdn.net/loveliuzz/article/details/78739438转载 2018-09-22 20:48:01 · 188 阅读 · 0 评论 -
numpy中的meshgrid函数
https://blog.csdn.net/sinat_29957455/article/details/78825945转载 2018-09-22 20:41:53 · 147 阅读 · 0 评论 -
scikit-learn中PCA的使用方法
https://blog.csdn.net/u012162613/article/details/42192293转载 2018-09-22 20:23:40 · 383 阅读 · 0 评论 -
机器学习白化whitening
https://blog.csdn.net/hjimce/article/details/50864602原创 2018-09-22 20:14:40 · 474 阅读 · 0 评论 -
特征选择 (feature_selection)
特征选择 (feature_selection)目录特征选择 (feature_selection) Filter 1. 移除低方差的特征 (Removing features with low variance) 2. 单变量特征选择 (Univariate feature selection) Wrapper 3. 递归特征消除 (Recursive Fe...转载 2018-09-22 17:21:32 · 798 阅读 · 0 评论 -
pd.Categorical 的用法
最近在数据处理过程中遇到 pd.Categorical() 因此特地查了一下先给出官网的链接 http://pandas.pydata.org/pandas-docs/stable/generated/pandas.Categorical.html我们直接通过例子来学习 那么在实际应用中 我们常常是结合他的 codes 属性来一起使用的 , 即 pd.Categori...转载 2018-09-22 14:34:05 · 3085 阅读 · 0 评论 -
决策树的一些杂七杂八
ID3算法是决策树的一个经典的构造算法,在一段时期内曾是同类研究工作的比较对象,但通过近些年国内外学者的研究,ID3算法也暴露出一些问题,具体如下:(1)信息增益的计算依赖于特征数目较多的特征,而属性取值最多的属性并不一定最优。(2)ID3是非递增算法。(3)ID3是单变量决策树(在分枝节点上只考虑单个属性),许多复杂概念的表达困难,属性相互关系强调不够,容易导致决策树中子树的重复或有些属性...转载 2018-09-21 22:53:27 · 382 阅读 · 0 评论 -
K近邻分类算法与kdTree实现的伪代码(构造kdTree 和 kdTree上搜索最近邻)
今天阅读了李航博士的《统计学习方法》第三章:k近邻分类方法,其中讲到kdTree的搜索时,没有特别弄清楚,遂在网上找到这样一篇文章,有详细的伪代码,理解轻松。链接为:http://underthehood.blog.51cto.com/2531780/687160全文如下: By RaySaint 2011/10/12动机先前写了一篇文章《SIFT算法研究》讲了讲SI...转载 2018-09-21 13:35:22 · 2363 阅读 · 0 评论 -
Kd-Tree算法原理和开源实现代码
Kd-Tree算法原理和开源实现代码 本文介绍一种用于高维空间中的快速最近邻和近似最近邻查找技术——Kd-Tree(Kd树)。Kd-Tree,即K-dimensional tree,是一种高维索引树形数据结构,常用于在大规模的高维数据空间进行最近邻查找(Nearest Neighbor)和近似最近邻查找(Approximate Nearest Neighbor),例如图像检索和识别中的高维...转载 2018-09-21 12:50:22 · 793 阅读 · 0 评论 -
机器学习评价指标大汇总
在使用机器学习算法的过程中,针对不同场景需要不同的评价指标,在这里对常用的指标进行一个简单的汇总。一、分类1. 精确率与召回率精确率与召回率多用于二分类问题。精确率(Precision)指的是模型判为正的所有样本中有多少是真正的正样本;召回率(Recall)指的是所有正样本有多少被模型判为正样本,即召回。设模型输出的正样本集合为AA,真正的正样本集合为BB,则有:Precision...转载 2018-09-20 19:43:35 · 3525 阅读 · 0 评论 -
梯度下降算法以及其Python实现
一、梯度下降算法理论知识我们给出一组房子面积,卧室数目以及对应房价数据,如何从数据中找到房价y与面积x1和卧室数目x2的关系? 为了实现监督学习,我们选择采用自变量x1、x2的线性函数来评估因变量y值,得到: 这里,sita1、sita2代表自变量x1、x2的权重(weights),sita0代表偏移量。为了方便,我们将评估值写作h(x),令x0=1,则h(x)可以写作...转载 2018-09-15 14:10:07 · 2452 阅读 · 0 评论 -
numpy的ravel() 和 flatten()函数
numpy的ravel() 和 flatten()函数简介首先声明两者所要实现的功能是一致的(将多维数组降位一维)。这点从两个单词的意也可以看出来,ravel(散开,解开),flatten(变平)。两者的区别在于返回拷贝(copy)还是返回视图(view),numpy.flatten()返回一份拷贝,对拷贝所做的修改不会影响(reflects)原始矩阵,而numpy.ravel()返回的是...转载 2018-09-17 20:22:30 · 1134 阅读 · 0 评论 -
Python匿名函数和高阶函数
python 使用 lambda 来创建匿名函数。lambda这个名称来自于LISP,而LISP则是从lambda calculus(一种符号逻辑形式)取这个名称的。 在Python中,lambda作为一个关键字,作为引入表达式的语法。想比较def函数,lambda是单一的表达式,而不是语句块!所谓匿名,意即不再使用 def 语句这样标准的形式定义一个函数。lambda 只是一个...原创 2018-09-17 17:52:12 · 132 阅读 · 0 评论 -
pandas 统计数据频率函数value_counts
value_counts默认参数如下:value_counts(values, sort=True, ascending=False, normalize=False, bins=None, dropna=True) ### Series类型 import pandas as pd data=pd.Series(['python','java','pyt...转载 2018-08-17 11:17:42 · 4911 阅读 · 0 评论 -
numpy 中的ndarray类型转为list类型 / list转为ndarray类型
numpy 中的ndarray类型转为list类型 / list转为ndarray类型numpy的ndarry的类型是这样的[ 1 2 3 4 5] 中间是没有逗号的。 而python的基本类型list 是[ 1 ,2, 3,4, 5]这样的。 那么二者可以互换 ndarray转换为list d=np.array([1, 2, 3,4,5 ])print de=d...转载 2018-08-17 11:13:40 · 9867 阅读 · 0 评论 -
Python enumerate() 函数
Python enumerate() 函数 Python 内置函数描述enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。Python 2.3. 以上版本可用,2.6 添加 start 参数。语法以下是 enumerate() 方法的语法:enumerate(sequen...原创 2018-08-17 11:08:21 · 303 阅读 · 0 评论 -
[Matplotlib] subplot 理解
前言在看Matplotlib,把自己理解的记录一下。正文在 Matplotlib Simple Plot 的代码中,有这样一行:fig, ax = plt.subplots() plt.subplots() 返回一个 Figure实例fig 和一个 AxesSubplot实例ax 。这个很好理解,fig代表整个图像,ax代表坐标轴和画的图。 但是,将上述代码改为fi...转载 2018-08-17 09:22:55 · 2867 阅读 · 0 评论 -
Python Numpy的数组array和矩阵matrix
出处:http://blog.chinaunix.net/uid-21633169-id-4408596.htmlNumPy的主要对象是同种元素的多维数组。这是一个所有的元素都是一种类型、通过一个正整数元组索引的元素表格(通常是元素是数字)。在NumPy中维度(dimensions)叫做轴(axes),轴的个数叫做秩(rank,但是和线性代数中的秩不是一样的,在用python求线代中的秩中,我...转载 2018-08-19 15:58:53 · 287 阅读 · 0 评论 -
np.ravel()和np.flatten()
两者的功能是一致的,将多维数组降为一维,但是两者的区别是返回拷贝还是返回视图,np.flatten(0返回一份拷贝,对拷贝所做修改不会影响原始矩阵,而np.ravel()返回的是视图,修改时会影响原始矩阵 示例:import numpy as npa = np.array([[1 , 2] , [3 , 4]])b = a.flatten()print('b:' , b)c = a...转载 2018-08-19 15:51:13 · 239 阅读 · 0 评论 -
Python 中的几种矩阵乘法 np.dot, np.multiply, *
Python中的几种矩阵乘法1. 同线性代数中矩阵乘法的定义: np.dot()np.dot(A, B):对于二维矩阵,计算真正意义上的矩阵乘积,同线性代数中矩阵乘法的定义。对于一维矩阵,计算两者的内积。见如下Python代码:import numpy as np# 2-D array: 2 x 3two_dim_matrix_one = np.array([[1, 2, 3]...转载 2018-08-19 15:31:22 · 4161 阅读 · 0 评论 -
损失函数
目录:一、0-1损失函数二、平方损失函数(Square Loss):主要是最小二乘法(OLS)中; 三、绝对值损失函数四、对数损失函数(Cross Entropy Loss,Softmax Loss ):用于Logistic 回归与Softmax 分类中; 五、指数损失函数(Exponential Loss) :主要用于Adaboost 集成学习算法中; 六、铰链损失函数(...转载 2018-08-19 15:24:58 · 1496 阅读 · 0 评论 -
python的dataframe转换为多维矩阵
python的dataframe转换为多维矩阵有两种方法:一种利用as_matrix()属性 一种利用valuesimport pandas as pdimport numpy as np df = pd.DataFrame(np.random.rand(3,4),columns=list('abcd'),index=list('ABC')) print(df) print(...转载 2018-08-19 14:53:27 · 7686 阅读 · 1 评论