自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 收藏
  • 关注

原创 天池leetcode编程task1

leetcode移除元素、删除有序数组中的重复项、三数之和

2022-02-14 21:47:47 625

转载 数据挖掘——异常检测task5:高维数据异常检测

异常检测——高维数据异常检测主要内容:Feature Bagging(集成方法:选择基检测器->分数标准化和组合方法)孤岛森林(集成方法:非参数无监督算法)1、引言维度诅咒难题:随着维度的增加,数据空间的大小(体积)会以指数级别增长,使数据变得稀疏。高维空间异常检测,给距离的计算和聚类带来困难,例如基于邻近度的方法是在所有维度使用距离函数来定义局部性,但此时所有点对的距离几乎都是相等的(距离集中),使得基于距离的方法失效。高维空间——子空间方法集成是子空间思想中常用的方法之一,可以

2021-05-23 20:05:35 352

转载 数据挖掘——异常检测task4:基于相似度的方法

异常检测——基于相似度的方法主要内容:基于距离的度量(基于单元、基于索引)基于密度的度量(k-距离、k-邻域、可达距离、局部可达密度、局部异常因子)1、概述基于相似度的方法的主要思想:异常点的表示与正常点不同实际上,数据通常嵌入在大量的噪声中,而我们所说的“异常值”通常指具有特定业务意义的那一类特殊的异常值。噪声可以视作特性较弱的异常值,没有被分析的价值。噪声和异常之间、正常数据和噪声之间的边界都是模糊的。异常值通常具有更高的离群程度分数值,同时也更具有可解释性。在普通的数据处理中,我们常

2021-05-20 21:36:42 187

转载 数据挖掘——异常检测task3:线性模型

异常检测——线性模型主要研究内容:线性回归、主成分分析1、引言参数化的相关性分析——回归建模:真实数据集中不同维度的数据通常具有高度的相关性,因为不同的属性往往是由相同的基础过程以密切相关的方式产生的。一类相关性分析试图通过其他变量预测单独的属性值——线性回归另一类方法用一些潜在变量来代表整个数——主成分分析假设:假设一:近似线性相关假设。线性相关假设是使用两种模型进行异常检测的重要理论基础。假设二:子空间假设。子空间假设认为数据是镶嵌在低维子空间中的,线性方法的目的

2021-05-17 23:25:00 353

转载 数据挖掘——异常检测task2:基于统计学的方法

异常检测——基于统计学的方法主要内容:高斯分布、箱线图、HBOS1、概述1.1、基于统计学方法的一般思想:学习一个拟合给定数据集的生成模型,然后识别该模型低概率区域中的对象,把他们作为异常点1.2、基于统计学方法的主要类型:参数方法和非参数方法参数方法:非参数方法:2、参数方法2.1、基于正态分布的一元异常点检测原始数据->正态分布参数->概率密度函数->阈值->异常点# 构造数据import numpy as npdata1 = np.ran

2021-05-14 17:15:15 303

原创 数据挖掘——异常检测task1:异常检测介绍

1、异常检测概述·异常检测:识别与正常数据不同的数据,与预期行为差异大的数据·异常类别:a)点异常:指少数个体实例是异常的,大多数个体实例是正常的b)条件异常:又称上下文异常,指在特定情况下个体实例是异常的,在其他情况下都是正常的c)群体异常:指在群体集合中的个体实例出现异常的情况,而该个体实例自身可能不是异常,在入侵或欺诈检测等应用中,离群点对应于多个数据点的序列,而不是单个数据点·异常检测任务分类:a)有监督:训练集的正例和反例均有标签b)无监督:训练集无标签c)半监督:在训练集中只有

2021-05-11 10:31:22 487

转载 天池数据挖掘比赛-心跳信号分类05-模型融合

模型融合1、简单加权融合:回归(分类概率):算数平均融合、几何平均融合分类:投票综合:排序融合、log融合2、stacking/blending:构建多层模型,并利用预测结果再拟合预测3、boosting/bagging:多树的提升方法一、回归\分类概率-融合:1、简单加权平均,结果直接融合import numpy as npimport pandas as pdfrom sklearn import metrics# 生成一些简单的样本数据,test_prei代表

2021-03-28 21:56:52 256

