自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(105)
  • 资源 (1)
  • 收藏
  • 关注

原创 【miniconda+jupyter环境安装】

网址:https://docs.conda.io/en/latest/miniconda.html。在新创建的环境中激活jupyter环境,将conda虚拟环境写入jupyter的kernel中。去掉前面的#号,补充你的路径到引号里面,注意:使用斜杠写路径哦!例子:D:/jp/folder。运行下载安装,安装文件夹要英文名。打开终端:win+R==>cmd。创建jupyter环境并且激活。创建conda环境并且激活。这样就可以自由切换环境了~会弹出来一个路径,就打开它。

2023-11-09 12:02:26 391

原创 coggle30daysofML——11月Linux学习

Linux基础使用task1:使用SSH工具Termius登录task2:创建与删除文件夹task3:下载文件与阅读文件task1:使用SSH工具Termius登录task2:创建与删除文件夹task3:下载文件与阅读文件

2021-11-03 15:03:19 281

原创 解决局域网共享文件的输入密码问题

共享端:在运行框里面输入“gpedit.msc”,打开本地组策略编辑器。  共享端:本地组策略编辑器中的左侧目录依次展开计算机配置>windows设置>安全设置>本地策略,然后单击“安全选项”   共享端:点击右侧下拉框,找到“网络访问:本地账户的共享和安全模型”,右键>属性,或者双击进入设置。   共享端:点击下拉按钮,选择“仅来宾-对本地用户进行身份验证,其身份为来宾”,点击确定。访问端:刷新网络列表,重新访问局域网共享电脑,就不需要再输入账号密码了。...

2021-06-04 16:54:04 2077

原创 【leetcode 3、424、209】【滑动窗口专题】

1

2020-12-08 11:56:04 142

原创 【leetcode 704、35、162、74】【二分查找法专题】

leetcode 704 【二分查找】题目链接解题思路与代码思路:代码:复杂度分析:\color{red}{复杂度分析:}复杂度分析:时间复杂度:空间复杂度:leetcode 35 【搜索插入位置】题目链接解题思路与代码思路:代码:复杂度分析:\color{red}{复杂度分析:}复杂度分析:时间复杂度:空间复杂度:leetcode 162 【寻找峰值】题目链接https://leetcode-cn.com

2020-11-30 14:29:25 154

原创 【leetcode 287 】【寻找重复数】【双指针专题】

leetcode题目链接https://leetcode-cn.com/problems/find-the-duplicate-number/解题思路与代码思路:这道题的限制条件很多,很麻烦。采用了时间换空间,实际这样做的情况比较少双指针法要做两个动作,第一:找到环;第二:找到环的入口(即重复元素)定义快慢指针,slow走一步,fast走两步,相等就跳出循环,快慢指针相遇说明重复元素一定在环内定义新指针find,find和slow每次都走一步,它们相遇,就是那个环的入口。为什么相遇就是

2020-11-23 13:57:44 175

原创 【leetcode 125】【验证回文串】【双指针专题】

leetcode 125【验证回文串】题目链接https://leetcode-cn.com/problems/valid-palindrome/解题思路与代码思路:逆序判断对字符串 ss 进行一次遍历,并将其中的字母和数字字符进行保留,放在另一个字符串 \textit{sgood}sgood 中。这样我们只需要判断 \textit{sgood}sgood 是否是一个普通的回文串即可。双指针(原地该字符串)我们直接在原字符串 ss 上使用双指针。在移动任意一个指针时,需要不断地向另一指针的方

2020-11-20 17:11:16 235

原创 【leetcode 27】【移除元素】【双指针专题】

leetcode 27【移除元素】题目链接https://leetcode-cn.com/problems/remove-element/解题思路与代码思路:双指针使用的是快慢指针思想,初始化两个指针,i指针是为了建立答案的指针,j指针是移动搜索val值的指针,j找到val就跳过它,找不到就令nums[i]=nums[j],这样前面的数字都是不等于val的,并i挪后,最后i所处的位置,就是答案的长度删除元素较少的双指针第一个解法会不断做复制操作,当数组中的val元素存在的比较少,就有太多不必

2020-11-19 10:56:54 134

原创 【leetcode 344】【反转字符串】【双指针专题】

leetcode 344【反转字符串】题目链接https://leetcode-cn.com/problems/reverse-string/解题思路与代码思路:双指针法初始化:设置两个指针l和r分别指向列表首尾元素步骤:交换s[i]和s[j]对应元素,并更新指针位置,直到两个指针相遇数组切片法s[::-1]表示反转s中的元素s[:]表示数组中所有子模块s[:]=s[::-1]表示将原数组反转后赋值给s中每一个对应的位置代码:双指针法class Solution: d

