- 博客(20)
- 收藏
- 关注
原创 lettcode刷题日记4_21
1. 两数之和难度简单14204收藏分享切换为英文接收动态反馈给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。示例 1:输入:nums = [2,7,11,15], target = 9输出:[0,1]解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。示例
2022-04-21 16:38:54
203
1
原创 极大似然估计
极大似然估计极大似然数学推导总结参考内容极大似然数学推导抛硬币在掷硬币实验中估计出现正面向上的概率θ\thetaθ极大似然估计xi={1,正0,负其中xi服从二项分布B(1,θ)x_i = \left\{\begin{matrix}1,正\\0,负\end{matrix}\right. 其中x_i服从二项分布B(1,\theta)xi={1,正0,负其中xi服从二项分布B(1,θ)概率函数P(X=x)=θx(1−θ)(1−x)P(X=x)={\theta^x{(1-\thet
2021-04-24 15:22:51
420
原创 统计机器学习导论
统计机器学习导论1.知识树2.监督学习2.1.监督学习的实现步骤2.2.监督学习数学定义3.统计学习要素3.1.要素1:模型(假设空间)3.2.要素2:策略**3.3.算法4.模型评估与选择4.1.训练误差4.2.测试误差5.正则化与交叉验证5.1.正则化5.2.交叉验证6.泛化能力7.生成模型与判别模型8.统计学习三大问题8.1.分类问题导入1.知识树2.监督学习2.1.监督学习的实现步骤得到一个有限的训练数据集合确定模型的假设空间,也就是所有的备选模型确定模型选择的准则,即学习的策略
2021-04-24 10:55:00
424
原创 梯度提升树
梯度提升树基本概念提升(boosting):与AdaBoost类似,梯度提升也是逐步在继承中添加预测器,每一个都对其前序做出改正。不同之处在于,它不是像AdaBoost那样在每个迭代中调整实例权重,而是让新的预测器针对前一个预测期的残差进行拟合。提升树中每一棵树学的是之前所有树结论的残差,残差就是真实值和预测值得差值。如:A的真实年龄是18,第一棵树预测年龄是12岁,则残差值为6。接下来在第二颗树把A的年龄当成6岁去学习,如果第二颗树能把A分到6岁的叶子节点,那累加两棵树的结论就是A的真实年龄;如果
2021-03-21 00:46:10
399
原创 动态规划
动态规划1. 动态规划的定义一种数学优化的方法,同时也是编程的方法2.重要属性最优子结构Optimal Substructure状态转移方程f(n)f(n)f(n)重叠子问题Overlapping Sub-problems例:最长上升子序列求解from typing import Listdef length_subsquence(nums: List[int]) -> int: if not nums: return 0 n = l
2021-02-26 23:15:21
143
原创 DFS&BFS
DFS&BFS1.深度优先搜索DFS解决什么问题DFS解决的是连通性问题,即给定一个起始点(或某种起始状态)和一个终点(或某种最终状态),判断是否有一条路径能从起点连接到终点很多情况下,连通的路径有很多条,只需要找出一条即可,DFS只关心路径存在与否,不在乎其长短算法的思想从起点出发,选择一个可选方向不断向前,直到无法继续为止然后尝试另外一种方向,直到最后走到终点深度优先搜索借助地数据结构是栈DFS的递归实现利用递归去实现DFS可以让代码看上去很简洁递归的时候需要将当前程序种
2021-02-26 19:17:57
411
原创 如何创建一个Django项目
如何创建一个Django项目1.适用场景内存管理系统博客CMSWiki企业内部系统会议室预定招聘管理ERP&CRM报表系统运维管理系统CMDB发布管理作业管理脚本管理变更管理故障管理2.优缺点优点Python实现,代码干净,整洁提供管理后台,能够快速开发复用度高,设计,使用上遵循DRY原则(不重复造轮子)易于拓展复用的中间件内置的安全框架丰富的第三方类库缺点单体应用-不易并行开发,单点拓展不适合非常小的几行代码的
2021-02-25 21:29:40
189
1
原创 网络招聘信息的分析与挖掘
网络招聘信息的分析与挖掘问题1:根据招聘职位的工作性质和内涵,试分析目前所需要的人才中可以分为哪些职业类型和专业领域?解答思路:针对该问题,主要定位附件1中的PositionFirstType和PositionName记忆PositionType这三列属性进行分析。python代码如下:import pandas as pddata = pd.read_csv('../data/附件1_招聘信息.csv', encoding='utf-8')PositionFirstType = data['
2021-02-25 21:06:00
7601
7
原创 排序算法
排序基本的排序算法冒泡排序插入排序常考的排序算法归并排序快速排序拓扑排序其他排序算法堆排序通排序冒泡排序每一轮,从杂乱无章的数组头部开始,每两个元素比较大小并进行交换;指导这一轮当中最大或者最小的元素被放置在数组的尾部;然后,不断地重复这个过程,直到所有元素都排好位置例题:给定数组[2,1,7,9,5,8],要求按照从左到右,从小到大的顺序进行排序...
2021-02-23 23:41:19
120
原创 数据结构与算法总结1
1 常用数据结构1.1 常用数据结构和技巧数组、字符串链表栈队列双端队列树(1)数组、字符床优缺点优点:构建一个数组非常简单;能让我们再O(1)的时间里根据数组的下标查询某个元素缺点:构建时必须分配一段连续的空间;查询某个元素是否存在时需要遍历整个数组,耗费O(n)的时间;删除和添加某个元素时,同样需要耗费O(n)的时间(2)链表单链表:链表中的每个元素实际上是一个单独的对象,而所有的对象都通过每个元素中的引用字段链接在一起双链表:与单链表不同的是,双链表的每个结点中都含有两
2021-02-22 21:45:38
245
1
原创 网络编程
网络编程笔记1.概述计算机网络:计算机网络指的是将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件以及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。网络编程的目的:传播交流信息,数据交换,通信想要达到整个效果需要什么:如何准确的定位网络上的一台主机 192.10.10.13:端口,定位到这个计算机的某个资源。找到了这个主机,如何传输数据?javaweb:网页编程 B/S架构网页编程:TCP/IP C/S架构
2021-01-04 14:36:32
116
原创 GUI学习之Swing
GUI编程之Swing1.窗口、面板(JFrame)package day03;import javax.swing.*;import java.awt.*;public class JFrameTest { public static void main(String[] args) { //创建一个jFrame JFrame jFrame_test = new JFrame("JFrame test"); //设置窗口大小
2020-12-27 22:22:20
176
1
原创 GUI笔记二
GUI学习第二天笔记1.事件监听事件监听:当某个事情发生的时候,干什么?import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;/** * @author wqiushi * @version 1.0 * @date 2020
2020-12-24 13:59:54
157
原创 GUI编程核心技术之AWT介绍
GUI编程学习第一天组件窗口弹窗面板文本框列表框按钮图片监听事件鼠标键盘事件外挂破解工具简介GUI核心技术:Swing,AWT(不流行)界面不美观。需要jre环境。学习GUI得主要目的是了解MVC架构,了解监听。AWTAWT介绍是一个new类,包含了很多类和接口,用于GUI编程,图形用户界面编程。元素:窗口、按钮、文本框、java.awt组件和容器Framepublic class TestFrame { public static
2020-12-22 16:54:59
208
原创 java异常
异常检查时异常:如用户错误或者问题引起的异常,这些异常在编译时不能被简单地忽略。运行时异常:运行时异常可以在编译时被忽略。错误:错误不是异常,而是脱离程序员控制的问题。错误在代码中通常被忽略。Error和Exception区别:Error通常是灾难性的致命错误,是程序无法控制和处理的,当出现这些异常时,Java虚拟机(JVM )一般会选择终止线程;Exception通常情况下是可以被程序处理的,并且在程序中应该尽可能的去处理这些异常。异常处理的五个关键字:try、catch、finally
2020-12-21 19:20:53
78
原创 Java基础学习笔记
初始化布尔值:默认为false。除了基本类型(整形,浮点型,字符型,布尔型),其余的均为null。修饰符不存在先后顺序。变量命名规范类成员变量,局部变量:首字母小写和驼峰原则,如lastName。常量:大写字母和下划线,LAST_NAME。类名:首字母大写和驼峰原则:LastName。方法名:首字母小写和驼峰原则:lastName()。运算符Ctrl+D:复制当前行到下一行。如果多个变量做运算,如果这些变量中,数据类型有比Int级别高的(如long,float,double),则运算后
2020-12-20 22:41:31
90
原创 四种方法实现两个整数变量之间的互换
四种方法实现两个整数变量之间的互换方法一(使用第三方变量(开发中用的))class Test { public static void main(String[] args) { int a = 10; int b = 20; System.out.println("a:"+a+",b:"+b); //方式1:使用第三方变量(开发中用的) int c = a; a = b;
2020-10-10 22:47:25
502
1
原创 java学习笔记
java学习第二天笔记关键字总结关键字:被java语言赋予特定含义的单词,比如public;组成关键字单词的字母全部是小写的。注:goto和const是保留字,目前并不使用。关键字一览表如下图所示:标识符总结标识符:实质就是给类、接口、方法、变量起名字标识符的组成包括1)英文字母大小写;2)数字字符;3)$和_标识符注意事项:1)不能以数字开头;2)不能是java关键字;3)严格区分大小写,y1和Y1是两个不同的标识符。常见的命名规则:包:可以理解为文件夹,其作用就是为了把相同的类名进
2020-10-09 10:28:10
142
原创 java学习记录
java学习第一天总结Java语言的特点两大特点:来源和跨平台如何理解跨平台?如上图所示,java语言的跨平台操作是由jvm(java虚拟机)实现的,其就像是一个翻译机器,将不同操作系统上的代码翻译为可以同样统一执行的运算符。注意:java语言是跨平台的,但是jvm不是跨平台的。JDK,JRE,JVM区别JVM:(java虚拟机)保证java语言跨平台操作,可以理解为一个翻译工具JRE:java程序的运行环境,可以理解为jre=jvm+类库JDK:java程序的开发环境,可以理解为jdk
2020-10-07 22:50:19
137
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人