摘要:函数定义 DataFrame.sample(n=None, frac=None, replace=False, weights=None, random_state=None, axis=None, ignore_index=False) Return a random sample of item
阅读全文
摘要:在使用pandas循环做数据处理时,会遇到某些dataframe为空,导致程序报错,DataFrame有一个属性为empty,直接用DataFrame.empty判断就行。如果df为空,则 df.empty 返回 True,反之 返回False。注意empty后面不要加()。 ret = pd.Da
阅读全文
摘要:方法定义 最一般化的GroupBy方法是apply,apply会将待处理的对象拆分成多个片段,然后对各片段调用传入的函数,最后尝试将各片段组合到一起。 代码示例 我们使用的数据集为利用python进行数据分析中的小费数据集, tips_df.head() 首先定义一个函数,在指定列找出最大值,然后把
阅读全文
摘要:scikit-learn SVM算法库封装了libsvm 和 liblinear 的实现,仅仅重写了算法的接口部分。 scikit-learn中SVM的算法库分为两类,相关的类都包裹在sklearn.svm模块之中。 一类是分类的算法库,包括SVC, NuSVC,和LinearSVC 3个类。SVC
阅读全文
摘要:概述 GBDT有很多简称,有GBT(Gradient Boosting Tree),GTB(Gradient Tree Boosting, GBRT(Gradient Boosting Regression Tree), MART(Multiple Additive Regression Tree)
阅读全文
摘要:随机森林 我们知道集成学习有两个流派, 一个是boosting流派,它的特点是产生的个体学习器之间存在强依赖关系,一系列个体学习器基本都需要串行生成 另一种是bagging流派,它的特点是产生的个体学习器之间不存在强依赖关系,一系列个体学习器可以并行生成 而随机森林(Random Forest)是非
阅读全文
摘要:前言 LightGBM,2017年由微软提出,是GBDT模型的另一个进化版本,主要用于解决GBDT在海量数据中遇到的问题,以便更好更快的用于工业实践中。 从LightGBM名字我们可以看出其是轻量级(Light)的梯度提升机(GBM),LightGBM在xgboost的基础上进行了很多的优化,可以看
阅读全文
摘要:基础知识 最优化方法 梯度下降法(Gradient descend method) 在机器学习任务中,需要最小化损失函数$L(\theta)\(, 其中\)\theta$是要求解的模型参数。 梯度下降法常用来求解这种无约束最优化问题, 它是一种迭代方法:选取初值 \(\theta^0\),不断迭代,
阅读全文
摘要:前言 XGBoost的全称是eXtreme(极端) Gradient Boosting,是一个是大规模并行的 boosting tree开源工具包,由华盛顿大学的陈天奇博士提出,因其出众的效率与较高的预测准确度而引起了广泛的关注。 本文主要关注XGBoost的原理,以及其工具库的实际使用。 XGBo
阅读全文
摘要:概述 集成学习(ensemble learning),它本身不是一个单独的机器学习算法,而是通过构建并结合多个机器学习器来完成学习任务。 其工作原理是:对于训练集数据,我们先产生一组**“个体学习器”,再通过某种策略将它们结合起来得到最终输出,就可以最终形成一个强学习器**,以达到博采众长的目的。就
阅读全文
摘要:前言 K-Means算法是无监督的聚类算法,它实现起来比较简单,聚类效果也不错,因此应用很广泛。K-Means算法有大量的变体,本文就从最传统的K-Means算法讲起,在其基础上讲述K-Means的优化变体方法。包括初始化优化K-Means++, 距离计算优化elkan K-Means算法和大数据情
阅读全文
摘要:假设变量$x_t$随时间$t$变化,按照以下规则定义其指数移动平均值: 假设$α$(衰减因子)=0.7 当$t=1$时,\(x_1=5\),则 \(ema^{(1)}=x_1=5\) 当$t=2$时,\(x_2=10\),则 \(ema^{(2)}=α*ema^{(1)}+(1-α)*x_2=0.7
阅读全文
摘要:概述 逐层归一化(Layer-wise Normalization)是将传统机器学习中的数据归一化方法应用到深度神经网络中,对神经网络中隐藏层的输入进行归一化, 从而使得网络更容易训练. 注:这里的逐层归一化方法是指可以应用在深度神经网络中的任何一个中间层. 实际上并不需要对所有层进行归一化。 逐层
阅读全文
摘要:背景及为什么需要归一化预处理? 一般而言,样本特征由于来源以及度量单位不同,它们的**尺度(Scale)(即取值范围)**往往差异很大.以描述长度的特征为例,当用“米”作单位时令其值为$𝑥$,那么当用“厘米”作单位时其值为$100𝑥$. 不同机器学习模型对数据特征尺度的敏感程度不一样 .如果一个
阅读全文
摘要:概述 在机器学习领域,LDA是两个常用模型的简称:Linear Discriminant Analysis 和 Latent Dirichlet Allocation。本文中的LDA仅指代Latent Dirichlet Allocation. LDA在主题模型中占有非常重要的地位,常用来文本分类。
阅读全文
摘要:最大似然估计 机器学习任务可以分为两类: 一类是样本的特征向量 $𝒙$ 和标签 $𝑦$ 之间存在未知的函数关系 $𝑦 = ℎ(𝒙)$, 另一类是条件概率 $𝑝(𝑦|𝒙)$ 服从某个未知分布. 第2.3.1.1节中介绍的最小二乘法是属于第一类, 直接建模 $𝒙$ 和标签 $𝑦$ 之间
阅读全文
摘要:LSTM 长短期记忆网络(Long Short-Term Memory Network,LSTM[Gers et al.,2000; Hochreiter et al., 1997]是循环神经网络的一个变体,可以有效地解决简单循环神经网络的梯度爆炸或消失问题. LSTM网络主要改进在以下两个方面:
阅读全文
摘要:机器学习模型的关键是泛化问题,即在样本真实分布上的期望风险最小化.而训练数据集上的经验风险最小化和期望风险**并不一致. 由于神经网络的拟合能力非常强,其在训练数据上的错误率往往都可以降到非常低,甚至可以到0,从而导致过拟合.因此,如何提高神经网络的泛化能力反而成为影响模型能力的最关键因素. 正则化
阅读全文
摘要:总结一下PCA的算法步骤: 设有m条n维数据。 1)将原始数据按列组成n行m列矩阵X 2)将X的每一行(代表一个属性字段)进行零均值化,即减去这一行的均值 3)求出协方差矩阵(个人:由这里的X在矩阵运算的左边,而协方差矩阵的维数是dim*dim,我们可以反推出数据矩阵X的维度即样本在X中应该如何放置
阅读全文
摘要:假设,$Z_i$表示来自某概率分布的N次独立采样。那么,根据大数定律,只要期望$E[Z]$有限,则下式成立: $(Z_1+Z_2+Z_3+...+Z_N)/N$-->E[Z],N->$+\infty$ 用文字表述,即来自同一分布的一组随机变量,其均值收敛于该分布的期望。
阅读全文
摘要:判别模型 判别模型由数据直接学习决策函数或者条件概率分布作为预测的模型。它关心的是对给定的输入X,应该预测什么样的输出Y。典型的判别模型包括:K近邻法、感知机、决策树、逻辑斯谛回归、最大熵模型、支持向量机、提升方法、条件随机场。 判别方法的特点: 直接学习的是条件概率,直接面对预测,往往学习的准确率
阅读全文
摘要:在机器学习中, 有一些非常有名的理论或定理, 对理解机器学习的内在特性非常有帮助. PAC学习理论 当使用机器学习方法来解决某个特定问题时,通常靠经验或者多次试验来选择合适的模型、训练样本数量以及学习算法收敛的速度等.但是经验判断或多次试验往往成本比较高,也不太可靠,因此希望有一套理论能够分析问题难
阅读全文
摘要:题目描述 要求返回一个m x n的vector<vector>数组,数组中的元素为0至m x n -1,要求沿着斜线排列,如下所示: [0 1 5 6 ] [2 4 7 10] [3 8 9 11] 思路 思路和打印之字形字符串类似,一次打印一条线,打印具有周期性.向右上方打印时,可以总结出下一个点
阅读全文
摘要:题目描述 Given an integer n, generate a square matrix filled with elements from 1 to n^2 in spiral order.//按螺旋顺序排列 For example,Given n =3, You should retu
阅读全文
摘要:题目描述 Given a matrix of m x n elements (m rows, n columns), return all elements of the matrix in spiral order. For example, Given the following matrix:
阅读全文
摘要:题目描述 在一个由 0 和 1 组成的二维矩阵内,找到只包含 1 的最大正方形,并返回其面积。 示例: 输入: 1 0 1 0 0 1 0 1 1 1 1 1 1 1 1 1 0 0 1 0 输出: 4 思路 动态规划,时间复杂度为O(n^2) dp[i][j]表示以点(i, j)为右下角的正方形的
阅读全文
摘要:题目描述 Given a m x n matrix, if an element is 0, set its entire row and column to 0.Do it in place. click to show follow up. Follow up: Did you use extr
阅读全文
摘要:题目描述 You are given an n x n 2D matrix representing an image.Rotate the image by 90 degrees (clockwise顺时针方向). Follow up: Could you do this in-place? 方法
阅读全文
摘要:题目描述 Given a string s1, we may represent it as a binary tree by partitioning it to two non-empty substrings recursively.Below is one possible represen
阅读全文
摘要:题目描述 给定三个字符串 s1, s2, s3, 验证 s3 是否是由 s1 和 s2 交错组成的。 示例 1: 输入: s1 = "aabcc", s2 = "dbbca", s3 = "aadbbcbcac" 输出: true 示例 2: 输入: s1 = "aabcc", s2 = "dbbc
阅读全文
摘要:题目描述 给定一个字符串 S 和一个字符串 T,计算在 S 的子序列中 T 出现的个数。一个字符串的一个子序列是指,通过删除一些(也可以不删除)字符且不干扰剩余字符相对位置所组成的新字符串。(例如,"ACE" 是 "ABCDE" 的一个子序列,而 "AEC" 不是) 示例 1: 输入: S = "r
阅读全文
摘要:题目描述 给定两个单词 word1 和 word2,计算出将 word1 转换成 word2 所使用的最少操作数 。 你可以对一个单词进行如下三种操作: 插入一个字符 删除一个字符 替换一个字符 示例 1: 输入: word1 = "horse", word2 = "ros" 输出: 3 解释: h
阅读全文
摘要:题目描述 Implement wildcard(通配符) pattern matching with support for**?and*(Linux命令行*.txt,通配符)。?** Matches any single character.(这里应该是非空字符)*****Matches any
阅读全文
摘要:题目描述 Implement regular expression matching with support for**.and*。.** Matches any single character(这里的正则表达式**.应该匹配任何非空的单个字符)。*** Matches zero or more
阅读全文
摘要:题目描述 给定一个无重复元素的有序整数数组,返回数组区间范围的汇总。 示例 1: 输入: [0,1,2,4,5,7] 输出: ["0->2","4->5","7"] 解释: 0,1,2 可组成一个连续的区间; 4,5 可组成一个连续的区间。 示例 2: 输入: [0,2,3,4,6,8,9] 输出:
阅读全文
摘要:题目描述 给出一个无重叠的 ,按照区间起始端点排序的区间列表。在列表中插入一个新的区间,你需要确保列表中的区间仍然有序且不重叠(如果有必要的话,可以合并区间)。 示例 1: 输入: intervals = [[1,3],[6,9]], newInterval = [2,5] 输出: [[1,5],[
阅读全文
摘要:题目描述 Given a collection of intervals, merge all overlapping intervals.For example, Given[1,3],[2,6],[8,10],[15,18], return[1,6],[8,10],[15,18]. /** *
阅读全文
摘要:题目描述 Given an unsorted integer array, find the first missing positive integer.For example, Given[1,2,0] return 3,and [3,4,-1,1] return 2. Your algorit
阅读全文
摘要:题目描述 给定一个包含 n + 1 个整数的数组 nums,其数字都在 1 到 n 之间(包括 1 和 n),可知至少存在一个重复的整数。假设只有一个重复的整数,找出这个重复的数。 示例 1: 输入: [1,3,4,2,2] 输出: 2 示例 2: 输入: [3,1,3,4,2] 输出: 3 说明:
阅读全文
摘要:题目描述 Say you have an array for which the ith element is the price of a given stock on day i.Design an algorithm to find the maximum profit. You may co
阅读全文
摘要:题目描述 Say you have an array for which the ith element is the price of a given stock on day i.Design an algorithm to find the maximum profit. You may co
阅读全文
摘要:题目描述 Say you have an array for which the ith element is the price of a given stock on day i.If you were only permitted to complete at most one transac
阅读全文
摘要:题目描述 给定一个整数数组 nums ,找出一个序列中乘积最大的连续子序列(该序列至少包含一个数)。 示例 1: 输入: [2,3,-2,4] 输出: 6 解释: 子数组 [2,3] 有最大乘积 6。 示例 2: 输入: [-2,0,-1] 输出: 0 解释: 结果不能为 2, 因为 [-2,-1]
阅读全文
摘要:题目描述 Find the contiguous subarray within an array (containing at least one number) which has the largest sum.For example, given the array[−2,1,−3,4,−1
阅读全文
摘要:题目描述 给定一个未排序的整数数组,找出最长连续序列的长度。要求算法的时间复杂度为 O(n)。 示例: 输入: [100, 4, 200, 1, 3, 2] 输出: 4 解释: 最长连续序列是 [1, 2, 3, 4]。它的长度为 4。 代码实现 class Solution { public: i
阅读全文
摘要:题目描述 Given a linked list, return the node where the cycle begins. If there is no cycle, return null. Follow up: Can you solve it without using extra s
阅读全文
摘要:题目描述 Given a linked list, determine if it has a cycle in it.Follow up: Can you solve it without using extra space? /** * Definition for singly-linked
阅读全文
摘要:题目描述 The count-and-say sequence is the sequence of integers beginning as follows: 1, 11, 21, 1211, 111221, ... 1 is read off as"one 1"or 11. 11 is rea
阅读全文
摘要:题目描述 给你一个链表,每 k 个节点一组进行翻转,请你返回翻转后的链表。k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序。 示例 : 给定这个链表:1->2->3->4->5 当 k = 2 时,应当返回: 2->1->4->3->5
阅读全文
摘要:题目描述 Given a linked list, swap every two adjacent nodes and return its head. For example, Given 1->2->3->4, you should return the list as 2->1->4->3.
阅读全文
摘要:题目描述 Reverse a linked list from position m to n. Do it in-place and in one-pass. For example: Given 1->2->3->4->5->NULL, m = 2 and n = 4, return 1->4-
阅读全文
摘要:题目描述 Given a linked list and a value x, partition it such that all nodes less than x come before nodes greater than or equal to x.You should preserve
阅读全文
摘要:题目描述 给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。 示例 1: 输入: [1,2,3,4,5,6,7] 和 k = 3 输出: [5,6,7,1,2,3,4] 解释: 向右旋转 1 步: [7,1,2,3,4,5,6] 向右旋转 2 步: [6,7,1,2,3,4,5]
阅读全文
摘要:题目描述 Implementint sqrt(int x).Compute and return the square root of x. 代码实现 根据实例,模拟最后违反循环条件时发生的情况,决定如何返回. class Solution { public: int mySqrt(int x) {
阅读全文
摘要:题目描述 Implement pow(x, n). 思路 暴力方法时间复杂度为O(n),所以我们要想办法降低复杂度,运用二分的技巧,减少不必要的计算,设法降低递归调用的次数. 代码实现 class Solution { public: double myPow(double x, int n) {
阅读全文
摘要:题目描述 给定不同面额的硬币和一个总金额。写出函数来计算可以凑成总金额的硬币组合数。假设每一种面额的硬币有无限个。 示例 1: 输入: amount = 5, coins = [1, 2, 5] 输出: 4 解释: 有四种方式可以凑成总金额: 5=5 5=2+2+1 5=2+1+1+1 5=1+1+
阅读全文
摘要:题目描述 给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。 示例 1: 输入: coins = [1, 2, 5], amount = 11 输出: 3 解释: 11 = 5 + 5
阅读全文
摘要:题目描述 以 Unix 风格给出一个文件的绝对路径,你需要简化它。或者换句话说,将其转换为规范路径。在 Unix 风格的文件系统中,一个点(.)表示当前目录本身;此外,两个点 (..) 表示将目录切换到上一级(指向父目录);两者都可以是复杂相对路径的组成部分。更多信息请参阅:Linux / Unix
阅读全文
摘要:题目描述 编写一个算法来判断一个数是不是“快乐数”。 一个“快乐数”定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直到这个数变为 1,也可能是无限循环但始终变不到 1。如果可以变为 1,那么这个数就是快乐数。 示例: 输入: 19 输出: true 解释: 1
阅读全文
摘要:题目描述 Given a string containing only digits, restore(恢复) it by returning all possible valid IP address combinations. For example: Given "25525511135",r
阅读全文
摘要:题目描述 给定一个二维的矩阵,包含 'X' 和 'O'(字母 O)。找到所有被 'X' 围绕的区域,并将这些区域里所有的 'O' 用 'X' 填充。 示例: X X X X X O O X X X O X X O X X 运行你的函数后,矩阵变为: X X X X X X X X X X X X X
阅读全文
摘要:题目描述 给定一个二维网格和一个单词,找出该单词是否存在于网格中。单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。 示例: board = [ ['A','B','C','E'], ['S','F','C'
阅读全文
摘要:题目描述 A message containing letters from A-Z is being encoded to numbers using the following mapping: A → 1 B → 2 ... Z → 26 Given an encoded message co
阅读全文
摘要:题目描述 Given a triangle, find the minimum path sum from top to bottom.Each step you may move to adjacent numbers on the row below. For example, given th
阅读全文
摘要:题目描述 Given an index k, return the kth row of the Pascals triangle. For example, given k = 3, Return[1,3,3,1]. [ [1], [1,1], [1,2,1], [1,3,3,1], [1,4,6
阅读全文
摘要:题目描述 Given numRows, generate the first numRows of Pascal s triangle. For example, given numRows = 5, Return [ [1], [1,1], [1,2,1], [1,3,3,1], [1,4,6,4
阅读全文
摘要:题目描述 Given a m x n grid filled with non-negative numbers, find a path from top left to bottom right which minimizes the sum of all numbers along its p
阅读全文
摘要:题目描述 Follow up for "Unique Paths": Now consider if some obstacles are added to the grids. How many unique paths would there be?An obstacle and empty s
阅读全文
摘要:题目描述 A robot is located at the top-left corner of a m x n grid (marked 'Start' in the diagram below). The robot can only move either down or right at
阅读全文
摘要:相同点 都是C++的字符处理函数,把数字字符串转换成int输出 头文件都是#include<cstring> 不同点 atoi()的参数是const char*,因此对于一个字符串str我们必须调用c_str()的方法把这个string转换成const char*类型的,而stoi()的参数是con
阅读全文
摘要:方法1 在C标准库里面,使用atoi(表示 ascii to integer)是把字符串转换成整型数的一个函数int atoi(const char *nptr) 方法2 在C++标准库里面,使用stringstream:(stringstream可以用于各种数据类型之间的转换)。 例子: #inc
阅读全文