2020-11-18 10:04:05 104

原创 【leetcode 144、94、145、102】【二叉树前、中、后序以及层次遍历】

leetcode 144【二叉树前序遍历】题目链接https://leetcode-cn.com/problems/binary-tree-preorder-traversal/解题思路与代码思路:递归法前序遍历就是“根节点–左子树–右子树”的顺序去遍历整棵树,递归可以完美匹配这个过程。迭代法把递归所隐含的栈结构构建出来,模拟递归过程。只要左子树为空就pop出来,然后看右边。代码:递归法class Solution: def preorderTraversal(self, r

2020-11-14 16:52:00 87

原创 【leetcode 700】【二叉搜索树的搜索】

leetcode 700【二叉搜索树的搜索】题目链接https://leetcode-cn.com/problems/search-in-a-binary-search-tree/submissions/解题思路与代码思路:递归法如果root为空或者root和val的值相等,直接返回root,这里注意要把判断为空放在条件前面,避免为空时取不了root.val值。根据二叉搜索树的性质去搜左右树即可迭代法使用while循环,跳出循环的条件就是root为空或者与val值相等,如果不满足,则更改ro

2020-11-13 11:47:39 123

原创 【leetcode 938】【二叉搜索树的范围和】

leetcode 938【二叉搜索树的范围和】题目链接https://leetcode-cn.com/problems/range-sum-of-bst/解题思路与代码思路:递归法有两种写法,一种是写一个递归辅助函数并记录相加的值,一种是直接递归本函数并且直接返回。代码:写法一class Solution: def rangeSumBST(self, root: TreeNode, low: int, high: int) -> int: def dfs(

2020-11-12 11:56:28 170 1

原创 【leetcode 451】【根据字符出现频率排序】

leetcode leetcode 451【根据字符出现频率排序】题目链接https://leetcode-cn.com/problems/sort-characters-by-frequency/解题思路与代码思路:字典排序法第一个想法,创建字典,key是字母,value是计数,然后反序排序,按照字符串的set长度去遍历,使字母与次数相乘存到列表中,然后join连接最大堆法使用Counter直接计算次数,用元组负数存储次数和字符,创建最大堆,按照堆的长度做for循环,把堆顶一个个pop出来

2020-11-11 10:53:08 124

原创 【leetcode 692】【前K个高频单词】

leetcode题目链接https://leetcode-cn.com/problems/top-k-frequent-words/解题思路与代码思路:哈希排序法建立字典,把单词和频次对应记录下来,提取字典的items来排序,在快排的key中使用lambda,可以给频次添加负数就是倒序,然后再根据单词来排序最小堆法除了自己建立字典,也可以使用Counter直接获得一个字典,把字典的元素作为元组存到一个列表中,对列表建立最小堆,把k个最小堆顶的元素pop出。还有一种简单写法,nsmalles

2020-11-06 15:49:41 225 1

原创 【leetcode 1046】【最后一块石头的重量】

leetcode 1046【最后一块石头的重量】题目链接https://leetcode-cn.com/problems/last-stone-weight/解题思路与代码思路:列表排序法这个最直观,对列表进行排序,然后pop出来相减就完事了,while循环直到最后只剩下一个元素最大堆法首先把所有数字变成负数,就可以看成最大堆了。还是采用while循环,相减就完事了。最后再把负数转回来代码:列表排序法class Solution: def lastStoneWeight(se

2020-11-05 11:58:21 162

原创 【leetcode 394】【字符串解码】

leetcode 394【字符串解码】题目链接https://leetcode-cn.com/problems/decode-string/解题思路与代码思路:栈法这道题难点是可以内嵌括号,需要从内向外去拼接字符串,与栈的先入后出的特性对应。使用stack记录前一个框的multi和res,res记录字符串结果,multi记录数字每次碰到"["都把前一个multi和res记录下来,并重置multi和res碰到数字就记录下multi,这里乘以10是为了包括这个数字可能不止是个位碰到字母就

2020-11-03 14:20:56 709

原创 【leetcode 71】【简化路径】

leetcode 71【简化路径】题目链接https://leetcode-cn.com/problems/simplify-path/解题思路与代码思路:主要是对特殊字符的一个处理,只留真正有用的路径在栈中,然后再取出来。对于斜杆“/”,可能存在多个,都过滤掉只剩下一个,′..′'..'′..′代表前一个目录,当它不在首部时,将′..′'..'′..′和前一个元素pop出去,如果在首部,就只将′..′'..'′..′去除elif  ielif \ \ ielif&nbsp

