自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 数据仓库是什么

数据仓库,简称数仓,是一个对数据进行加工,集成,计算,并最终用于存储、分析、报告的数据系统。数据仓库接收来自各个外部系统的数据,加工处理后,提供给各个外部应用使用。从数据流向上看,数据在业务系统产生,流转到数据仓库,进行处理后,流向各个数据使用方。实际上OLTP和OLAP是两种处理数据的方式,他们各有优劣,各有侧重点。而OLAP作为数据仓库的主要应用,在企业管理决策中发挥着越来越重要的作用。

2024-04-27 23:43:29 1131 3

原创 反转链表问题详解

本文主要解决力扣上与反转链表相关的三道题目26. 反转链表(简单)92. 反转链表 II(中等)25. K 个一组翻转链表(困难)对应的目录如下图1、单链表全反转第206题,给定一个链表,要求得到一个反转后的链表。例子如下:可以看到题目要求是要对链表进行全反转,也就是对于链表上的每个节点来说,将它的前驱和后继的位置进行互换,使得原来的前驱变成后继,原来的后继变成前驱。这道题的难点是在借助其他辅助指针修改每个节点的前驱和后继的时候,如果不注意修改的先后顺序,很容易就发生节点相互覆盖,形成回

2020-12-04 19:53:07 372

原创 IllegalArgumentException: Property ‘sqlSessionFactory‘ or ‘sqlSessionTemplate‘ are require 报错

前几天跟着视频做着一个demo,程序一切正常,今天重新启动项目时,发现报错了:org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'teacherServiceImpl': Unsatisfied dependency expressed through field 'baseMapper'; nested exception is org.springframewo

2020-11-20 22:15:24 3403 2

原创 使用idea将web项目打成war包

将当前项目打包成war包1、在菜单栏点击File,并选择Project Structure2、按步骤进行操作,创建新的war包3、修改war包的名称,注意war包的输出目录。4、选中war包,点击 ”+“ 按钮,然后选中Directory Context,在弹出的选项框中选中你要打包的项目的web目录,在这里我的web目录名称就是”web“5、在war包下新建一个“WEB-INF”文件夹,并在该文件夹下新建"classes"文件夹6、选中"classes"文件夹,并点击“+”

2020-10-25 18:19:43 3237

原创 使用Mybatis实现第一个程序

原始数据库表信息创建一个maven项目导入依赖,包括mysql驱动,mybatis依赖还有junit测试<!--导入依赖--><dependencies> <!--mysql驱动--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId&g

2020-10-07 22:43:29 138

原创 JDK动态代理

