- 博客(43)
- 资源 (13)
- 收藏
- 关注

原创 Python版-LeetCode 学习:76. 最小覆盖子串
给你一个字符串 S、一个字符串 T,请在字符串 S 里面找出:包含 T 所有字符的最小子串。示例:输入: S = "ADOBECODEBANC", T = "ABC"输出: "BANC"说明:如果 S 中不存这样的子串,则返回空字符串 ""。如果 S 中存在这样的子串,我们保证它是唯一的答案。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/minimum-window-substring方法1:该方法的大致思想是:(1.
2020-07-17 15:01:38
1477
1
原创 K-means聚类算法思想以及Python代码实现
K-means聚类算法 K-means也是聚类算法中最简单的一种了,但是里面包含的思想却是不一般。最早我使用并实现这个算法是在学习韩爷爷那本数据挖掘的书中,那本书比较注重应用。看了Andrew Ng的这个讲义后才有些明白K-means后面包含的EM思想。 聚类属于无监督学习,以往的回归、朴素贝叶斯、SVM等都是有类别标签y的,也就是说样例中已经给出了样例的分类。而聚类的样本中却没有给定y,只有特征x,比如假设宇宙中的星星可以表示成三维空间中的点集。聚类的目的是找到每个样本x潜在的类别...
2020-11-07 12:04:27
2253
原创 特征工程:分类变量的处理方式总结
1、什么是分类变量?通常来说,分类变量是用来表示某一属性的类别或标识的。例如:一年中的四季,月份,OS,brand,行业(银行、保险、券商、科技......),地区等等;大型分类变量例如:IP地址,用户ID,语料库的词汇表等等一般的,分类变量有个显而易见的特点:数量有限且无序,不具有数值型数据大小的含义。因此在很多涉及到数值度量的模型中,如:LR,SVM等,我们不能像处理数值型变量那样来处理分类变量。一般来说,类别数量小的分类变量的常见处理方式有:one-hot编码,虚拟编码和效果编码。1.
2020-11-07 11:45:08
6854
原创 KS值的计算过程
KS(kolmogorov-Smirnov)值衡量的是好坏样本累计各部分之间的差值。好坏样本累计差异越大,KS指标越大。那么模型的风险区分能力越强。KS的计算步骤:1.按照模型的结果对每个账户进行打分。2.所有账户按照评分排序,并从小到大分为10~20组。3.计算每个评分区间的好坏账户数。(每个区间的good账户数n, 坏账户数m)4.(1)计算每个评分区间的累计好账户数占总的好账户数的比例。(从第0个区间到第i个区间的good账户数ni 比 所有的good账户数N,ni/N).
2020-10-30 14:12:49
16381
原创 基于lightgbm的kaggle比赛实践:Give me some credit
0 背景介绍Give Me Some Credit https://www.kaggle.com/c/GiveMeSomeCredit/overview,是Kaggle上关于信用评分的项目,通过改进信用评分技术,预测未来两年借款人会遇到财务困境的可能性。并以此为依据来决定是否给予借贷人信用授权。目标是建立帮助银行做出最佳财务借贷决策的模型。今天这数据类型如下:其中:SeriousDlqin2yrs代表过去两年内的情况,也是test集要预测的字段。第一部分:导入需要的包和数据impor.
2020-10-16 00:33:34
3984
5
原创 简单说说贝叶斯定理
在引出贝叶斯定理之前,先学习几个定义:条件概率(又称后验概率)就是事件A在另外一个事件B已经发生条件下的发生概率。条件概率表示为P(A|B),读作“在B条件下A的概率”。比如,在同一个样本空间Ω中的事件或者子集A与B,如果随机从Ω中选出的一个元素属于B,那么这个随机选择的元素还属于A的概率就定义为在B的前提下A的条件概率,所以:P(A|B) = |A∩B|/|B|,接着分子、分母都除以|Ω|得到联合概率表示两个事件共同发生的概率。A与B的联合概率表示为或者。边缘概率(又称先验概率)是某个事件发生的概
2020-10-15 14:31:47
1682
原创 pandas.read_csv报 ParserError: Error tokenizing data. C error: Expected 2 fields in line 134, saw 3
用pandas的read_csv读取 \t 分割的文件,报如下错误。,ParserError: Error tokenizing data. C error: Expected 2 fields in line 134, saw 3网上有人提供的解决方案是:padans.csv_read函数加上一个参数delimiter,如下:res = pd.read_csv(f,delimiter="\t")然,并不能解决问题,经尝试,使用如下代码可解决,但是,两列数据会变成一列。“\t...
2020-10-15 14:30:14
2111
原创 pytorch 加载 本地 roberta 模型
在利用Torch模块加载本地roberta模型时总是报OSERROR,如下:OSError: Model name './chinese_roberta_wwm_ext_pytorch' was not found in tokenizers model name list (roberta-base, roberta-large, roberta-large-mnli, distilroberta-base, roberta-base-openai-detector, roberta-large..
2020-10-12 11:42:22
10229
5
原创 Python一种保存模型的简单方式:用joblib保存训练模型
在机器学习中,我们训练模型后,需要把模型保存在本地。利用joblib,实现简单的模型保存方式:import joblib#保存模型def save_model(model, filepath): # 后缀一般用pkl joblib.dump(model, filename=filepath)def load_model(filepath): model = joblib.load(filepath) return model...
2020-10-11 21:06:13
2371
原创 pytorch: 出现NotImplementedError 。。。。in forward
raise NotImplementedErrorNotImplementedError在利用pytorch构建model的时候,出现NotImplementedError的错误,一般的是由于在重构nn.model的时候出现了错误。主要的可能有: forward函数的问题。检查forward函数是类的函数,而不是__init__()的函数,或者是forward函数拼写错误。类似的,如果是有in XXX的地方,也很大可能是model在这部分构建出错了。...
2020-10-02 21:13:39
4882
2
原创 pandas: dataFrame.loc 进行条件判断时出现 KeyError: ‘cannot use a single bool to index into setitem‘
在使用pandas的dataFrame中的loc函数时,如下df.loc[('M' in df.Name and df.P>1),'m']=1df.loc[('M' not in df.Name or df.P < 1), 'm'] = 0出现如下错误: raise KeyError("cannot use a single bool to index into setitem")KeyError: 'cannot use a single bool to index..
2020-09-11 16:20:19
9947
原创 Python中sigmoid函数中报: RuntimeWarning: overflow encountered in exp
在sigmoid函数中使用numpy.exp的时候,遇到了RuntimeWarning: overflow encountered in exp。原因:因为参数值inx很大时,exp(inx)可能会发生溢出,有一种解决方式是对sigmoid函数实现的优化:如https://blog.youkuaiyun.com/CY_TEC/article/details/106083366def sigmoid(inx): if inx>=0: #对sigmoid函数的优化,避免了出现...
2020-09-08 15:57:34
4798
1
原创 什么是归一化,它与标准化的区别是什么?
本题解析来源:https://www.zhongxiaoping.cn/2019/01/15/%E6%A0%87%E5%87%86%E5%8C%96%E4%B8%8E%E6%AD%A3%E5%88%99%E5%8C%96/本文主要讲述的是标准化与归一化的区别,相同点和联系,重点讲述各自的使用场景,归一化主要是应用于没有距离计算的地方上,标准化则是使用在不关乎权重的地方上,因为各自丢失了距离信息和权重信息,最后还讲述了下归一化的使用场景,主要是针对数据分布差异比较大–标准化和奇异数据(单个数据对结果有影..
2020-09-07 22:58:09
10192
原创 为什么是Softmax?
一、softmax函数softmax用于多分类过程中,它将多个神经元的输出,映射到(0,1)区间内,可以看成概率来理解,从而来进行多分类!假设我们有一个数组,V,Vi表示V中的第i个元素,那么这个元素的softmax值就是:更形象的如下图表示:参考:1:https://www.zhihu.com/question/40403377/answer/866470172。http://freemind.pluskid.org/machine-...
2020-09-06 20:18:22
5742
原创 从线性回归(Linear regression)到逻辑回归(logistic regression)再到Softmax
线性回归 定义:给定d个属性描述示例,其中是在第i个属性上的取值,线性模型就是通过属性的线性组合来进行预测:,一般用向量形式写成:,其中,w和b学得之后,模型就得以确定。而线性回归模型是在给定数据集(其中,,),利用线性模型试图学得,使得函数.像这样有d个属性描述的线性函数,也被称为“多元线性回归”(multivariate linear regression)。为了确定中的w和b,就要利用预估值()与实际值()之间的差值。当和之间的差值越小,则认为模型越好。为评价预估值与实际值的差别,可...
2020-09-03 16:37:27
1821
原创 卷积神经网络(CNN)中Dropout层的作用是
Dropout是指在模型训练时随机让网络某些隐含层节点的权重不工作,不工作的那些节点可以暂时认为不是网络结构的一部分,但是它的权重得保留下来(只是暂时不更新而已),因为下次样本输入时它可能又得工作了。 训练神经网络模型时,如果训练样本较少,为了防止模型过拟合,Dropout可以作为一种trikc供选择。...
2020-08-20 15:54:43
12364
原创 Python版-LeetCode 学习:5. 最长回文子串
给定一个字符串 s,找到 s 中最长的回文子串。你可以假设s 的最大长度为 1000。示例 1:输入: "babad"输出: "bab"注意: "aba" 也是一个有效答案。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/longest-palindromic-substring方法1:动态规划法class Solution: def longestPalindrome(self, s: str) -> s..
2020-08-12 23:19:57
199
原创 Python版-LeetCode 学习:1518. 换酒问题
小区便利店正在促销,用 numExchange 个空酒瓶可以兑换一瓶新酒。你购入了 numBottles 瓶酒。如果喝掉了酒瓶中的酒,那么酒瓶就会变成空的。请你计算 最多 能喝到多少瓶酒。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/water-bottles方法1:除法解法class Solution: def numWaterBottles(self, numBottles: int, numExchange: .
2020-08-07 14:57:23
493
原创 Python版-LeetCode 学习:300. 最长上升子序列
给定一个无序的整数数组,找到其中最长上升子序列的长度。示例:输入: [10,9,2,5,3,7,101,18]输出: 4解释: 最长的上升子序列是[2,3,7,101],它的长度是 4。说明:可能会有多种最长上升子序列的组合,你只需要输出对应的长度即可。你算法的时间复杂度应该为O(n2) 。进阶: 你能将算法的时间复杂度降低到O(n log n) 吗?来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/longest-incre...
2020-08-06 21:13:09
1675
原创 Python版-LeetCode 学习:518. 零钱兑换 II
给定不同面额的硬币和一个总金额。写出函数来计算可以凑成总金额的硬币组合数。假设每一种面额的硬币有无限个。示例 1:输入: amount = 5, coins = [1, 2, 5]输出: 4解释: 有四种方式可以凑成总金额:5=55=2+2+15=2+1+1+15=1+1+1+1+1来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/coin-change-2方法1: 动态规划class Solution: ..
2020-08-04 22:54:59
770
原创 Python版-LeetCode 学习:887. 鸡蛋掉落
你将获得K个鸡蛋,并可以使用一栋从1到N共有 N层楼的建筑。每个蛋的功能都是一样的,如果一个蛋碎了,你就不能再把它掉下去。你知道存在楼层F ,满足0 <= F <= N 任何从高于 F的楼层落下的鸡蛋都会碎,从F楼层或比它低的楼层落下的鸡蛋都不会破。每次移动,你可以取一个鸡蛋(如果你有完整的鸡蛋)并把它从任一楼层X扔下(满足1 <= X <= N)。你的目标是确切地知道 F 的值是多少。无论 F 的初始值如何,你确定 F 的值的最小移动次数是多少...
2020-07-30 11:50:47
305
原创 Python版-LeetCode 学习:打家劫舍(, II,III)
198. 打家劫舍你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。示例 1: 输入:[1,2,3,1] 输出:4解释:偷窃 1 号房屋 (金额 = 1) ,然后偷窃 3 号房屋 (金额 = 3)。 偷窃到的最高金额 = 1 +...
2020-07-21 11:28:54
259
原创 Python版-LeetCode 学习:买卖股票的最佳时机(121,122,123,188,309,714)
买卖股票的最佳时机 交易次数K=1给定一个数组,它的第i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票一次),设计一个算法来计算你所能获取的最大利润。注意:你不能在买入股票前卖出股票。示例 1: 输入: [7,1,5,3,6,4] 输出: 5解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。 注意利润不能是 7-1 = 6, 因为卖出价格需要大于买入价格;...
2020-07-19 16:33:20
190
原创 Python版-LeetCode 学习:567. 字符串的排列
给定两个字符串s1和s2,写一个函数来判断 s2 是否包含 s1的排列。换句话说,第一个字符串的排列之一是第二个字符串的子串。示例1: 输入: s1 = "ab" s2 = "eidbaooo" 输出: True解释: s2 包含 s1 的排列之一 ("ba").示例2: 输入: s1= "ab" s2 = "eidboaoo" 输出: False来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/permuta...
2020-07-17 22:05:45
589
原创 Python版-LeetCode 学习:3. 无重复字符的最长子串
给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。示例1: 输入: "abcabcbb" 输出: 3解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/longest-substring-without-repeating-characters方法1:class Solution: def lengthOfLongestSu...
2020-07-17 20:42:29
177
原创 Python版-LeetCode 学习:438. 找到字符串中所有字母异位词
给定一个字符串s和一个非空字符串p,找到s中所有是p的字母异位词的子串,返回这些子串的起始索引。字符串只包含小写英文字母,并且字符串s和 p的长度都不超过 20100。说明:字母异位词指字母相同,但排列不同的字符串。不考虑答案输出的顺序。示例1:输入:s: "cbaebabacd" p: "abc"输出:[0, 6]解释:起始索引等于 0 的子串是 "cba", 它是 "abc" 的字母异位词。起始索引等于 6 的子串是 "bac", 它是 "abc" 的字母异位词...
2020-07-17 19:20:08
883
原创 Python版-LeetCode 学习:34. 在排序数组中查找元素的第一个和最后一个位置
给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。你的算法时间复杂度必须是O(log n) 级别。 如果数组中不存在目标值,返回[-1, -1]。示例 1:输入: nums = [5,7,7,8,8,10], target = 8输出: [3,4]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/find-first-and-last-position-of-elem...
2020-07-15 09:28:18
520
原创 Python版-LeetCode 学习:752. 打开转盘锁
你有一个带有四个圆形拨轮的转盘锁。每个拨轮都有10个数字: '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' 。每个拨轮可以自由旋转:例如把 '9' 变为'0','0' 变为 '9' 。每次旋转都只能旋转一个拨轮的一位数字。锁的初始数字为 '0000' ,一个代表四个拨轮的数字的字符串。列表 deadends 包含了一组死亡数字,一旦拨轮的数字和列表里的任何一个元素相同,这个锁将会被永久锁定,无法再被旋转。字符串 target 代表可以解锁的...
2020-07-12 10:47:44
436
原创 Python版-LeetCode 学习:111. 二叉树的最小深度
给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。说明:叶子节点是指没有子节点的节点。示例:给定二叉树[3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回它的最小深度 2.来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/minimum-depth-of-binary-tree方法1:BFS算法,从roo...
2020-07-11 19:04:53
377
原创 Python版-LeetCode 学习:46. 全排列
给定一个没有重复数字的序列,返回其所有可能的全排列。示例:输入: [1,2,3]输出:[ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1]]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/permutations方法1:class Solution: def permute(self, nums: List[int]) -> L...
2020-07-10 17:03:44
786
原创 Python版-LeetCode 学习:322 零钱兑换问题
给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回-1。说明:你可以认为每种硬币的数量是无限的。链接:https://leetcode-cn.com/problems/coin-change多种方法的思考:方法1:递归class Solution: def coinChange(self, coins: List[int], amount: int) -> int..
2020-07-07 15:57:03
1452
1
原创 Python版-LeetCode 学习:无重复字符的最长子串
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/longest-substring-without-repeating-characters给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。示例1:输入: "abcabcbb"输出: 3解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度...
2020-07-02 15:40:21
214
原创 Python调用impala出现:TypeError: expecting list of size 2 for struct args
多进程访问调用impala,出现TypeError: expecting list of size 2 for struct args raise self._valueTypeError: expecting list of size 2 for struct args极大可能是因为thrift 版本问题,https://github.com/getredash/...
2020-07-02 08:04:30
1009
原创 airflow中多进程任务中子进程出现ERROR不被抛出的问题
在Python2.7版的airflow(1.10.1版)中,使用multiprocessing时,子进程出现错误,页面上tree view中各个运行节点无错误抛出,如图view log中也没有结果信息打印出来:使用的multiprocessing中的pool,经查,可以使用pool中的get()函数 pool = Pool(processes=4) rst=[] f...
2020-01-15 15:28:41
634
原创 剑指offer 第3题 从尾到头打印链表 (Python)
剑指off第3题题目描述输入一个链表,按链表从尾到头的顺序返回一个ArrayList。思考:先要判断输入是否为空,为空输出也应为一个空list2.循环遍历# -*- coding:utf-8 -*-#class ListNode:# def __init__(self, x):# self.val = x# self.next = ...
2020-01-06 18:26:54
141
原创 剑指offer 第一题 从二维数组中查找是否存在指定整数值 (Python版)
题目描述在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。思路:规则数组中 行 ------左侧 《 右侧, 列-------- 上 《 下,从右侧开始查找,如...
2019-12-27 16:11:40
669
原创 elasticsearch.exceptions.ConnectionTimeout:
Elastic research 报错:elasticsearch.exceptions.ConnectionTimeout: ConnectionTimeout caused by - ReadTimeoutError(HTTPConnectionPool(host='localhost', port=9200): Read timed out. (read timeout=10))...
2019-12-17 17:49:45
4957
原创 airflow中出现urllib3.packages.ordered_dict import ordered_dict ImportError: No module named ordere
在重启airflow1.10(python2版本)中出现日下问题:# airflow -hNo handlers could be found for logger "airflow.logging_config"Traceback (most recent call last): File "/usr/local/bin/airflow", line 21, in <mod...
2019-12-14 18:01:04
1123
原创 command 'x86_64-linux-gnu-gcc' failed with exit status 1
pip安装thrift-sasl时报错command 'x86_64-linux-gnu-gcc' failed with exit status 1Installing collected packages: six, sasl building 'sasl.saslwrapper' extension creating build/temp.linux-x86_64-...
2019-12-10 13:59:11
525
原创 Gitea/git错误fatal: unable to access 'https://**.com/**.git/': Couldn't resolve host 'gitea.com'
在搭建远程的gitea使用时遇到了类似fatal: unable to access 'https://**.com/**.git/': Couldn't resolve host 'github.com'的错误,经反复查看实验,发现是DNS问题。再次Mark一下,以供以后避免类似的坑。本人的运行环境如下:Ubuntu18.04LTS(64位),gitea-1.7-linux-amd64, g...
2019-01-21 17:00:52
3922
信息系统项目管理师考试教程(第3版)
2017-11-28
Jquery表单-层级-内容-属性-子元素选择器知识点整理
2017-11-28
Django自学教程
2016-09-21
Django教程
2016-07-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人