2020-11-02 14:51:22 141

原创 【leetcode 232】【用栈实现队列】

leetcode232用栈实现队列示例:使用栈实现队列的下列操作:push(x) – 将一个元素放入队列的尾部。pop() – 从队列首部移除元素。peek() – 返回队列首部的元素。empty() – 返回队列是否为空。解题思路:栈是先进后出,队列是先入先出,为了实现队列的逻辑,那么需要两个栈。一个是输入栈,一个是输出栈。输入栈用于存放push进来的元素,当要进行pop或者peek操作时,需要把输入栈内容全部转移到输出栈中,此时顺序就正确了,可以对输出栈进行pop和peek操作。而e

2020-10-30 11:05:14 120

原创 【leetcode 662】【设计循环队列】

leetcode 662【设计循环队列】题目链接https://leetcode-cn.com/problems/design-circular-queue/解题思路与代码思路:数组实现通过头指针、队列长度、数组长度推断尾指针的位置tailIndex=(headIndex+count−1) mod capacitytailIndex=(headIndex+count−1) \ mod \ capacitytailIndex=(headIndex+count−1) 

2020-10-29 16:24:56 152

原创 【leetcode 225 】【队列实现栈】

leetcode 225【队列实现栈】使用队列实现栈的下列操作:push(x) – 元素 x 入栈pop() – 移除栈顶元素top() – 获取栈顶元素empty() – 返回栈是否为空题目链接https://leetcode-cn.com/problems/implement-stack-using-queues/解题思路与代码思路:双队列法利用辅助队列的方式,queue1用于存储栈内的元素,queue2作为入栈操作的辅助队列,直接看动图理解一切 。 可以把列表改成collecti

2020-10-29 14:14:41 108

原创 【leetcode 993】【二叉树的堂兄弟节点】

leetcode 993【二叉树的堂兄弟节点】这道题给出二叉树root,x和y,要解决的问题是在树中找到x和y,并且确定它们是否为堂兄弟节点的关系。题目链接https://leetcode-cn.com/problems/cousins-in-binary-tree/解题思路与代码思路:队列实现、BFS广度优先遍历每一层,存入队列中,判断x和y是否在同一层,如果在,就是判断是否为堂兄弟节点。在同一层中,只有相邻节点并且右边的节点的索引为奇数、左边节点索引为偶数时,才是同一个父节点。如果不满足上

2020-10-29 11:51:18 246

原创 【leetcode 560】【和为k的子数组】

leetcode 560 和为k的子数组给定一个整数数组和一个整数 k,你需要找到该数组中和为 k 的连续的子数组的个数。示例:输入:nums = [1,1,1], k = 2输出: 2 , [1,1] 与 [1,1] 为两种不同的情况。解题思路与代码思路:理解前缀和的思路对于数组nums,我们可以创建一个前缀和数组preSum:preSum[i]=nums[0...(i−1)]preSum[i] = nums[0...(i-1)]preSum[i]=nums[0...(i−1)] 的

2020-10-20 15:42:00 132

原创 【leetcode 49】【字母异位词分组】

leetcode49 字母异位词分组给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。示例:输入: [“eat”, “tea”, “tan”, “ate”, “nat”, “bat”]输出:[[“ate”,“eat”,“tea”],[“nat”,“tan”],[“bat”]]解题思路与代码思路:在写代码的时候,发现难点在于对哈希表和python字典的运用,以及列表中的列表的拆解。写代码或思考时,最好在纸张上画一下排序法排序是对列表中的每个字

2020-10-19 16:16:00 195

原创 【leetcode 389】【找不同】

leetcode 题目给定两个字符串 s 和 t,它们只包含小写字母。字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。请找出在 t 中被添加的字母。示例:输入:s = “”, t = “y”输出:“y”输入:s = “a”, t = “aa”输出:“a”输入:s = “ae”, t = “aea”输出:“a”解题思路:三种解题方法:排序法、计数法和位运算法排序法对两个字符串排序,然后根据ttt的长度遍历,判断sss和ttt的对应位置是否相等,如果是就直接返回。

2020-10-19 11:25:21 127

原创 【leetcode 217】【存在重复元素】