主要利用的两个类是java.lang.reflect包下的Proxy类和InvocationHandler类实现步骤1、创建接口,定义方法public interface UserDao { int add(int a, int b);}2、创建接口实现类,实现接口方法(该实现类即为被代理对象)public class UserDaoImpl implements UserDao { public int add(int a, int b) { retu

2020-10-05 17:07:01 118

原创 拓展8锁问题

原问题8锁问题探讨的是在多线程环境中,各线程访问资源的先后顺序。具体问题为开启两个线程,其中线程2比线程1慢开启,线程1先进入了资源类的sendSms,然后延迟打印“发短信”,根据不同的条件,判断最终是先打印了“发短信”,还是“打电话”。public class LockTest1 { public static void main(String[] args) throws InterruptedException { Phone1 d = new Phone1();

2020-08-17 13:16:44 111

原创 Java中的Thread,Runnable,Callable之间的联系

在Java中创建多线程的方式有四种:1.继承Thread类2.实现Runnable接口3.实现Callable接口4.创建线程池本文主要讲的是Thread,Runnable,Callable之间的联系。1.继承Thread类的方式创建多线程创建重写run方法的Thread类的子类ThreadDemo,实例化该子类对象,并调用start方法。public class ThreadTest { public static void main(String[] args) {

2020-08-16 22:44:26 285

原创 使用jdbc操作数据库,进行通用的增删改查操作

获取连接 public Connection getConnection() throws ClassNotFoundException, SQLException { //1.连接资源的相关信息 String url = "jdbc:mysql://localhost:3306/test"; String user = "root"; String password = "root"; String driver =

2020-08-15 13:52:27 523

原创 另一个数学怪物——谢尔宾斯三角形

形成过程对于一个长度为1的等边三角形E0E_0E0​1.连结三条边的中点,可以得到4个等边三角形,去掉中间的三角形,保留三个,可以得到E1E_1E1​;2.对于剩下的三个三角形重复上述的步骤,得到E2E_2E2​,它包含9个三角形 ;3.通过一直重复上述步骤,当nnn趋于无穷大时,便得到了谢尔宾斯三角形。特点:不可度量长度length(E)=limn→∞3∗(32)n=∞length(E)=lim_{n\rightarrow\infty}3*(\frac{3}{2})^n=\inftyl

2020-07-13 08:42:08 1701

原创 python程序实现rep后剪枝算法

背景在使用决策树模型时,如果训练集中的样本数很多,则会使得生成的决策树过于庞大,即分化出了很多的枝节。这时会产生过拟合问题,也就是在模型在训练集上的表现效果良好,而在测试集的效果却很差。因此在生成一棵决策树之后,需要对它进行必要的剪枝,从而提高它的泛化能力。本文将讲述后剪枝算法——REP方法。原理剪枝是指将决策树的一些枝节去掉,将中间节点变成叶子节点,该叶子节点的预测值便是该分组训练样本yyy值的均值。剪枝算法分为预剪枝和后剪枝,预剪枝是在决策树生成的过程中同步进行,而后剪枝是在决策树生成完之后再剪枝

2020-07-12 23:59:07 1849 1

原创 python程序实现朴素贝叶斯算法

朴素贝叶斯法是基于贝叶斯定理与特征条件独立假设的分类方法。本文将讲解二分类的朴素贝叶斯分类器的原理以及程序实现。模型已知一组有nnn个样本的训练集{(xi,yi)}i=1n,xi∈Rt,yi∈{1,...,k}\{(x_i,y_i)\}_ {i=1}^n,x_i\in\mathbb R^t,y_i\in\{1,...,k\}{(xi​,yi​)}i=1n​,xi​∈Rt,yi​∈{1,...,k}其中,每个输入变量xix_ixi​都有ttt个特征,输出变量yiy_iyi​表示类别标签值。模型假

2020-07-10 23:19:29 628

原创 python程序实现CART回归树算法

算法原理CART树属于决策树模型,它可以用于分类和回归问题,这两者的不同主要体现在特征选择上,CART分类树基于Gini系数最小化,而CART回归树是基于误差平方和最小化。另外,CART树区别于其他树模型的特点之一是它是一类二叉树模型,每次进行特征选择时都将数据集分成“是”或“否”这两种。本文将讲解CART回归树模型的原理以及程序实现。模型已知一组包含nnn个样本的训练集{xi,yi}i=1n,xi∈Rt,yi∈R\{x_i,y_i\}_ {i=1}^n,x_i\in\mathbb R^t,y_i

2020-07-06 14:55:34 1283

原创 kmeans聚类算法实现

算法原理模型已知一组有n个样本的数据集{xi}i=1n,xi∈Rt\{x_i\}_ {i=1}^n,x_i\in\mathbb R^t{xi​}i=1n​,xi​∈Rt其中,每个样本xix_ixi​都有ttt个特征,没有标签yiy_iyi​。现在的目的是希望利用样本特征将数据集分为k类。算法步骤首先要明确一些概念:类是指根据特征的不同将数据分成不同的类别。而不同数据样本组成的集合称...

2020-04-14 13:44:44 603

原创 Koch曲线的matlab程序实现

Koch曲线是一个典型的“数学怪物”,它的特点是处处连续但点点不可微。下面将讲解Koch曲线的形成原理及matlab程序实现(对空间上的任意两个点,画出它们的Koch曲线)形成过程对于二维空间上的任意一条线段,将该线段的两个端点称为首点和尾点,我们需要利用这首点和尾点来得到新的五个点。首先,第一和第五个点即是首点和尾点,第二和第四个点是上述线段的两个三等分点,而第三个点是跟这两个三等分点组成...

2020-04-09 12:55:25 3070

原创 ID3决策树python程序实现

算法原理决策树是一类经典的机器学习方法,既可以用于分类任务,也可以用于回归。分类和回归对应的分别是分类树和回归树,本文将以最常见的一类决策树——ID3分类树为例,讲解模型的原理以及程序实现。模型已知一组有n个样本的训练集{xi,yi}i=1n,xi∈∏k=1tDk,yi∈{0,1}\{x_i,y_i\}_ {i=1}^n,x_i\in\prod_{k=1}^tD^k,y_i\in\{0,...

2020-04-05 23:08:25 319

原创 k近邻算法程序实现

算法原理模型k近邻算法是一个多分类的机器学习算法。它的实现过程很容易理解,简单来说,就是通过计算待分类样本与所有训练样本的“距离”,然后取出离待分类样本最近的k个训练样本,最后将这k个训练样本中类别最多的一种作为该待分类样本的预测类别。图解如图所示,假设有若干个训练样本,不同颜色代表不同的类别。现在放入一个待分类样本。定义k值(假设为3),定义距离(假设是欧式距离),计算该待分...

2020-03-28 23:13:43 1075

原创 逻辑回归算法实现

算法原理模型逻辑回归模型是一个二分类的对数线性模型。令样本数据集为{xi;yi}i=1n,xi∈Rt,yi∈{0,1}\{x_i;y_i\}^n_{i=1},x_i\in\mathbb{R}^t,y_i\in\{0,1\}{xi​;yi​}i=1n​,xi​∈Rt,yi​∈{0,1}其中,xix_ixi​是样本的特征,yiy_iyi​是样本的类别,限定为0或1。逻辑回归模型的数学表...

2020-03-17 14:01:28 1006

原创 感知机算法原理及程序实现

感知机是一个二分类的线性模型,通过输入样本的特征,返回样本对应的类别,其中,类别限定为1和-1。模型如下。(偏置已并入ω\omegaω)f(x)=sign(ωT∗x)f(x)=sign(\omega^T*x)f(x)=sign(ωT∗x)这个模型的主要思想是错误驱动,通过分错类的样本数据计算损失函数。一、具体过程随机设置一个权重向量ω\omegaω,将训练数据代入模型,把结果和真实的...

2020-03-08 22:59:27 1004

原创 多元线性回归编程实现

多元线性回归:现有一个包含m个样本的数据集,其中每一个样本都有n个指标值和一个标签值,现试图寻找一种线性关系(加法或数乘运算),使得每个样本的n个指标值都能对应各自的标签值。此时这n个指标值和对应的标签值都已给出,我们需要考虑的问题就是怎样得到这种关系。首先我们可以假设线性关系是f(X)=Xω+bf(X)=X\omega+bf(X)=Xω+b其中矩阵XXX的每一行表示一个样本的指标数据...

2019-08-06 09:35:35 897

原创 线性最小二乘法——python

算法编写class LinearRegression: ''' alpha:拟合参数 fit :训练函数,得到拟合参数 predict:预测并输出结果 ''' def __init__(self): pass def fit(self,x,y): x = np.in...

2019-07-26 16:53:54 189

原创 python面向对象的三大特性:封装、继承、多态

python面向对象的三大特性:封装、继承、多态封装是指它能通过创建一个类,并将若干个属性和方法包装在这个类中,程序员只需创建这个类的一个对象便可以调用这些属性和方法。# 定义一个类class Person(): def eat(self): print("吃") def sleep(self): print("睡觉")...

2019-05-04 20:21:56 379

原创 利用朴素贝叶斯分类器进行垃圾文件过滤

对英文文件进行过滤 训练测试集下载地址github步骤 1、有标签的文件文本数据导入 2、分词、去除网络符号(网址除外)、统一小写 3、利用Lemmatizer词还原器将单词变为原型 4、标注”not_” 或 “no_”前缀(文章中出现在not或no后面的词是这个词的反义词,加上前缀作为区分) 5、去除停用词 6、引入词袋模型,统计每个文档单词的出现情况 7、用朴素贝...

2018-06-10 22:22:53 813

原创 pandas读写文件

在python中读写文件较常用的方法是使用pandas库中的函数,即方便又快捷。 读写时需注意:以哪种编码读写的DataFrame格式数据中的列标签和行标签有没有读取以to_csv和read_csv函数为例(读写其他文件的函数类似)先新建一个DataFrame格式的数据import pandas as pdimport numpy as npdf = pd.Data...

2018-06-08 21:48:41 263

原创 浅谈python中的浅拷贝和深拷贝

    在python中,对一个变量赋值实际上是将这个值的引用赋给变量,在这里涉及到两种拷贝方式:浅拷贝和深拷贝。浅拷贝    创建一个新的对象,这个对象中的元素仍然是原对象中的元素,即元素的地址一样。    浅拷贝方法:1、完全切片操作 [:];2、工厂函数list(), dict();3、copy方法    例子:首先看一下浅拷贝之后新对象和原对象的地址import copyarr_1 = ...

2018-06-07 16:56:05 305

原创 sklearn之k-mean聚类

以莺尾花数据集为例,对其进行聚类,对比聚类和真实分类结果导入相关库% matplotlib inlinefrom sklearn.datasets import load_irisfrom sklearn.cluster import KMeansimport numpy as npimport matplotlib.pyplot as pltimport seaborn as sns创...

2018-06-06 16:23:20 398

原创 正则表达式常用函数

正则表达式:以字符串的形式规定一个规则,在文本中匹配并找出符合的字符串。re库中常用的六个函数分别是match、compile、sub、split、search、findall,这些函数的用法基本都是相同的,只是目的不一样。假设method是re库中的函数re.method(pattern, string)pattern:正则表达式string:文本意义:从string文本里以pattern这个规...

2018-06-06 10:52:48 5464

空空如也

空空如也

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

TA关注的人

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