原创 天池数据挖掘比赛-心跳信号分类04-建模调参

建模与调参1、模型:逻辑回归模型、树模型、集成模型2、模型对比与性能评估3、模型调参:贪心调参、网格调参、贝叶斯调参集成模型包括:基于bagging思想的集成模型:随机森林模型基于boosting思想的集成模型:XGBoost模型、LightGBM模型、CatBoost模型二、模型对比与性能评估逻辑回归:优点:训练速度较快,分类的时候,计算量仅仅只和特征的数目相关;简单易理解,模型的可解释性非常好,从特征的权重可以看到不同的特征对最后结果的影响;适合二分类问题,不需要缩放输入特征;内存资源

2021-03-25 21:32:12 545

原创 天池数据挖掘比赛-心跳信号分类03-特征工程

特征工程学习目标学习时间序列数据的特征预处理方法学习时间序列特征处理工具Tsfresh(TimeSeries Fresh)的使用数据预处理时间序列数据格式处理、加入时间步特征time特征工程时间序列特征构造、特征筛选、使用tsfresh进行时间序列特征处理# 库函数导入import warningswarnings.filterwarnings('ignore')import numpy as npimport pandas as pdimport matplotlib.pyplo

2021-03-22 22:52:05 178

原创 天池数据挖掘比赛-心跳信号分类02-数据分析

数据分析import warningswarnings.filterwarnings('ignore')import missingno as msnoimport pandas as pdimport matplotlib.pyplot as pltimport seaborn as snsimport numpy as nptrain_data = pd.read_csv('train.csv')test_data = pd.read_csv('testA.csv')所有特征集均

2021-03-19 11:08:31 274 1

原创 天池数据挖掘比赛-心跳信号分类01-赛题理解及baseline学习

一、赛题理解赛题以预测心电图心跳信号类别为任务,其中每个样本的信号序列采样频次一致,长度相等,并抽取10万条作为训练集,2万条作为测试机A,2万条作为测试集B。字段表FieldDescriptionid为心跳信号分配的唯一标识heartbeat_signals心跳信号序列label心跳信号类别(0、1、2、3)模型的评测标准针对某一个信号,若真实值为[y1,y2,y3,y4],模型预测概率值为[a1,a2,a3,a4],那么该模型的平均指标abs-sum为

2021-03-16 21:48:27 823

原创 LeetCode腾讯精选练习50——第十七天