leetcode 题目给定一个整数数组,判断是否存在重复元素。如果任意一值在数组中出现至少两次,函数返回 true 。如果数组中每个元素都不相同,则返回 false 。示例:输入: [1,2,3,1]输出: true输入: [1,2,3,4]输出: false解题思路:一共有三种方法,分别是字典法,排序法和set集合法。字典法遍历列表,把元素依次放入字典中,数值作为key。在前面添加一个判断元素是否在字典内,如果是则返回True,若遍历完列表还是没有返回,则返回False。排序法

2020-10-19 10:51:03 208

原创 【leecode 24】【两两交换链表中的节点】

leetcode 24 两两交换链表中的节点给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。示例:输入:head = [1,2,3,4]输出:[2,1,4,3]解题思路:暴力法通常需要创建一个新的链表头来存储结果,并因为需要做指针的交换,设置一个空节点去连接head是很有帮助的。这道题需要注意判断结束循环的条件,考虑链表的节点个数是奇偶数的情况,理清楚交换指针的顺序。看下面动图递归法不需要创建新结点,但是一定要搞清

2020-10-16 15:22:56 144

原创 【leetcode 2】【两数相加】

leetcode 题目给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -> 8原因:342 + 465 = 807解题思路:根据加法的准则,从链表头开始相加,

2020-10-15 14:52:41 125

原创 【时间序列预测实战】【学习总结】

时间序列第一次接触时间序列预测,总体上还是回归问题,不过增加了限制条件,就是时间序列,时间上的约束增加了一些操作,例如周期因子、对不同时间点和时间段的分析。规则与特征工程做过一些数据挖掘的练习项目,不过基本没有加上规则,这一次学习到单纯使用规则去做预测,规则的建立需要有业务知识背景,并且不同类型的题目有不同的方法,很有必要多学习这方面的trick。特征工程的主要流程包括特征的建立、特征的组合、特征的筛选排序。根据统计量、简单的数学计算组合和业务背景知识去做组合,做出大量特征,根据相关性分析、独立性分

2020-08-25 11:48:35 696

原创 【好用】【anaconda设置清华源】

在anaconda prompt输入以下命令,即可设置清华源:conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/conda config --set show_channel_urls yesconda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/conda

2020-08-24 16:43:24 1510

原创 【时间序列预测实战】【特征工程与建模】

特征工程与建模特征工程介绍特征工程的作用基于数据分析与探索提起潜在有价值的特征特征的重要性:如果特征构建越好,模型的性能会越出色,简单且灵活性强特征提取特征提取:多数是采用统计手段分析,找到业务相关的点,最终形成特征例子1:箱型图分析,交易量与星期有关,最终得到7个0-1类型的特征(是否为周一、周二…)例子2:点线图分析,用户星级、用户职业与是否交易有关,可考虑离散化特征离散型特征的好处可用于设计规则易于模型拟合,特别是以树模型为baseline便于

2020-08-24 16:37:52 1330

原创 【时间序列预测实战】【规则与baseline】

规则与baseline前言时间序列预测的规则简单的统计量周期因子基于周的周期因子预测基于月的周期因子预测规则应用到实战中以星期为周期的中位数预测以星期为周期的流入流出预测以月份为周期的流入流出预测不同方式的效果对比前言规则的好处是简单高效且可解释性强,有时候样本量不足时,使用有用的规则比建模更有效,面对问题的时候不能只想着建模,而是根据问题去寻找解决的方案有哪些,互相比较,找到最好的解决方案时间序列预测的规则简单的统计量中位数:很稳健均值:分布较符合正态分布时适用临近数据:指与待预测数据较近

2020-08-22 22:31:09 837

原创 【时序预测实战】【资金流入流出赛题与数据理解】

资金流入流出赛题理解一、赛题介绍赛题任务二、数据介绍1. 用户信息表: user_profile_table2. 用户申购赎回数据表: user_balance_table3. 收益率表:mfd_day_share_interest4. 上海银行间同业拆放利率(Shibor)表: mfd_bank_shibor5. 收益的计算方式6. 需要提交的结果表 tc_comp_predict_table三、评估指标遇到的问题了解数据时的常见问题1. 预测的申购是否包括收益的?2. 什么是万份收益?3. 什么是七日

2020-08-20 22:29:45 1307

原创 【Pandas】【缺失数据处理】

缺失数据处理1.基础概念1.1两种类型的缺失值可忽略的缺失值不可忽略的缺失值1.2缺失值的处理方法删除存在缺失值的个案插补缺失值(以最可能的值)2.观测缺失值与其类型2.1 如何探索数据中的缺失值2.2 三种缺失符号2.2.1 np.nan3.缺失值的运算和分组4.填充与剔除5.插值1.基础概念1.1两种类型的缺失值可忽略的缺失值完全随机缺失:缺失数据发生的概率与已观察数据和未观察数据无关随机缺失:缺失数据发生的概率与所观察到的变量有关,与未观察到的数据无关不可忽略的缺失值不完全变量中数据的缺

