机器学习
文章平均质量分 55
PIPIXIU
这个作者很懒,什么都没留下…
展开
-
关于SVM推导中的1/2*||w||^2的来历
关于SVM推导中的12||w||2 \dfrac{1}{2}||w||^2的来历在SVM理论中,通过假设支持向量处的函数距离y∗(wx∗+b)=1y^*(wx^*+b)=1将目标函数转为求max1||w||max \dfrac{1}{||w||}。 在后续理论中会将上式等效为了12||w||2\dfrac{1}{2}||w||^2,这样做的目的是 利用已有的凸优化理论原创 2017-09-04 09:05:23 · 5118 阅读 · 5 评论 -
决策树中的熵、条件熵、信息增益和Gini指数计算示例
文章目录信息熵条件熵信息增益公式计算Gini指数计算示例信息首先我们从什么是信息来着手分析:I(X=xi)=−log2p(xi)I_{(X = x_i)} = -log_2p(x_i)I(X=xi)=−log2p(xi)I(x)I(x)I(x)用来表示随机变量的信息,p(xi)p(x_i)p(xi)指是当xixixi发生时的概率。熵在信息论和概率论中熵是对随机变量不确定性的度...原创 2018-10-09 13:02:53 · 13103 阅读 · 11 评论 -
lightgbm的原生版本与sklearn 接口版本对比
与xgboost一样,lightgbm也是使用C++实现,然后给python提高了接口,这里也分为了lightgbm naive API,以及为了和机器学习最常用的库sklearn一致而提供的sklearn wrapper。 然而naive版的lgb与sklearn接口还是存在一些差异的,我们可以通过以下简单测试对比:1. 准备数据首先使用sklean的make_classifica...原创 2018-09-14 23:15:20 · 13534 阅读 · 0 评论 -
基于keras的seq2seq中英文翻译实现
1. seq2seq概述1.1 seq2seq简介seq2seq,全称Sequence to sequence,是RNN结构的一个变形,来自于Cho 在 2014 年提出的 Encoder–Decoder 结构,https://arxiv.org/pdf/1406.1078.pdf。 传统的RNN输入和输出长度要一致,而seq2seq在RNN的基础上进行改进,实现了变长序列的输入和输...原创 2018-07-13 09:58:30 · 12823 阅读 · 11 评论 -
图解LSTM
LSTM概述RNN给神经网络加入了处理时间的能力,而传统的RNN会面临梯度消失(爆炸)的问题RNN vs LSTM: Vanishing Gradients,传递的时间信息也会越来越弱。给RNN引入长时记忆至关重要。因此有了Long Short Term Memory(LSTM)。 常见的LSTM结构如下图所示: xtxtx_t为每个时间步的输入数据,hthth_t为每个时间步的输...原创 2018-07-12 13:28:18 · 4614 阅读 · 2 评论 -
基于keras的LSTM时间序列预测
简介针对时间序列预测问题传统方法如ARIMA算法来拟合序列,综合考虑趋势、循环、季节等因素。 随着深度学习的飞速发展,基于RNN的方法在时间序列中的应用越来越广泛。 本文使用air passenger航空公司乘客数据集,来测试LSTM在时间序列中的预测:问题这里我们使用前n个月的乘客量来预测下一个月的乘客量数据分析航空公司乘客数据集为1949年1月到1960年12月...原创 2018-07-11 15:36:39 · 19453 阅读 · 27 评论 -
xgboost的原生版本与sklearn 接口版本对比
xgboost的python版本有原生版本和为了与sklearn相适应的sklearn接口版本 原生版本更灵活,而sklearn版本能够使用sklearn的Gridsearch,二者互有优缺,现使用sklearn自带的boston数据集做简单对比如下:准备数据#导入包from sklearn import datasetsimport pandas as pdimport xgbo...原创 2018-05-26 17:35:14 · 7359 阅读 · 1 评论 -
在pandas多重索引multiIndex中选定指定索引的行
在multiIndex中选定指定索引的行我们在用pandas类似groupby来使用多重index时,有时想要对多个level中的某个index对应的行进行操作,就需要在dataframe中找到该index对应的行,在单层index中我们可以方便的使用df.loc[index]来选择,在多重Index中我们可以利用的类似的思路,然而其中也有一些小坑,记录如下。index为有序的创建...原创 2018-05-07 22:55:33 · 52206 阅读 · 8 评论 -
微信实时提醒python程序状态
背景1. 在用python做特征提取或者构建模型时数据量大的话会消耗很多时间,每次都要过一会儿去看一下代码是否跑完,很不方便。 2. 最近在试用了python的第三方微信库itchat分析了自己微信的一些数据后,思路我们时刻都带着手机,可以用微信的震动来提醒我们代码的状态,甚至实现交互和远程控制、传参等。步骤1. 在python程序里导入itchat库2. it...原创 2018-02-08 16:27:41 · 3941 阅读 · 0 评论 -
pandas快速定位某一列中存在某值的所有行,loc, at, ==对比
goodDiskName2016from datetime import datetimefrom time import time直接方括号定位相等的列start = time()for disk in goodDiskName2016[:100]: ____ST4000DM000_2016_good_feature27[ST4000DM000_2016_g原创 2018-01-24 17:27:52 · 15487 阅读 · 0 评论 -
如何画XGBoost里面的决策树
xgboost画图时遇到如下若干坑图像过小,看不清内容只显示特征编号,不显示特征名怎么把图像保存解决方法:plot_tree画图在使用xgboost训练出模型xgbClf后:import xgboost as xgbfrom xgboost.sklearn import XGBClassifierxgbClf = XGBClassifier()xgbClf.fit(xTrain,yTr原创 2018-01-14 17:46:02 · 14335 阅读 · 11 评论 -
sklearn中预处理StandardScaled分析
StandardScaled处理后数据具有零均值以及标准方差: 等效于:df = pd.DataFrame([1,2,3])def std(x): v = x.var() v = v*(x.size-1)/x.size m = x.mean() return (x-m)/np.sqrt(v)df.apply(std)注意: pandas中的var函数为无原创 2018-01-11 15:20:46 · 632 阅读 · 0 评论 -
Linux下安装xgboost,解决jupyter无法import问题
安装环境: Ubuntu 17.04Ubuntu下装Git: sudo apt-get install git从xgboost官方github处clone文件包git clone --recursive https://github.com/dmlc/xgboost用make编译下载下来的文件#进入xgboost目录cd xgboost#makemake -j4安装xgboost原创 2017-11-24 22:20:17 · 3745 阅读 · 0 评论 -
TypeError: unhashable type: 'matrix'解决方法
《机器学习实战》第九章“树回归”P164的程序清单9-2出现这个错误,经过多方测试,最终解决。首先在p163的测试中就出了错误,发现返回的mat1只有一行,通过调试发现def binSplitDataSet(dataSet, feature, value): mat0 = dataSet[nonzero(dataSet[:,feature] > value)[0],:][0] m原创 2017-09-28 20:27:21 · 5333 阅读 · 2 评论 -
matplotlib坐标轴中文乱码问题解决
用了一晚上时间一直在搞这个问题,网上解决方法众多,没有一个实用的,最后终于解决了。 系统: win10 环境: VS Code1.16 python 2.7.13方法找到matplotlib的配置文件位置 import matplotlib print(matplotlib.matplotlib_fname())#我这里的位置是C:\Python27\lib\sit原创 2017-09-13 10:21:15 · 6516 阅读 · 3 评论 -
eplot,在pandas中流畅的使用pyecharts!
文章目录1 eplot1.1 eplot简介1.2 eplot原理2 图标示例2.1 折线图2.2 柱状图2.3 直方图2.4 散点图(二维,三维,分类散点图)2.5 饼图2.6 玫瑰图2.7 计数图2.8 箱线图1 eplot1.1 eplot简介eplot 是pyecharts库对pandas的一个接口,通过给DataFrame及Series类添加方法,直接使用DataFrame对象添加...原创 2019-01-13 15:57:50 · 8090 阅读 · 3 评论