- 博客(28)
- 收藏
- 关注
原创 3_决策树算法梳理
信息论基础(熵 联合熵 条件熵 信息增益 基尼不纯度) • 定义:分类决策树模型是一种描述对实例进行分类的树形结构(可以是二叉树或非二叉树). 其中内部节点(非叶子节点)表示一个特征或属性,叶子节点表示一个类.【或者说,内部节点是每个非叶节点表示一个特征属性上的测试,每个分支代表这个特征属性在某个值域上的输出,而每个叶节点存放一个类别】 !决策过程! 使用决策树进行决策的过程就是从根节点开始,测试...
2019-04-03 19:53:36
380
原创 2_逻辑回归算法梳理
文章目录逻辑回归与线性回归的联系与区别逻辑回归的原理逻辑回归损失函数推导及优化正则化与模型评估指标逻辑回归的优缺点样本不均衡问题解决办法sklearn参数 逻辑回归与线性回归的联系与区别 联系: 线性回归是对数据的预测;逻辑回归是对给定数据的分类。 虽然逻辑回归能够用于分类,不过其本质还是线性回归。它仅在线性回归的基础上,在特征到结果的映射中加入了一层sigmoid函数(非线性)映射,即先把特征线...
2019-04-01 20:32:09
624
原创 238. 除自身以外数组的乘积_python
【题目】 说明: 请不要使用除法,且在 O(n) 时间复杂度内完成此题。 进阶: 你可以在常数空间复杂度内完成这个题目吗?( 出于对空间复杂度分析的目的,输出数组不被视为额外空间。) 【思路】 审题:不能使用除法和要在O(n)时间复杂度完成,说明不能用两层for循环 两个并列的for循环。 第一个for循环:left和right两个数组储存当前值左边和右边的所有元素乘积。 第二个for循环:将...
2019-03-05 17:20:04
350
原创 557. 反转字符串中的单词 ③_python
【题目】 【思路】 遍历字符串s,如果检测到 “ ”空格,反转空格前的字符串,然后放进res数组里。 【代码】 class Solution(object): def reverseWords(self, s: str): """ :type s: str :rtype: str """ res = [] ...
2019-03-04 19:32:19
316
原创 344. 反转字符串_python
【题目】 #示例一 输入:["h","e","l","l","o"] 输出:["o","l","l","e","h"] #示例二 输入:[
2019-03-03 16:28:39
172
原创 43. 字符串相乘_python
【题目】 【思路】 输入是两个字符串形式的非负整数,返回乘积结果的字符串形式,不允许转换成整数再进行处理。即最简单直接return str(int(num1) * int(num2))。 将num2每位依次乘以num1每位,再移位相加,先不处理进位情况 处理进位: 通过整除%和求余数\计算该位数和进位数,进位数加给前一位。 最后要删除res中前面的0 【python代码】 cl...
2019-03-03 13:48:11
2526
1
原创 11. 盛最多水的容器(pyhton)
【题目】 示例: 输入: [1,8,6,2,5,4,8,3,7] 输出: 49 【思路】 先将list排序 然后从最小y值元素开始,此时的元素线找到离它最远的线得到x,将y*x添加到ans 遍历完所有元素,返回max(ans) class Solution(object): def maxArea(self, height): """ :type ...
2019-03-01 21:11:41
132
原创 26. 删除排序数组中的重复项
【题目】 示例1 给定数组 nums = [1,1,2], 输出: 函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。 你不需要考虑数组中超出新长度后面的元素。 _ 示例2 给定 nums = [0,0,1,1,1,2,2,3,3,4], 输出: 函数应该返回新的长度 5, 并且原数组 nums 的前五个元素被修改为 0, 1, 2, 3, 4。 你不需要考虑数...
2019-02-28 20:26:14
129
原创 20.有效的括号(python)
【题目】 示例1 输入: “()” 输出: true _ 示例2 输入: “()[]{}” 输出: true _ 示例3 输入: “(]” 输出: false _ 示例4 输入: “([)]” 输出: false _ 示例5 输入: “{[]}” 输出: true 【思路】 发现这道题有“后进先出”的规律,所以使用栈stack的数据结构。 例如:([{}]) . 后进了’{’,则先...
2019-02-27 19:14:31
728
原创 16.最接近的三数之和(python)
【题目】 【思路】 先将nums排序,计算temp = nums[i]+nums[left]+nums[right]。 判断若temp>target,那就希望temp小一点,right左移(变小)。 ps:今天时间比较匆忙要赶飞机回家了,借鉴了小伙伴的代码,觉得还可以从二分法进行效率提高。也就是分别用left与middle,还有left和right来计算temp。选择更接近target的组...
2019-02-02 13:39:34
934
原创 15. 三数之和_python
【题目】 【思路】 两次for循环,查找第三个数thrid = -nums[i] - nums[j] ,判断剩下的数组中是否存在第三个数。 【python】 class Solution(object): def threeSum(self, nums): """ :type nums: List[int] :rtype: List[Li...
2019-02-01 13:22:36
413
原创 14.最长公共前缀(python)
【题目】 【思路】 采用了最简单的暴力解法。首先列出strs字符串组元素个数小于等于1的情况。然后是大于等于2的情况,循环判断每2个元素之间是否相等。 【python】 class Solution(object): def longestCommonPrefix(self, strs): """ :type strs: List[str] ...
2019-02-01 07:33:53
349
原创 8.字符串转换整型(python)
【题目】 链接 【python】 class Solution(object): def myAtoi(self, str): """ :type str: str :rtype: int """ ans_str = '' s
2019-01-30 13:53:16
593
原创 5.最长回文子串(python)
【题目】 【解题思路】 只采用暴力解法,以后有时间研究研究更快捷的方法(中心枚举法,马拉车算法)。 接下来是思路:第一层循环i从第一个字符开始到最后一个字符, 第二层循环j从i+2 (原因一个字符本身就是回文串,所以是从两个字符开始判断) 开始一直到len(s)+1(由于s[i:j]切片范围是到i-j-1),判断字符串正反序是否相等(判断回文串的条件)。 【python代码】 class Sol...
2019-01-30 12:43:36
876
原创 4.寻找两个有序数组的中位数(python)
【题目】 【解答思路】 首先将两数组合并成一个新的数组,再进行排序,再判断新数组的len是奇数还是偶数,奇数:中位数取len/2位置上的值,偶数:中位数取len/2+(len/2-1)两数的平均值。 【python】 class Solution(object): def findMedianSortedArrays(self, nums1, nums2): """ ...
2019-01-28 16:05:05
775
2
原创 1.两数之和(python):
两数之和python解法: 【题目回顾】 【代码】 class Solution: def twoSum(self, nums, target): """ :type nums: List[int] :type target: int :rtype: List[int] """
2019-01-27 15:03:41
995
原创 算法实践TASK4:模型调优
算法实践TASK4:模型调优 1.任务: 使用网格搜索法对7个模型进行调优(调参时采用五折交叉验证的方式),并进行模型评估。 2.知识点介绍: 网格搜索法(Grid Search):一种调参手段;穷举搜索:在所有候选的参数选择中,通过循环遍历,尝试每一种可能性,表现最好的参数就是最终的结果。其原理就像是在数组里找最大值。(为什么叫网格搜索?以有两个参数的模型为例,参数a有3种可能,参数b有4种可能...
2019-01-09 18:58:41
268
原创 算法实践DAT3:构建评估
算法实践DAT3:构建评估 任务: 记录7个模型(逻辑回归、SVM、决策树、随机森林、GBDT、XGBoost和LightGBM)关于accuracy、precision,recall和F1-score、auc值的评分表格,并画出ROC曲线。 采用for循环对4个模型依次进行训练和参数评估。评价指标用到Accuracy, Precision, Recall, F1 score, AUC。解释参照 ...
2019-01-07 20:24:54
343
原创 算法实践DAT2:模型构建2.0
算法实践DAT2:模型构建2.0 任务: 构建随机森林、GBDT、XGBoost和LightGBM这4个模型,并对每一个模型进行评分,评分方式任意,例如准确度和auc值。 2关键点:4个模型和对应的评分结果 1.【和上次一样处理:读取数据集和三七划分测试和训练集】 import pandas as pd data_all = pd.read_csv('./data_all.csv') X = da...
2019-01-04 21:00:05
577
原创 算法实践DAT1:模型构建
算法实践DAT1:模型构建 任务: 将金融数据集三七分,随机种子2018,调用sklearn包,简单构建逻辑回归、SVM和决策树3个模型并对每一个模型进行评分,评分方式任意,例如准确度和auc值。 4关键点: 数据集三七分,随机种子2018,3个模型和对应的评分结果 分析: 通过已有的数据,预测贷款对象是否会逾期。status是结果,0代表未逾期,1代表逾期。 ps:ptyhon入门小白一枚,是在...
2019-01-03 20:56:05
694
原创 编程集训第7天:DP实战--0-1背包问题实现(自我实现)及Leetcode(132)Palindrome Partitioning II
编程集训第7天:DP实战–0-1背包问题实现(自我实现)及Leetcode(132)Palindrome Partitioning II 编程题目 1.背包问题 概述: 有n种物品与承重为m的背包。每种物品只有一件,每个物品都有对应的重量weight[i]与价值value[i],求解如何装包使得价值最大。 思路: 遇到这种问题,最简单也是最耗费时间的解决方法是遍历,将所有情况都计算出来,再从结...
2018-12-24 20:06:37
194
原创 编程集训第6天:递归实战--Leetcode的Letter Combinations of a Phone Number(17)及permutations(46)
编程集训第5天:递归实战–Leetcode的Letter Combinations of a Phone Number(17)及permutations(46) 编程题目 17. 电话号码的字母组合 题目描述: 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。 给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。 示例: 输入:“23” 输出:[“ad”, “...
2018-12-23 21:01:55
190
原创 编程集训第5天:递归及DP思想,温习前4天内容
编程集训第5天:递归及DP思想,温习前4天内容 递归及DP思想 1、递归(Recursion) 指在函数的定义中使用函数自身的方法,即程序的自身调用。 递归一词还较常用于描述以自相似方法重复事物的过程。例如,当两面镜子相互之间近似平行时,镜中嵌套的图像是以无限递归的形式出现的。也可以理解为自我复制的过程。递归就是方法里调用自身。 出口:在使用递增归策略时,必须有一个明确的递归结束条件,称为递归出口...
2018-12-22 20:34:20
214
原创 编程集训第4天:LeetCode验证二叉搜索树(98)及二叉树层次遍历(102,107)
编程集训第4天:LeetCode验证二叉搜索树(98)及二叉树层次遍历(102,107) 基础知识 1 二叉树的定义 二叉树是每个节点最多有两个子树的树结构。 2 遍历 二叉树遍历:前序遍历、中序遍历、后序遍历3种方式。 2.1 前序遍历 若二叉树非空,则执行以下操作: (01) 访问根结点; (02) 先序遍历左子树; (03) 先序遍历右子树。 2.2 中序遍历 若二叉树非空,则执行以下操作:...
2018-12-21 20:37:12
226
原创 编程集训第3天:队列及堆排序思想--LeetCode滑动窗口的最大值(239)
编程集训第3天:队列及堆排序思想--LeetCode滑动窗口的最大值(239)基础知识编程题目知识回顾 基础知识 一、队列(queue) 队列和栈一样,在实际程序的算法设计和计算机一些其他分支里,都有很多重要的应用,比如计算机操作系统对进程 or 作业的优先级调度算法,对离散事件的模拟算法,还有计算机主机和外部设备运行速度不匹配的问题解决等,很多很多。其实队列的本质还是线性表!只不过是一种特殊的或...
2018-12-20 19:01:21
243
原创 编程集训第2天:LeetCode--环形链表2(142)及单链表反转(206)C++和python代码实现
编程集训第2天:LeetCode--环形链表2(142)及单链表反转(206)C++和python代码实现链表知识点题目解析 链表知识点 链表 线性表特点是用一组任意的存储单元存储线性表的数据元素,同时还存储一个指向后继信息的信息,这两部分信息组成为结点。结点包含两部分数据域和指针域。指针域存储信息成为指针或链。 链表内包含很多结点(当然也可以包含零个结点)。其中每个结点的数据空间一般会包含一个...
2018-12-19 20:22:12
243
原创 编程集训第1天:LeetCode两数和及欢乐数C++代码实现(哈希表)
编程集训第1天:LeetCode两数和及欢乐数C++代码实现(哈希表)前言什么是哈希表编程题目 前言 编程集训第一天,得到的任务是采用哈希思想实现leetcode上的两数之和(1)及Happy Number(202)。在这之前连哈希表是什么怎么用的都不知道,今天认真学习了一天,并重温了C++,但是时间很紧迫,两小时后就是作业提交时间了,先把别人总结的知识点拿来用用。 什么是哈希表 原型 ...
2018-12-18 21:26:38
506
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人