700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > python决策树逻辑回归_百面机器学习(逻辑回归以及决策树 leetcode)

python决策树逻辑回归_百面机器学习(逻辑回归以及决策树 leetcode)

时间:2024-05-12 09:45:48

相关推荐

python决策树逻辑回归_百面机器学习(逻辑回归以及决策树 leetcode)

逻辑回归,分类问题,线性分类器,通过线性回归逼近对数几率,适用于高维稀疏数据的场景,如果数据包含一条决策边界,因为单位阶跃函数不连续,采用sigmoid函数来表示。

优点和缺点

优点:

(模型)模型清晰,背后的概率推导经得住推敲。

(输出)输出值自然地落在0到1之间,并且有概率意义(逻辑回归的输出是概率么?/p/a8d6b40da0cf)。

(参数)参数代表每个特征对输出的影响,可解释性强。

(简单高效)实施简单,非常高效(计算量小、存储占用低),可以在大数据场景中使用。

(可扩展)可以使用online learning的方式更新轻松更新参数,不需要重新训练整个模型。

(过拟合)解决过拟合的方法很多,如L1、L2正则化。

(多重共线性)L2正则化就可以解决多重共线性问题。

缺点:

(特征相关情况)因为它本质上是一个线性的分类器,所以处理不好特征之间相关的情况。

(特征空间)特征空间很大时,性能不好。

(精度)容易欠拟合,精度不高。

决策树,分类和回归问题,非线性分类器,利用自变量构造一个分叉树区分目标变量,关键在于挑选属性变量,和树剪枝避免过拟合,有三种主要方式,使用场景如果数据包含多个决策边界

数据的结构:逻辑回归胜在整体分析,决策树胜在局部分析。

线性特性:逻辑回归擅长线性数据,决策树擅长非线性。

缺失值。

附本周作业参考答案

1.常见决策树算法有哪些?它们的划分准则分别是什么,是否有缺陷

常见决策树算法有:ID3、C4.5、CART

划分准则分别是:信息增益、信息增益率、基尼指数

信息增益缺点:对可取值较多的属性有偏好,比如编号、日期

信息增益率缺点:对可取值较少的属性有偏好

2.决策树为什么要剪枝?有几种方法?简述一下,并分析其优缺点

为了防止过拟合。有两种方法:预剪枝、后剪枝。

预剪枝:预剪枝的核心思想是在树中进行扩展之前,先计算当前的划分是否能带来模型泛化能力的提升,如果不能则不再生长子树。此时可能存在不同类别的样本同时存在结点中,按照多数投票原则判断该结点所属类别。优点:思想直接、算法简单、效率高等特点,适合解决大规模问题。缺点:有欠拟合风险。

后剪枝:后剪枝的核心思想是让算法生成一棵完全生长的决策树,然后从最底层向上计算是否剪枝。剪枝过程将子树删除,用一个叶子结点代替,该结点的类别同样按照多数投票的原则进行判断。同样,后剪枝也可以通过在测试集的准确率进行判断,如果剪枝后准确率有提升则进行剪枝。优点:相比于预剪枝,泛化能力强 。缺点:时间开销大

leetcode第一周刷题

最大的k个,先考虑堆,时间复杂度O(N log K ),空间复杂度O(k),不需要全部排序完成

K largest(heapsort)

快排,快慢指针,分治法, 时间复杂度是O(N), 空间复杂度O(1)

每一轮确定一个位置,想要位置的元素被确定了,就可以提前结束排序,因为抛去了一部分所以复杂度没有logN

if转while,递归转循环

quicksort

sort colors(荷兰国旗)

三指针,三向切分快速排序

topk frequent

1、python heapq.nlargest

采用桶排序的思路

桶排序假设待排序的一组数均匀独立的分布在一个范围中,并将这一范围划分成几个子范围(桶)。

然后基于某种映射函数f ,将待排序列的关键字 k 映射到第i个桶中 (即桶数组B 的下标i) ,那么该关键字k 就作为 B[i]中的元素 (每个桶B[i]都是一组大小为N/M 的序列 )。

接着将各个桶中的数据有序的合并起来 : 对每个桶B[i] 中的所有元素进行比较排序 (可以使用快排)。然后依次枚举输出 B[0]….B[M] 中的全部内容即是一个有序序列

2.设置一个定量的数组当作空桶子。

寻访序列,并且把项目一个一个放到对应的桶子去。

对每个不是空的桶子进行排序。

从不是空的桶子里把项目再放回原来的序列中。

非桶排序思路

two sum

有规律的数组采用双指针,一个指针指向较小的元素,一个指向较大的,较小的从头向尾部遍历,较大的从尾部向头部遍历

greedy

return i

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。