自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 nahwQ2

2022-01-27 05:19:27 330

原创 Python办公自动化 task4

python提取PDF文字内容1)利用pdfplumber提取文字import PyPDF2import pdfplumber with pdfplumber.open("XXXXX.pdf") as p: page = p.pages[2] print(page.extract_text())2)利用pdfplumber提取表格并写入excelextract_table():如果一页有一个表格;extract_tables():如果一页有多个表格;import Py.

2021-06-24 00:06:15 246

原创 python自动化办公task3

from docx import Document # 源文件目录self.word_path = './output.docx' # 打开文档,构建一个文档对象self.doc = Document(self.word_path)通过章节对象的 left_margin、top_margin、right_margin、bottom_margin 属性值可以获取当前章节的左边距、上边距、右边距、下边距def get_page_margin(p): """ 获取某个页面的页边距

2021-06-20 23:28:35 133

原创 Python办公自动化task2

一个 Excel 电子表格文档称为一个工作簿。一个工作簿保存在扩展名为.xlsx 的文件中。每个工作簿可以包含多个表(也称为工作表)。用户当前查看的表(或关闭 Excel 前最后查看的表),称为活动表。每个表都有一些列(地址是从 A 开始的字母)和一些行(地址是从 1 开始的数字)。在特定行和列的方格称为单元格。每个单元格都包含一个数字或文本值。单元格形成的网格和数据构成了表。import openpyxlimport os//更改目录需要导入os模块os.getcwd()#修改目录要加r

2021-06-19 00:06:32 146

原创 python自动化办公-task1

文件自动化处理&邮件批量处理1.文件自动化处理1.1读写文件将文件内容理解为一个字符串值,大小可能有几个GB。本节将学习,如何使用python在硬盘上创建、读取和保存文件。1.2绝对路径和相对路径“绝对路径”,总是从根文件夹开始。“相对路径”,相对于程序的当前工作目录。相对路径中,单个句点“.”表示当前目录的缩写,两个句点“…”表示父文件夹。2. 批量处理邮件批量进行邮件附件的转移,显示运行时间import keyringfrom imbox import Imboximpo

2021-06-17 00:36:04 146

原创 集成学习task11 XGBoost算法分析与案例调参实例

XGBoost算法XGBoost成功的最重要因素就是它在任何场景下的可扩展性。XGBoost系统在单台机器上的运行速度比现有流行的解决方案快10倍以上,并可在分布式或内存限制设置中扩展到数十亿个示例。XGBoost的可扩展性是由于在它的系统实现中的一些创新,包括:为处理稀疏数据使用了一个新颖的树学习算法;理论上合理的加权分位数草图过程,使得能够在近似树学习中处理实例权重;平行和分布式计算使得学习更快,从而能够更快的进行模型探索;最重要的是XGBoost使用核外计算并且能够让数据科学家在台式机上处.

2021-04-27 00:55:28 497

转载 集成学习 task10 前向分步算法与梯度提升决策树