题目344:反转字符串编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。题解:class Solution: def reverseString(self, s: List[str]) -> None: """ Do not return anythi

2021-01-25 22:25:14 82

原创 LeetCode腾讯精选练习50——第十六天

题目237:删除链表中的节点请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点。传入函数的唯一参数为 要被删除的节点 。题解:class Solution: def deleteNode(self, node): """ :type node: ListNode :rtype: void Do not return anything, modify node in-place instead. """ #

2021-01-25 21:19:39 87

原创 LeetCode腾讯精选练习50——第十五天

题目231:2的幂给定一个整数,编写一个函数来判断它是否是 2 的幂次方。题解:class Solution: def isPowerOfTwo(self, n: int) -> bool: # 位运算 # return n>0 and not (n & (n-1)) return n>0 and ((1<<30)%n == 0) # 取对数 # return n>0 a

2021-01-25 19:53:23 86

原创 LeetCode腾讯精选练习50——第十四天

题目215:题目217:存在重复元素给定一个整数数组,判断是否存在重复元素。如果存在一值在数组中出现至少两次,函数返回 true 。如果数组中每个元素都不相同,则返回 false 。题解:class Solution: def containsDuplicate(self, nums: List[int]) -> bool: # nums_set = set(nums) # if len(nums) == len(nums_set):

2021-01-25 17:28:04 113

原创 LeetCode腾讯精选练习50——第十三天

题目160:相交链表编写一个程序,找到两个单链表相交的起始节点。题解:# Definition for singly-linked list.# class ListNode:# def __init__(self, x):# self.val = x# self.next = Noneclass Solution: def getIntersectionNode(self, headA: ListNode, headB: ListNode)

2021-01-24 20:58:43 84

原创 LeetCode腾讯精选练习50——第十二天

题目146:LRU缓存机制运用你所掌握的数据结构,设计和实现一个 LRU (最近最少使用) 缓存机制 。实现 LRUCache 类:LRUCache(int capacity) 以正整数作为容量 capacity 初始化 LRU 缓存int get(int key) 如果关键字 key 存在于缓存中,则返回关键字的值,否则返回 -1 。void put(int key, int value) 如果关键字已经存在,则变更其数据值;如果关键字不存在,则插入该组「关键字-值」。当缓存容量达到上限时,它

2021-01-23 20:54:30 120

原创 LeetCode腾讯精选练习50——第十一天

LeetCode腾讯精选练习50——第十一天题目136:只出现一次的数字给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?题解:def singleNumber(self, nums: List[int]) -> int: res = 0 for num in nums: res = res ^ num # 异或

2021-01-22 15:33:04 113

原创 LeetCode腾讯精选练习50——第十天

题目121:买卖股票的最佳时机给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票一次),设计一个算法来计算你所能获取的最大利润。注意:你不能在买入股票前卖出股票。题解:class Solution: def maxProfit(self, prices: List[int]) -> int: if len(prices) <= 1: return 0 min_

2021-01-21 21:19:12 122

原创 LeetCode腾讯精选练习50——第九天

题目88:合并两个有序数组给你两个有序整数数组 nums1 和 nums2,请你将 nums2 合并到 nums1 中,使 nums1 成为一个有序数组。初始化 nums1 和 nums2 的元素数量分别为 m 和 n 。你可以假设 nums1 有足够的空间(空间大小等于 m + n)来保存 nums2 中的元素。题解:class Solution: def merge(self, nums1: List[int], m: int, nums2: List[int], n: int) -&g

2021-01-20 17:19:38 81

原创 LeetCode腾讯精选练习50——第八天

题目62:不同路径一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。问总共有多少条不同的路径?题解:class Solution: def uniquePaths(self, m: int, n: int) -> int: from scipy.special import comb return int(com

2021-01-19 21:05:33 77

原创 LeetCode腾讯精选练习50——第七天

题目54:螺旋矩阵给定一个包含 m x n 个元素的矩阵(m 行, n 列),请按照顺时针螺旋顺序,返回矩阵中的所有元素。题解:class Solution: def spiralOrder(self, matrix: List[List[int]]) -> List[int]: # 取首行,去除首行后,对矩阵翻转来创建矩阵 # 再递归知道新矩阵为[],退出并将取到的数据返回 res = [] if matrix == []

2021-01-18 19:20:59 84

原创 LeetCode腾讯精选练习50——第六天

题目53:最大子序和给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。题解:class Solution: def maxSubArray(self, nums: List[int]) -> int: for i in range(1,len(nums)): nums[i] = nums[i] + max(nums[i-1],0) return max(nums)for循环中,

2021-01-17 21:44:20 125 2

原创 LeetCode腾讯精选练习50——第五天

题目26:删除排序数组中的重复项给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。题解:class Solution: def removeDuplicates(self, nums: List[int]) -> int: nums[:] = list(Counter(nums)) nums.sort()

2021-01-16 19:52:18 95

原创 LeetCode腾讯精选练习50——第四天

题目20:有效的括号给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。题解:class Solution: def isValid(self, s: str) -> bool: while '()' in s or '[]' in s or '{}' in s: s = s.repla

2021-01-14 23:11:54 87

原创 LeetCode腾讯精选练习50——第三天

题目11:盛最多水的容器给你 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0) 。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水题解:class Solution: def maxArea(self, height: List[int]) -> int: """ :type height: List[int]

2021-01-13 23:37:47 88

原创 LeetCode腾讯精选练习50——第二天

题目7:整数反转给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转题解:class Solution: def reverse(self, x: int) -> int: if x>0: a = str(x) else: a = str(-x)+'-' a = int(a[::-1]) if a>=-2**31 and a<=2**31-1

2021-01-12 22:03:57 100

原创 LeetCode腾讯精选练习50——第一天

题目4:给定两个大小为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的中位数题解:class Solution: def findMedianSortedArrays(self, nums1: List[int], nums2: List[int]) -> float: sum_list = [] for i in nums1: sum_list.append(i) fo

2021-01-11 17:00:12 102

空空如也

空空如也

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

TA关注的人

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