自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 收藏
  • 关注

原创 基于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 12032 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 3924 2

原创 使用python graphviz绘制神经网络结构

代码def link_edges(d, starts, ends): for i_idx,i in enumerate(starts): for j_idx,j in enumerate(ends): if i_idx==j_idx:#print(i,j) d.edge(i, j,taillabel='0.24',f...

2019-12-15 23:51:13 977 1

原创 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 7993 3

原创 决策树中的熵、条件熵、信息增益和Gini指数计算示例

文章目录信息熵条件熵信息增益公式计算Gini指数计算示例信息首先我们从什么是信息来着手分析:I(X=xi)=−log2p(xi)I_{(X = x_i)} = -log_2p(x_i)I(X=xi​)​=−log2​p(xi​)I(x)I(x)I(x)用来表示随机变量的信息,p(xi)p(x_i)p(xi​)指是当xixixi发生时的概率。熵在信息论和概率论中熵是对随机变量不确定性的度...

2018-10-09 13:02:53 12671 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 13190

原创 python zip的高阶应用

1. zip的基本应用1.1 合并两个列表1.2 将两个列表合成字典1.3 嵌套列表怎么办?2. 使用zip(*)解包,矩阵转置2.1 矩阵转置2.2 矩阵点乘3. zip的高阶应用3.1 合并列表中相邻的n项zip() 函数主要用于对可迭代的对象的打包与解包操作。将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。如果各个迭代器的元...

2018-07-29 11:25:45 1747 3

原创 python爬取长春长生2016-2018所有被批准疫苗批次

1. 导入库2. 获取每张表格所在的URL3. 从URL读取公示数据3.1 获取表格3.2 筛选长生公司的产品4. 数据分析本文使用Python爬取了中国食品药品检定研究院2016年1月-2018年7月24日批准公式的所有长春长生生产的疫苗。 长春长生疫苗问题牵动广大民众,然而有的疫苗接种本上只有疫苗批次,却不显示具体哪家企业生产的。本文通过爬取中国食品药品检定研究院...

2018-07-25 13:27:45 2065 2

原创 基于keras的LSTM时间序列预测

简介针对时间序列预测问题传统方法如ARIMA算法来拟合序列,综合考虑趋势、循环、季节等因素。 随着深度学习的飞速发展,基于RNN的方法在时间序列中的应用越来越广泛。 本文使用air passenger航空公司乘客数据集,来测试LSTM在时间序列中的预测:问题这里我们使用前n个月的乘客量来预测下一个月的乘客量数据分析航空公司乘客数据集为1949年1月到1960年12月...

2018-07-11 15:36:39 19345 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 7297 1

原创 在pandas多重索引multiIndex中选定指定索引的行

在multiIndex中选定指定索引的行我们在用pandas类似groupby来使用多重index时,有时想要对多个level中的某个index对应的行进行操作,就需要在dataframe中找到该index对应的行,在单层index中我们可以方便的使用df.loc[index]来选择,在多重Index中我们可以利用的类似的思路,然而其中也有一些小坑,记录如下。index为有序的创建...

2018-05-07 22:55:33 51382 8

原创 微信实时提醒python程序状态

背景1. 在用python做特征提取或者构建模型时数据量大的话会消耗很多时间,每次都要过一会儿去看一下代码是否跑完,很不方便。 2. 最近在试用了python的第三方微信库itchat分析了自己微信的一些数据后,思路我们时刻都带着手机,可以用微信的震动来提醒我们代码的状态,甚至实现交互和远程控制、传参等。步骤1. 在python程序里导入itchat库2. it...

2018-02-08 16:27:41 3919

原创 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 15439

原创 如何画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 14026 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 615

原创 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 3654

原创 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 5296 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 6433 3

原创 关于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 5004 5

原创 win10下SOPC Builder 在generate时出现could not find /tmp, please create

因为我们安装的这个Quartus有问题,造成注册表不完善,可用如下方法解决:请在C:\altera\10.0sp1\quartus\bin\cygwin目录找到cygreg.bat文件,然后在命令行中定位到C:\altera\10.0sp1\quartus\bin\cygwin,执行命令: cygreg C:\altera\10.0sp1\quartus\bin\cygwin 即可 注意,此

2017-05-11 23:15:55 2414

原创 算法第四版习题1.1.32,直方图