前向分步算法回看Adaboost的算法内容,我们需要通过计算M个基本分类器,每个分类器的错误率、样本权重以及模型权重。我们可以认为:Adaboost每次学习单一分类器以及单一分类器的参数(权重)。接下来,我们抽象出Adaboost算法的整体框架逻辑,构建集成学习的一个非常重要的框架----前向分步算法,有了这个框架,我们不仅可以解决分类问题,也可以解决回归问题。(1) 加法模型:在Adaboost模型中,我们把每个基本分类器合成一个复杂分类器的方法是每个基本分类器的加权和,即: ????(????

2021-04-23 23:41:05 148

转载 集成学习task9

Boosting1. 导论Bagging思想的实质是:通过Bootstrap 的方式对全样本数据集进行抽样得到抽样子集,对不同的子集使用同一种基本模型进行拟合, 然后投票得出最终的预测。我们也从前面的探讨知道:Bagging主要通过降低方差的方式减少预测误差。那么,本章介绍的Boosting是与 Bagging截然不同的思想,Boosting方法是使用同一组数据集进行反复学习,得到一系列简单模型,然后组合这些模型构成一个预测性能十 分强大的机器学习模型。显然,Boosting思想提高最终的预测效果是通过

2021-04-21 00:56:06 255

原创 集成学习task8

Bagging算法 (英语:Bootstrap aggregating,引导聚集算法),又称装袋算法,是一种重要的集成学习方法。可用于分类、回归。工作机理通过多次多轮的sampling with replacement,构建多个分类器或回归,最终的预测结果为样本在这多个学习器上的结果平均值(投票少数服从多数)思路与投票法不同的是,Bagging不仅仅集成模型最后的预测结果,同时采用一定策略来影响基模型训练,保证基模型可以服从一定的假设。在上一章中我们提到,希望各个模型之间具有较大的差异性,而在实际

2021-04-17 23:06:17 78

转载 集成学习 Task 7

在所有集成学习方法中,最直观的是多数投票。因为其目的是输出基础学习者的预测中最受欢迎(或最受欢迎)的预测。多数投票是最简单的集成学习技术,它允许多个基本学习器的预测相结合。与选举的工作方式类似,该算法假定每个基础学习器都是投票者,每个类别都是竞争者。为了选出竞争者为获胜者,该算法会考虑投票**。将多种预测与投票结合起来的主要方法有两种:一种是硬投票,另一种是软投票。**投票法的思路投票法是集成学习中常用的技巧,可以帮助我们提高模型的泛化能力,减少模型的错误率。举个例子,在航空航天领域,每个零件发...

2021-04-15 00:22:14 114

原创 集成学习 task6

6.1.1 GridSearchCV• sklearn.svc() 的参数• C: float参数 默认值为1.0,惩罚系数• kernel: str参数 默认为‘rbf’• linear:线性核函数• poly:多项式核函数• rbf:径像核函数/高斯核• sigmod:sigmod核函数• degree: int型参数 默认为3,只对poly多项式生效• gamma: float参数 默认为auto,对rbf,poly,sigmod有效• coef0: float参数 默认为0.0,

2021-03-29 23:03:30 93

原创 集成学习 task5

CH2 2.2 123

2021-03-27 19:54:20 84

转载 区块链task4

Task4 合约编写实战实例一、简单代币合约pragma solidity > 0.4.22;contract Coin{ //这里我们定义了一个address 作为key, uint做为value的hashTable balances; 我们还定义了一个address的变量minter; address public minter; mapping(address=>uint) balances; event Sent(address from, add

2021-03-27 17:40:51 1086

原创 集成学习 task4

(5) 对模型超参数进行调优(调参):岭回归简单回顾:之前的部分,似乎对模型的优化都是对模型算法本身的改进,比如:岭回归对线性回归的优化在于在线性回归的损失函数中加入L2正则化项从而牺牲无偏性降低方差。但是,大家是否想过这样的问题:在L2正则化中参数 ???? 应该选择多少?是0.01、0.1、还是1?到目前为止,我们只能凭经验或者瞎猜,能不能找到一种方法找到最优的参数 ???? ?事实上,找到最佳参数的问题本质上属于最优化的内容,因为从一个参数集合中找到最佳的值本身就是最优化的任务之一,我们脑海中

2021-03-24 15:35:02 152

转载 区块链blockchain Task 3

一、以太坊客户端1.1、什么是以太坊客户端以太坊客户端是一个软件应用程序,它实现以太坊规范并通过p2p网络与其他以太坊客户端进行通信。如果不同的以太坊客户端符合参考规范和标准化通信协议,则可以进行相互操作。以太坊是一个开源项目,由“黄皮书”正式规范定义。除了各种以太坊改进提案之外,此正式规范还定义了以太坊客户端的标准行为。因为以太坊有明确的正式规范,以太网客户端有了许多独立开发的软件实现,它们之间又可以彼此交互。1.2、基于以太坊规范的网络存在各种基于以太坊规范的网络,这些网络基本符合以太坊“黄

2021-03-23 23:48:38 174

原创 集成学习Task3

我们的模型不能预测任意情况!建立机器学习的目的并不是为了在已有的数据集,也就是训练集上效果表现非常优异,我们希望建立的机器学习模型在未知且情况复杂的测试数据上表现优异,我们称这样的未出现在训练集的未知数据集成为测试数据集,简称测试集。我们希望模型在测试集上表现优异!因为假如我们根据股票市场前六个月的数据拟合一个预测模型,我们的目的不是为了预测以前这六个月越准越好,而是预测明天乃至未来的股价变化。...

2021-03-22 23:57:23 103

转载 Blockchain Task2

Solidity 入门教学1、 简介1.1 Solidity是什么Solidity 是一门面向合约的、为实现智能合约而创建的高级编程语言。这门语言受到了 C++,Python 和 Javascript 语言的影响,设计的目的是能在以太坊虚拟机(EVM)上运行。Solidity 是静态类型语言,支持继承、库和复杂的用户定义类型等特性。内含的类型除了常见编程语言中的标准类型,还包括 address等以太坊独有的类型,Solidity 源码文件通常以 .sol 作为扩展名目前尝试 Solidity 编

2021-03-21 00:21:04 195

转载 集成学习 task2

2. 使用sklearn构建完整的机器学习项目流程一般来说,一个完整的机器学习项目分为以下步骤:明确项目任务:回归/分类收集数据集并选择合适的特征。选择度量模型性能的指标。选择具体的模型并进行训练以优化模型。评估模型的性能并调参。2.1 使用sklearn构建完整的回归项目(1) 收集数据集并选择合适的特征:在数据集上我们使用我们比较熟悉的Boston房价数据集,原因是:**第一个,**我们通过这些简单的数据集快速让我们上手sklearn,以及掌握sklearn的相关操作。**第二个,

2021-03-19 00:03:53 109

转载 Blockchain Task1

一、区块链简介1.1、区块链与区块链技术区块链是将记录(区块)通过密码学串联并加密的链式数据结构。区块链技术,是通过P2P网络和区块链来实现数据存储的去中心化、不可逆和不可篡改。区块链应用是指利用区块链技术开发的应用。1.2、区块链历史“区块链1.0”:2009年,中本聪创立了以区块链为底层技术的比特币网络,开发出了第一个区块,被称为“创世区块”“区块链2.0”:在比特币的基础上,诞生了带有智能合约的区块链系统,即允许开发者通过编写智能合约来实现特定的逻辑,主要代表是以太坊。“区块链3.0”

2021-03-18 00:10:28 131

原创 集成学习(上)task1

1.什么是机器学习?下面摘抄上学期机器学习slides里的几个定义,上学期的机器学习课学的东西又还给老师了,希望通过这次组队学习复习+学习~Arthur Samuel (1959): Machine learning is a “field of study that gives computers the ability to learn without being explicitly programmed”.Machine learning is the science of getting m

2021-03-15 23:52:23 211 2

原创 时间序列task2

docker看起来好复杂,还是不会用,有点拒绝学习一个新东西。。。看了B站上的赛题个baseline讲解但是不能一直逃避丫!https://www.bilibili.com/video/BV1yU4y1W726?from=search&seid=5449987799364533057

2021-02-26 00:29:18 69

原创 时间序列task1

今天下午花了好多时间配置docker,在Ubuntu上试了好几次都失败了,最后还是选择了windows。界面如下,剩下的明天再搞啦~

2021-02-22 00:03:52 96

原创 leetcode 第344、557题 Python

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

2021-01-29 19:04:51 105

原创 leetcode 第237、238、292题 Python

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

2021-01-28 23:58:54 303

原创 Leetcode 第231、235、236题 Python

2的幂给定一个整数,编写一个函数来判断它是否是 2 的幂次方。在这里插入代码片二叉搜索树的最近公共祖先在这里插入代码片二叉树的最近公共祖先

2021-01-28 00:04:29 172

原创 leetcode 第215、217、230题 Python

数组中的第K个最大元素在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。class Solution: def findKthLargest(self, nums: List[int], k: int) -> int: """ :type nums: List[int] :type k: int :rtype: int """ .

2021-01-27 00:22:57 125

原创 leectode 第160、169、206题 Python

相交链表编写一个程序,找到两个单链表相交的起始节点。class Solution(object): def getIntersectionNode(self, headA, headB): """ :type head1, head1: ListNode :rtype: ListNode """ lenA, lenB = 0, 0 pA = headA pB = headB .

2021-01-26 00:31:06 95

原创 leetcode 第146、148、155题 Python

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

2021-01-23 23:17:24 236 2

原创 leetcode 第136、141、142题 Python

只出现一次的数字给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。class Solution: def singleNumber(self, nums: List[int]) -> int: s = {} for i in nums: if i in s.keys(): s.pop(i) else: .

2021-01-23 00:33:57 106

原创 leetcode 第121、122、124题 Python

买卖股票的最佳时机思路:在价格最低的时候买入,差价最大的时候卖出class Solution: def maxProfit(self, prices: List[int]) -> int: """ :type prices: List[int] :rtype: int """ if len(prices) < 2: return 0 profit = 0 .

2021-01-21 20:44:10 133

原创 leetcode 第88、89、104题 Python

合并两个有序数组给你两个有序整数数组 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) -> .

2021-01-20 23:00:57 108

原创 leetcode 第62、70、78题 Python

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

2021-01-19 22:29:06 101

原创 leetcode 第54、59、61题 Python

54. 螺旋矩阵给定一个包含 m x n 个元素的矩阵(m 行, n 列),请按照顺时针螺旋顺序,返回矩阵中的所有元素。思路1:设置四种case,观察到第一种case是行不变列一直在变,第二种case的列数不变行数变,以此类推。并且可以发现规律,第一次遍历的个数等于列数,第二次遍历的个数等于行数减一,第三次等于列数减一,第四次等于行数再减一。。。case表明是哪一种情况,0对应向右, 1对应向下,2 对应向左,3对应向上ri, ci 表示我们当前遍历的点的位置坐标。row, col, 用来代表这

2021-01-18 21:32:18 143

原创 leetcode 第43、46、53题 Python

字符串相乘给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。思路:模拟了小学数学的列竖式class Solution: def multiply(self, num1: str, num2: str) -> str: ''' num1的第i位(高位从0开始)和num2的第j位相乘的结果在乘积中的位置是[i+j, i+j+1] 例: 123 * 45, 12.

2021-01-17 23:13:32 105

原创 leetcode 第23、26、33题 Python

23. 合并K个升序链表给你一个链表数组,每个链表都已经按升序排列。请你将所有链表合并到一个升序链表中,返回合并后的链表。class Solution: def mergeKLists(self, lists: List[ListNode]) -> ListNode: if not lists:return n = len(lists) output = self.merge(lists, 0, n-1) return o

2021-01-17 00:47:34 105

原创 leetcode 第16、20、21题 Python

16. 最接近的三数之和给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。思路:首先想到的是通过对撞指针的方法来解这个问题。先要对nums排序,接着建立l和r两个指针,然后遍历nums要将l=i+1、r=len(nums)-1这样初始化,希望在[l:r]中进行寻找操作。计算sum=nums[i]+nums[l]+nums[r]和target的差是多少,并且要记录下来

2021-01-14 23:49:32 117

原创 leetcode 第11、14、15题 Python

盛最多水的容器给你 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0) 。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器思路:设置左右两个指针left 和 right,盛水容量由矮的高度决定,每次移动矮的高度class Solution(object): def maxArea(self, height): "".

2021-01-14 01:04:01 190

原创 pandas:综合练习

【任务四】显卡日志下面给出了3090显卡的性能测评日志结果,每一条日志有如下结构:Benchmarking #2# #4# precision type #1##1# model average #2# time : #3# ms其中#1#代表的是模型名称,#2#的值为train(ing)或inference,表示训练状态或推断状态,#3#表示耗时,#4#表示精度,其中包含了float, half, double三种类型,下面是一个具体的例子:Benchmarking Inference fl

2021-01-13 23:39:44 178

原创 leetcode第7、8、9题 Python

7. 整数反转给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。**注意:**假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。思路:进行反转,需要先将数字转换成字符串。在这一步之前还要判断数字是否为负。如果为负,则保留负号,反转剩下的位数。如果为正,直接进行反转。还要考虑“注意”里的内容,判断反转后的数字的范围。class Solution: def revers

2021-01-13 00:44:09 82

原创 leetcode 2、4、5 Python

2. 两数相加给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/add-two-numbers著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。示例1:输入:l1 = [2,4,3], l2 =

2021-01-12 00:58:58 117

空空如也

空空如也

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

TA关注的人

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