2020-07-30 10:49:02 729

原创 【Pandas】【合并】

Pandas合并合并1.append与assign1.1 append1.2 assign2. combine和update2.1 combine2.2 update3. concat4.merge和join4.1 merge4.2 join总结合并1.append与assign1.1 append(1)添加Series行genderheight0M1731F1632M155注:一定要指定name属性s = pd.Series(['gender

2020-07-30 10:48:53 143

原创 【Pandas】【变形】

学习内容与资源来自于Datawhale成员分享,感谢耿同学Pandas变形1. 透视表1.1 pivot1.2 pivot_table1.2.x 常用参数1.3 crosstab交叉表2. 其他变形方法2.1. melt函数2.2. 压缩与展开3. 哑变量与因子化3.1. Dummy Variable(哑变量)3.2. factorize方法常见问题1. 透视表1.1 pivotDataFrame会将数据以压缩状态存放,如性别的M和F,pivot函数的作用就是可以将某一列作为新的列来展示.co.

2020-07-17 17:38:44 217

原创 【Pandas】【分组操作】

分组简介分组操作流程有三:**split , apply , combine**常见apply过程的问题groupby函数1.按照某一列来分组获得某个school的信息:2.按照多列来分组3.其他调用方法4. 可通过一下代码查看groupby对象可用的函数5. groupby对象的head和first6. 分组的依据规则根据奇偶行分组若使用的是多层索引,则lambda表达式中输入为元组groupby中的[]操作对连续性变量使用cut函数做分组聚合(Aggregation)常用聚合函数同时使用单个或多个聚合函

2020-07-14 14:40:07 2957

原创 【特征工程入门与实践】【特征选择】

特征选择小总结选择的评价标准基于统计的特征选择皮尔逊相关系数Pearson假设检验基于模型的特征选择针对基于树的模型线性模型小提示小总结这章节介绍了特征选择的指标和方法,方法有很多,这里没有介绍到全部知识,不过可以引发到我们对特征选择的思考,主要围绕的思想就是如何找到最好的特征子集和模型参数使得预测性能达到更好选择的评价标准传统指标:分类的指标,如准确率、真阳性率、假阳性率等回归的指标:RMSE、平均绝对误差、R2R^2R2元指标模型拟合/训练所需要的时间拟合后的模型预测新实例的时

2020-06-05 11:31:14 472

原创 【Pandas】【索引操作】

关于索引的一些常用操作单级索引lociloc[] 操作符Series 的[]操作Dataframe的[]操作布尔索引快速标量索引at 和 iat方法,快速获取一个元素区间索引划分区间的interval_range方法用cut将数值列转为区间的分类元素区间索引的选取多级索引前言:此文知识点是由Datawhale提供的pandas学习材料中总结而来,感谢闫大佬的分享。Pandas学习项目github链接单级索引在数据处理中,我们比较常用的索引方法有三种:loc 标签索引iloc 位置索引[] 一种

2020-06-03 15:09:41 491

原创 【机器学习】【聚类】

聚类介绍五个类型相似度、距离计算1. 距离2.相似度额外知识K-means算法原理计算步骤优缺点优点缺点DBSCAN算法一些概念算法步骤优缺点优点缺点密度最大值聚类DPCA概念聚类过程计算关键点介绍聚类算法对大量未标注数据,按照数据的内在相似性将数据集划分为多个类别,一种无监督算法。/N个对象,K个簇,K<=NK<=NK<=N。五个类型基于分层的聚类(hierarcal methods)思想:对数据集进行逐层,直到某条件满足为止。自下而上的分裂型和合并型代表:BIRCH

2020-06-01 17:23:46 4785

原创 【特征工程入门与实践】【特征构建】

特征构建填充分类特征定性填充定量填充编码分类变量扩展数值特征文本的特征构建填充分类特征定性填充对于定性的列,我们可以计算最常见的类别用于填充X['city'].fillna(X['city'].value_counts().index[0])当然,我们不可能对于每一个列都这样写,我们需要建立机器学习流水线,构建自定义的转换器,一次性把数据转换好使用TransformerMixin作为基类,则自动实现fit_transform()函数from sklearn.base import T

2020-05-25 11:33:10 682

bootstrap&jquery;的jar包

用于bootstrap的一些jar包吧

2018-03-20

空空如也

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

TA关注的人

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