import edu.princeton.cs.algs4.StdOut;import edu.princeton.cs.algs4.StdIn;import edu.princeton.cs.algs4.StdDraw;import edu.princeton.cs.algs4.StdRandom;public class e1_1_32{ public static void m

2016-12-24 19:33:52 948

原创 《算法》第四版入门准备

刚看完C++Primer,再开始看《算法》第四版。 《算法》第四版用的是JAVA,第一次接触,花了一天时间在配置环境上,浪费了时间。 废话少说,介绍一下拿到《算法》这本书后要做的事情。首先,去看官网的教程,windows下配置环境:http://algs4.cs.princeton.edu/windows/。“大河萌虎的外屋”将其翻译成了中文,英语不好的可以看这个翻译版:http://shuxi

2016-12-22 13:12:35 11536

原创 第一遍C++Primer5th读完感

开学后看了两周的小说后,不安心整天上那些无聊的课,网上买了C++Primer第五版及习题集,2016年9月18号开始了C++的学习。 之前基础仅大一C语言课、大二软件基础课以及单片机中的一些C语言编程的经验。C++Primer一书分为了四个部分:I C++基础(1-7章)II C++标准库(8-12章)III 类设计者的工具(13-16章)IV 高级主题(17-19章)第一部分为基础篇,

2016-12-22 12:42:43 3251

原创 C++中begin()函数的含参数的使用

在学习C++Primer5th的16章才第一次见到begin()还能带参数。 例如vector<int> vi{1,2,3,4};cout << *(begin(vi));这里即打印vector中的第一个元素1。 begin(vi)与vi.begin()是一样的。

2016-11-25 21:29:45 6703

原创 C++模板中class与typename

在函数模板中,模板类型参数前必须要用关键字class或typename。 C++ Primer 5th一书中明确指出(p580): 在函数模板参数列表中,这两个关键字的含义相同,可以互换使用。 一个模板参数列表中可以同时使用这两个参数。 eg:template <typename T, class U> void calc (const T&, const U&){}由于typename

2016-11-25 19:59:58 577

原创 class 与 struct的区别

学C语言时,用struct来定义结构体,后来学C++的类,有时用struct有时用class,总会以为它们两个有很大的差别。 事实上在C++Primer 5th中文版p546中明确地指出了,class与struct在定义类时 唯一 的差别是 默认成员访问说明符及默认派生访问说明符。一、默认成员访问说明符class A{ int a; int b;public: int

2016-11-17 21:37:02 400

原创 C++primer5th课后题14.44,二元处理运算

习题14.44 简单桌面计算器,处理二元运算map<string, function<int (int, int)>> binOps = { {"+",plus<int>()},//标准库函数对象 {"-",minus<int>()}, {"*",multiplies<int>()}, {"/",divides<int>()}, {"%",modulus<in

2016-11-15 22:23:16 383

原创 C++primer5th十四章_几个类的运算符重载

class Cdate { friend bool operator>(const Cdate &d1, const Cdate &d2); friend bool operator<(const Cdate &d1, const Cdate &d2); friend bool operator== (const Cdate &d1, const Cdate &d2);

2016-11-15 22:20:36 428

原创 C++primer5th 课后题13.58

习题13.58class Foo {public: Foo sorted() && ; Foo sorted() const &;private: vector<int> data;};Foo Foo::sorted() &&{ cout << "右值引用版本" << endl; sort(data.begin(), data.end());

2016-11-14 17:19:41 423

原创 C++primer5th模拟vector之StrVec类

出现的问题:书中alloc为static,编译时连接错误,不使用static可正常运行。因为在c++11中,static必须要初始化 //现有知识储备不知道怎么给alloc初始化,所以……暂时去掉staticStrVec.h头文件内容为#pragma once#ifndef STRVEC_H#define STRVEC_H#include<string>#include<memory>#

2016-11-14 17:18:00 763 2

原创 C++primer5th课后题13章13.13、13.22、13.26、13.27

习题13.13class Employee { static int sn; string name; int mysn;public: Employee() { mysn = sn++; } Employee(const string &n) :name(n) { mysn = sn++; } Employee(const Employee&rhs

2016-11-14 17:10:14 608

原创 C++primer5th课后题12.26、12.28

习题12.26int main(){ allocator<string> alloc; auto const p = alloc.allocate(100); string *q = p; string s; while (cin >> s && q != p + 100) alloc.construct(q++, s); for (

2016-11-14 17:07:03 379

原创 C++primer5th课后题12.6、12.14、12.19

//习题12.6//返回动态分配的int的vector,传递给另一个函数,读取标准输入保存为vector元素中,/*shared_ptr<vector<int>> new_factor(void){ return make_shared<vector<int>>();}vector<int> *new_vector(void){ return new (nothrow)

2016-11-14 17:03:53 450

原创 C++Primer课后题11.33_单词本程序

给定一string,转换为另一个string。输入两个文件,文件1为替换规则,文件2为文本*map<string, string> buildMap(ifstream &map_file) //将转换规则 创建为trans_map映射关系{ map<string, string> trans_map; string lineMap, key, value; while (

2016-10-24 16:37:43 388

原创 C++Primer课后题11.0、11.31

//习题11.9string &trans(string &s){ for (int p = 0; p < s.size(); p++) { if (s[p] > 'A' && s[p] < 'Z') s[p] -= ('A' - 'a'); else if (s[p] == ',' || s[p] == '.' || s[p] =

2016-10-24 16:34:34 316

原创 C++Primer课后题10.14、10.20、11.7

//习题10.14void output_words(vector<string> &words){ for (auto i : words) { cout << i << " "; } cout << endl;}void elimDups(vector<string> &words){ sort(words.begin(), words.

2016-10-24 16:30:18 411

原创 C++Primer5th课后题10.11、10.13

//习题10.11inline void output_words(vector<string> &words){ for (auto i : words) { cout << i << " "; } cout << endl;}bool isShorter(const string &s1, const string &s2){ return

2016-10-19 22:33:48 491

原创 C++Primer5th课后题9.51_日期类

头文件data.h的内容为:#pragma once#ifndef DATE_H_INCLUDED#define DATE_H_INCLUDED#include<iostream>#include<string>#include<vector>#include<stdexcept>using namespace std;//编写构造函数,接受一个string日期,class date

2016-10-17 21:18:07 571

原创 c++Primer 5th课后题9.34、9.43、9.47、9.45、9.49

//命令行打开.exe时文件应与exe同目录,ctrl+f5运行时文件应在main.c同目录 //习题9.34int main(){ vector<int> vi = { 1,2,3,4,5,6,7,8 ,9 }; auto iter = vi.begin(); string tmp; while (iter != vi.end()) { if

2016-10-15 22:07:41 388

原创 string的插入与删除insert、erase

一、string 的 insert: s.insert(p,t);————— p迭代器,t值,插入在p之前,返回新元素的迭代器 s.insert(p,n,t); ———— n个值为t元素,返回新添加的第一个 s.insert(p,b,e); ———– b、e迭代器中的内容 s.insert(p,il); ————– il花括号元素列表

2016-10-15 22:03:46 2827

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除