
python
linxid
现阿里巴巴算法工程师,原华为诺亚方舟实验室高级算法工程师,专注人工智能算法研究
展开
-
《集体智慧编程》笔记二
第一章 集体智慧导言Netflix公司为了奖励提出好的推荐算法的人。推荐系统的改善能够带给Netflix大笔的收入。谷歌创办时已经存在大量搜索引擎公司,但是谷歌改变了算法,对搜索结果进行排序。这使得谷歌的搜索结果远远优于其他同行。什么是集体智慧为了创造新的算法,将一群人的行为、偏好或思想组合在一起。 *两个例子说明信息的加工和解释: 1.Wikipedia在线百科全书,用户维护。任何人都协原创 2017-07-11 11:01:39 · 436 阅读 · 0 评论 -
从头到尾理解树模型(二):GBDT
看上图,首先对集成学习有一个宏观的认识。三种基本的集成方法:Bagging、Boosting和Stacking。分别产生了Random Forest(随机森林),AdaBoost和GBDT。1. 集成学习(Ensemble Learning)集成学习是指将多个基学习器(弱学习器)结合来完成学习任务。通过模型集成,一般会获得比单个基学习器更好的效果。集成学习的原则是 “好而不同”。根据...原创 2018-04-30 08:37:14 · 1699 阅读 · 0 评论 -
从头到尾理解树模型(三):XGBoost及面试常见问题
Github主页:https://linxid.github.io/知乎:https://zhuanlan.zhihu.com/p/35775368优快云:https://blog.youkuaiyun.com/linxid/article/details/79973258XGBoost在GBDT的基础上进行了改进,效果得到了明显的提升。一大不同是显式的引入了正则化项,用来约束决策树的复...原创 2018-04-30 08:52:34 · 3161 阅读 · 0 评论 -
XGBoost、LightGBM参数讲解及实战
XGBoost一、API详解xgboost.XGBClassifier1.1 参数1.1.1 通用参数:booster=’gbtree’ 使用的提升数的种类 gbtree, gblinear or dartsilent=True: 训练过程中是否打印日志n_jobs=1: 并行运行的多线程数1.1.2 提升树参数learning_rat...原创 2018-06-23 17:09:13 · 17619 阅读 · 0 评论 -
CatBoost参数解释和实战
据开发者所说超越Lightgbm和XGBoost的又一个神器,不过具体性能,还要看在比赛中的表现了。 整理一下里面简单的教程和参数介绍,很多参数不是那种重要,只解释部分重要的参数,训练时需要重点考虑的。Quick startCatBoostClassifierimport numpy as npimport catboost as cbtrain_data = ...原创 2018-06-18 13:41:03 · 55223 阅读 · 8 评论 -
自动化机器学习(AutoML)之自动贝叶斯调参
一、手把手教你Python实现自动贝叶斯调整超参数【导读】机器学习中,调参是一项繁琐但至关重要的任务,因为它很大程度上影响了算法的性能。手动调参十分耗时,网格和随机搜索不需要人力,但需要很长的运行时间。因此,诞生了许多自动调整超参数的方法。贝叶斯优化是一种用模型找到函数最小值方法,已经应用于机器学习问题中的超参数搜索,这种方法性能好,同时比随机搜索省时。此外,现在有许多Python库可以实现贝...翻译 2018-07-24 17:38:58 · 28617 阅读 · 3 评论 -
keras学习笔记(一):30分钟掌握keras
Keras是一个高层神经网络API,Keras由纯Python编写而成并基Tensorflow、Theano以及CNTK后端。Keras 为支持快速实验而生,能够把你的idea迅速转换为结果,如果你有如下需求,请选择Keras:简易和快速的原型设计(keras具有高度模块化,极简,和可扩充特性)支持CNN和RNN,或二者的结合无缝CPU和GPU切换。我们从三个问题出发,实现keras的快速入门...原创 2018-08-28 22:15:09 · 3943 阅读 · 0 评论 -
keras学习笔记(二):实现f1_score(多分类、二分类)
首先容易谷歌到的两种方法:1. 构造metricsfrom keras import backend as Kdef f1(y_true, y_pred): def recall(y_true, y_pred): """Recall metric. Only computes a batch-wise average of recall.原创 2018-09-27 08:59:14 · 23291 阅读 · 13 评论 -
Python技能树
1 os.path( )模块总结:http://www.runoob.com/python3/python3-os-path.htmlhttps://www.cnblogs.com/renpingsheng/p/7065565.htmlhttps://www.cnblogs.com/wuxie1989/p/5623435.html2. logging模块总结:...原创 2018-11-21 15:23:22 · 3949 阅读 · 0 评论 -
Python技能树(一):Python正则表达式
Python正则表达式,非常强大而且常用的一个模块。之前处理字符串和文本比较少,所以没怎么用,现在开始研究NLP,很多地方需要用到这个模块。大部分是用在文本的前期预处理中。此处强调一点,很多人包括我以前,不太看重文本的预处理,更注重模型。其实是太多的脏数据,训练出来的模型很大程度上也不会有好的效果。作用:正则表达式是一个特殊的字符序列,用于检查一个字符串是否与某种模式匹配。换句话说,我们可以从...原创 2019-01-01 23:12:37 · 789 阅读 · 0 评论 -
Keras学习笔记(四):MaxPooling1D和GlobalMaxPooling1D的区别
区别:1.GlobalMaxPooling1D:在steps维度(也就是第二维)对整个数据求最大值。比如说输入数据维度是[10, 4, 10],那么进过全局池化后,输出数据的维度则变成[10, 10]。2.MaxPooling1D:也是在steps维度(也就是第二维)求最大值。但是限制每一步的池化的大小。 比如,输入数据维度是[10, 4, 10],池化层大小pooling_size=...原创 2019-01-13 17:29:49 · 43607 阅读 · 6 评论 -
keras学习笔记(五):TimeDistributed详解+实战
本文是对[2]的翻译和整理,对简单的部分进行了删减,难懂的部分进行了又一次的讲解。RNN、LSTM、GRU模型是我们常用并且效果非常好的模型,在众多的NLP任务中都可以看到他的身影。但有一层TimeDistributed,使用起来有些难度,尤其对初学者而言。接下来,说明TimeDistributed包装器的原理以及如何使用。内容概览:TimeDistributed层序列学习Problem...原创 2019-01-14 08:58:05 · 9533 阅读 · 9 评论 -
《剑指offer》详解-Python
问题3:二维数组中的查找Q: 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。A1:遍历整个二维数组,O(n2)O(n^2)O(n2)A2: 从左上或者右下开始查找。从右上开始查找:如果数组中的数比这个整数大,向左移动一位,如果数组中的数比这个数小,...原创 2019-04-25 08:25:12 · 25191 阅读 · 3 评论 -
TensorFlow零基础入门教程(一)
TensorFlow入门(一) Github主页:https://linxid.github.io/ 知乎:https://www.zhihu.com/people/dong-wen-hui-90/activities 优快云:https://blog.youkuaiyun.com/linxid1.计算图首先解释什么是计算图,了解TensorFlow的计算模型.和我们常见的程序...原创 2018-04-17 13:01:10 · 9624 阅读 · 3 评论 -
《集体智慧编程》笔记一
译者序以Web2.0的核心价值观—集体智慧为出发点,探讨各种能够让Web2.0程序变得更为智能的算法及其应用。 算法:过滤器,聚类算法,SVM,遗传编程,优化技术,PageRank。中英文词汇对照: 前言集体智慧(collective intelligence)。本书的目的是要带领你超越以数据库为后端的简单应用系统,并告诉你如何利用自己和他人每天搜集道德信息来编写更为智能的程序。 以循序渐进的原创 2017-07-10 14:31:56 · 580 阅读 · 0 评论 -
《Python简明教程》一
有两种方式构建软件设计:一种是把软件做的很简单以至于明显找不到错误;另一种是把他做的狠毒咋以至于找不到明显的错误。 —————C.A.R.Hoare 获得人生中的成功需要的专注与坚持不懈多过天才与机会。——C.W. Wendte第一章 介绍python的官方介绍: Python是一种简单易学,功能强大的编程语言,它有高效率的高层数据结构,简单而有效地实现面向对象编程。Python简洁的语法原创 2017-07-10 14:27:18 · 537 阅读 · 0 评论 -
《简明Python教程》笔记二
Python安装安装最新版本的Python,此处安装Python3.6.2,下载网址https://www.python.org/downloads/release/python-362/ 注意: 1. 务必勾选Add Python to PATH 2. 改变安装位置,一定注意环境变量的修改。DOS提示符添加Python的环境变量,Win10系统中较为容易,添加相应的路径。 在命令提示符窗口原创 2017-08-23 14:58:14 · 429 阅读 · 0 评论 -
Scikit-learn快速入门教程和实例(一)
Github主页:https://linxid.github.io/知乎:https://www.zhihu.com/people/dong-wen-hui-90/activities优快云:https://blog.youkuaiyun.com/linxid/article/details/79466078一,什么是SKlearnSciKit learn的简称是SKlearn,...原创 2018-01-19 11:35:04 · 77327 阅读 · 7 评论 -
SciKit-learn快速入门教程和实例(二)
知乎专栏:https://zhuanlan.zhihu.com/p/33148436一,sklearn的常用属性和功能继续上次对波士顿房价预测的讨论,了解模型的属性和功能。#首先导入库,使用的是线性回归from sklearn import datasetsfrom sklearn.linear_model import LinearRegression#导入波士顿房价数据原创 2018-01-21 14:27:55 · 5568 阅读 · 0 评论 -
Kaggle竞赛-Titanic泰坦尼克
——————————————————————————————————-在博主的原有基础上修改了部分错误,Jupyter Notebook实现。 代码链接:http://download.youkuaiyun.com/download/linxid/10230873——————————————————————————————-转载:http://blog.youkuaiyun.com/han_xiaoyang转载 2018-01-30 10:07:17 · 1460 阅读 · 0 评论 -
10分钟入门pandas(二)
第一部分:http://blog.youkuaiyun.com/linxid/article/details/79249874 接上次介绍的内容,继续介绍pandas入门。1. 合并1.1 concatpandas提供各种方便的工具,以便方便的将Series、Dataframe、Panel对象和各种集合,根据索引和相关的代数合并在一起,通过merge或join类型操作符。 列索引相同,...原创 2018-02-08 21:35:44 · 556 阅读 · 0 评论 -
10分钟入门pandas(一)
知乎专栏:https://zhuanlan.zhihu.com/p/33576513pandas库,是一个很重要的python库,这里对pandas进行简短的介绍,主要用于入门。对于详细内容,还是查看详细的文档。 参考网址:http://pandas.pydata.org/pandas-docs/stable/10min.html#此引用库,为默认情况import pandas a原创 2018-02-03 22:03:28 · 849 阅读 · 0 评论 -
《机器学习实战》—— KNN(K近邻算法)
《机器学习实战》可以说是学习ML的必备书籍,连载本书中的重点算法。重点在算法和思想,避免涉及数学和理论推导。 由于现在已经有现成的库,不管是Sklearn还是keras,所以算法基本不需要我们自己去写,调用库就可以,但是必须要知道如何要去调参,也就是每个算法涉及到的参数,如何调整,能效果更好。1.基本概念:k近邻作为监督学习的入门算法,是数据分析不可缺少的一部分。 适用情况:对于一...原创 2018-02-06 16:18:56 · 1279 阅读 · 0 评论 -
通过Anaconda安装Graphviz
简单三步走1.打开Anaconda终端,Open terminal2.在终端窗口一次输入:conda install graphviz pip install graphviz 3.添加环境变量找到Graphviz的安装路径,然后添加到环境变量中即可。我的安装路径是 C:\Users\linxid\Anaconda3\Library\bin\graphvi...原创 2019-08-08 22:18:01 · 40940 阅读 · 4 评论 -
从头到尾理解树模型(一):决策树
Github主页:https://linxid.github.io/ 知乎:https://zhuanlan.zhihu.com/p/35775368 优快云:https://blog.youkuaiyun.com/linxid/article/details/79973258XGBoost和LightGBM已经成为Kaggle,天池等比赛和数据研究,必用的算法。这篇文章,从决策树出发,一步...原创 2018-02-27 21:46:32 · 1527 阅读 · 1 评论 -
leetcode Top 100 Liked Questions Python详解
题目难度备注15. 3SumMedium双指针17. Letter Combinations of a Phone NumberMedium递归15. 3Sum:暴力解法,O(n3)O(n^3)O(n3)class Solution(object): def threeSum(self, nums): """ :...原创 2019-04-19 12:03:53 · 2677 阅读 · 1 评论