作者|Angel Das 编译|VK 来源|Towards Data Science

介绍

  • 决策树分类器是一种有监督的学习模型,在我们关心可解释性时非常有用。
  • 决策树通过基于每个层次的多个问题做出决策来分解数据
  • 决策树是处理分类问题的常用算法之一。

为了更好地理解它,让我们看看下面的例子。

决策树通常包括:

  • 根节点-表示被进一步划分为同质组的样本或总体
  • 拆分-将节点分为两个子节点的过程
  • 决策节点-当一个子节点根据某个条件拆分为其他子节点时,称为决策节点
  • 叶节点或终端节点-不进一步拆分的子节点
  • 信息增益-要使用一个条件(比如说信息最丰富的特征)来分割节点,我们需要定义一个可以优化的目标函数。在决策树算法中,我们倾向于在每次分割时最大化信息增益。在测量信息增益时,通常使用三种度量。它们是基尼不纯度、熵和分类误差

数学理解

为了理解决策树是如何发展的,我们需要更深入地了解在每一步中如何使用度量使信息增益最大化。

让我们举一个例子,其中我们有包含学生信息的训练数据,如性别、年级、因变量或分类变量,这些变量可以识别学生是否是美食家。我们有以下概述的信息。

  1. 学生总数-20人

  2. 被归为美食家的学生总数-10

  3. 不属于美食家的学生总数-10

  4. P(美食家),即学生成为美食家的概率=(10/20)=0.5

  5. Q(非美食家),学生不是美食家的概率=(10/20)=0.5

让我们根据学生的性别将他们分成两个节点,并重新计算上述指标。

男学生(节点A)

  1. 学生总数-10人

  2. 被归为美食家的学生总数-8

  3. 不属于美食家的学生总数-2

  4. P(美食家),学生成为美食家的概率=(8/10)=0.8

  5. Q(非美食家),学生不是美食家的概率=(2/10)=0.2

女生(节点B)

  1. 学生总数-10人

  2. 被归为美食家的学生总数-4

  3. 不属于美食家的学生总数-6

  4. P(美食家),学生成为美食家的概率=(4/10)=0.4

  5. Q(非美食家),学生不成为美食家的概率=(6/10)=0.6

节点A的基尼指数 (GIn)=P²+Q²,其中P和Q是学生成为美食家和非美食家的概率。GIn(节点A)=0.8²+0.2²=0.68

节点A的基尼不纯度(GIp)=1-基尼指数=1–0.68=0.32

节点B或女生的基尼指数(GIn)=P²+Q²,其中P和Q是学生成为美食家和非美食家的概率。GIn(节点B)=0.4²+0.6²=0.52

节点B的基尼不纯度(GIp)=1-基尼指数=1–0.52=0.48

我们观察到的是,当我们将学生按性别(男性和女性)分别划分为A和B节点时,我们分别得到了两个节点的基尼不纯度。现在,为了确定性别是否是将学生分为美食家和非美食家的正确变量,我们需要一个加权基尼不纯度分数,该分数使用以下公式计算。

加权基尼不纯度=(A节点总样本数/数据集中总样本数)基尼不纯度(A节点)+(B节点总样本数/数据集中样本数)基尼不纯度(B节点)

用此公式计算上例的加权基尼不纯度分数,按性别划分学生时加权基尼不纯度分数=(10/20)0.32 + (10/20)0.48 = 0.4

一个分类问题涉及多个自变量。变量可以是名义变量,也可以是连续变量。决策树很适合处理不同数据类型的变量。

决策树算法在决定每个节点的拆分时考虑了所有可能的变量,可以获得最大加权不纯度增益的变量被用作特定节点的决策变量。

在上面的例子中,使用“性别”作为决策变量的加权不纯度增益是0.4,但是,假设使用“年级”作为决策变量,加权不纯度增益0.56,算法将使用“年级”作为创建第一个分割的决策变量。所有后续步骤都遵循类似的方法,直到每个节点都是同构的。

决策树算法简介

  1. 决策树容易过度拟合,因为算法继续将节点分割为子节点,直到每个节点变得均匀

  2. 与测试集相比,训练数据的精度要高得多,因此需要对决策树进行剪枝,以防止模型过度拟合。剪枝可以通过控制树的深度、每个节点的最大/最小样本数、要拆分的节点的最小不纯度增益和最大叶节点来实现

  3. Python允许用户使用基尼不纯度或熵作为信息增益准则来开发决策树

  4. 可以使用网格搜索或随机搜索CV对决策树进行微调。CV代表交叉验证

三种不同不纯度标准的比较

下面概述的代码片段提供了不同不纯度标准的直观比较,以及它们如何随不同的概率值而变化。注意下面的代码改编自Deeper Insights into Machine Learning by S.Raschka, D.Julian, and J.Hearty, 2016

import matplotlib.pyplot as pltimport numpy as np#-----计算基尼指数
def gini(p):return (p)*(1 - (p)) + (1 - p)*(1 - (1-p))#-----计算熵
def entropy(p):return - p*np.log2(p) - (1 - p)*np.log2((1 - p))#-----计算分类误差
def classification_error(p):return 1 - np.max([p, 1 - p])#-----创建一个从0到1的概率值Numpy数组,增量为0.01
x = np.arange(0.0, 1.0, 0.01)#---不同p值的熵
ent = [entropy(p) if p != 0 else None for p in x]#----获得缩放后的熵
sc_ent = [e*0.5 if e else None for e in ent]#--分类错误
err = [classification_error(i) for i in x]#--绘图fig = plt.figure();
plt.figure(figsize=(10,8));
ax = plt.subplot(111);for i, lab, ls, c, in zip([ent, sc_ent, gini(x), err], ['Entropy', 'Entropy (scaled)','Gini Impurity','Misclassification Error'],['-', '-', '--', '-.'],['black', 'darkgray','blue', 'brown', 'cyan']):line = ax.plot(x, i, label=lab,linestyle=ls, lw=2, color=c)ax.legend(loc='upper center', bbox_to_anchor=(0.5, 1.15), ncol=3, fancybox=True, shadow=False)
ax.axhline(y=0.5, linewidth=1, color='k', linestyle='--')
ax.axhline(y=1.0, linewidth=1, color='k', linestyle='--')
plt.ylim([0, 1.1])
plt.xlabel('p(i=1)')
plt.ylabel('Impurity Index')
plt.show()

练习

问题陈述旨在建立一个分类模型来预测红酒的质量。

这是一个典型的多类分类问题。注意,所有的机器学习模型都对异常值敏感,因此在构建树之前,应该处理由异常值组成的特征/独立变量。

不同特性/独立变量的一个重要方面是它们如何相互作用。皮尔逊相关可以用来确定数据集中两个特征之间的关联程度。然而,对于像决策树这样的基于决策的算法,我们不会丢弃高度相关的变量。

#导入所需的库-
%matplotlib inlineimport numpy as np
import pandas as pdfrom sklearn.tree import DecisionTreeClassifierimport numpy as np
import pandas as pd
import seaborn as snssns.set(color_codes=True)from matplotlib import pyplot as plt
from sklearn.model_selection import train_test_split #分为训练集和测试集
from sklearn.tree import DecisionTreeClassifier #构建决策树模型from sklearn import metrics
from sklearn.metrics import accuracy_score,f1_score,recall_score,precision_score, confusion_matrix #模型验证
%matplotlib inlinefrom IPython.display import display #用于在一个输出中显示多个数据帧from sklearn.feature_extraction.text import CountVectorizer  #DT不接受字符串作为模型拟合步骤的输入import missingno as msno_plot #缺失值绘图wine_df = pd.read_csv('winequality-red.csv',sep=';')

数据的快速描述性统计

wine_df.describe().transpose().round(2)

检查缺失值

#非缺失值的条形图
plt.title('#Non-missing Values by Columns')
msno_plot.bar(wine_df);

异常值检查和处理

#检查异常值
plt.figure(figsize=(15,15))
pos = 1
for i in wine_df.columns:plt.subplot(3, 4, pos)sns.boxplot(wine_df[i])pos += 1

col_names=['fixed acidity', 'volatile acidity', 'citric acid', 'residual sugar','chlorides', 'free sulfur dioxide', 'total sulfur dioxide', 'density','pH', 'sulphates', 'alcohol']display(col_names)for i in col_names:q1, q2, q3 = wine_df[i].quantile([0.25,0.5,0.75])IQR = q3 - q1lower_cap=q1-1.5*IQRupper_cap=q3+1.5*IQRwine_df[i]=wine_df[i].apply(lambda x: upper_cap if x>(upper_cap) else (lower_cap if x<(lower_cap) else x))

上面的异常值使用Q1–1.5*IQR和Q3+1.5*IQR值进行提取。Q1、Q3和IQR分别代表第一四分位数、第三四分位数和四分位数间的范围。

sns.pairplot(wine_df);

理解不同变量之间的关系。注意。在决策树中,我们不需要删除高度相关的变量,因为节点只使用一个独立变量被划分为子节点,因此,即使两个或多个变量高度相关,产生最高信息增益的变量也将用于分析。

plt.figure(figsize=(10,8))
sns.heatmap(wine_df.corr(),annot=True,linewidths=.5,center=0,cbar=False,cmap="YlGnBu")
plt.show()

分类问题对类别不平衡很敏感。当一个类值所占比例较大时,就会出现类不平衡。类别平衡是通过将因变量“quality”属性的值组合而产生的。

plt.figure(figsize=(10,8))
sns.countplot(wine_df['quality']);

wine_df['quality'] = wine_df['quality'].replace(8,7)
wine_df['quality'] = wine_df['quality'].replace(3,5)
wine_df['quality'] = wine_df['quality'].replace(4,5)
wine_df['quality'].value_counts(normalize=True)

将数据分为训练集和测试集,以检查模型的准确性,并查找是否存在过拟合或欠拟合。

# 将数据分解为训练集和测试集from sklearn.model_selection import train_test_splitX_train, X_test, y_train, y_test =train_test_split(wine_df.drop('quality',axis=1), wine_df['quality'], test_size=.3, random_state=22)
X_train.shape,X_test.shape

利用基尼准则建立了决策树模型。请注意,为了简单起见,我们将树剪枝到最大深度3。这将有助于我们将树可视化,并将其与我们在初始部分中讨论的概念联系起来。

clf_pruned = DecisionTreeClassifier(criterion = "gini", random_state = 100,max_depth=3, min_samples_leaf=5)
clf_pruned.fit(X_train, y_train)

请注意,可以调整以下参数以改进模型输出(Scikit Learn,2019)。

  1. criterion — 使用的度量,例如基尼不纯度
  2. class_weight — None,代表所有类权重为1
  3. max_depth — 3; 剪枝。当“None”表示节点将展开,直到所有叶子都是同构的
  4. max_features — None; 在决定节点的分割时,要考虑所有的特征或自变量
  5. max_leaf_nodes — None;
  6. min_impurity_decrease — 0.0; 只有当分割确保不纯度的减少大于或等于零时,节点才被分割
  7. min_impurity_split — None;
  8. min_samples_leaf — 1;一个叶子存在所需的最小样本数
  9. min_samples_split — 2; 如果min_samples_leaf =1,则表示右节点和左节点应该各有一个样本,即父节点或根节点应该至少有两个样本
  10. splitter — ‘best’; 用于在每个节点选择分割的策略。最好确保在决定分割时考虑到所有的特征
from sklearn.tree import export_graphviz
from sklearn.externals.six import StringIO  
from IPython.display import Image  
import pydotplus
import graphvizxvar = wine_df.drop('quality', axis=1)
feature_cols = xvar.columnsdot_data = StringIO()
export_graphviz(clf_pruned, out_file=dot_data,  filled=True, rounded=True,special_characters=True,feature_names = feature_cols,class_names=['0','1','2'])from pydot import graph_from_dot_data
(graph, ) = graph_from_dot_data(dot_data.getvalue())
Image(graph.create_png())

preds_pruned = clf_pruned.predict(X_test)
preds_pruned_train = clf_pruned.predict(X_train)
print(accuracy_score(y_test,preds_pruned))
print(accuracy_score(y_train,preds_pruned_train))

模型对训练数据和测试数据的准确度得分分别为0.60和0.62。

特征重要性是指一类将分数分配给预测模型的输入特征的技术,该技术指示在进行预测时每个特征的相对重要性。

## 计算特征重要性feat_importance = clf_pruned.tree_.compute_feature_importances(normalize=False)feat_imp_dict = dict(zip(feature_cols, clf_pruned.feature_importances_))
feat_imp = pd.DataFrame.from_dict(feat_imp_dict, orient='index')
feat_imp.rename(columns = {0:'FeatureImportance'}, inplace = True)
feat_imp.sort_values(by=['FeatureImportance'], ascending=False).head()

DecisionTreeClassifier()提供诸如min_samples_leaf和max_depth等参数,以防止树过度拟合。

可以看成是如下场景,在这个场景中,我们明确定义树的深度和最大叶子数。然而,最大的挑战是如何确定一棵树应该包含的最佳深度和叶子。

在上面的例子中,我们使用max_depth=3,min_samples_leaf=5。这些数字只是用来观察树的行为的示例图。但是,如果在现实中,我们被要求研究这个模型并为模型参数找到一个最佳值,这是一个挑战,但并非不可能(决策树模型可以使用GridSearchCV算法进行微调)。

另一种方法是使用成本复杂性剪枝(CCP)。

成本复杂性剪枝为控制树的大小提供了另一种选择。在DecisionTreeClassifier中,这种剪枝技术是由代价复杂性参数ccp_alpha来参数化的。ccp_alpha值越大,剪枝的节点数就越多。

简单地说,成本复杂性是一个阈值。只有当模型的整体不纯度改善了一个大于该阈值的值时,该模型才会将一个节点进一步拆分为其子节点,否则将停止。

当CCP值较低时,即使不纯度减少不多,该模型也会将一个节点分割成子节点。随着树的深度增加,这一点很明显,也就是说,当我们沿着决策树往下走时,我们会发现分割对模型整体不纯度的变化没有太大贡献。然而,更高的分割保证了类的正确分类,即准确度更高。

当CCP值较低时,会创建更多的节点。节点越高,树的深度也越高。

下面的代码(Scikit Learn)说明了如何对alpha进行调整,以获得更高精度分数的模型。

path = model_gini.cost_complexity_pruning_path(X_train, y_train)
ccp_alphas, impurities = path.ccp_alphas, path.impuritiesfig, ax = plt.subplots(figsize=(16,8));
ax.plot(ccp_alphas[:-1], impurities[:-1], marker='o', drawstyle="steps-post");
ax.set_xlabel("effective alpha");
ax.set_ylabel("total impurity of leaves");
ax.set_title("Total Impurity vs effective alpha for training set");

让我们了解随着alpha的变化深度和节点数的变化。

clfs = clfs[:-1]ccp_alphas = ccp_alphas[:-1]node_counts = [clf.tree_.node_count for clf in clfs]depth = [clf.tree_.max_depth for clf in clfs]fig, ax = plt.subplots(2, 1,figsize=(16,8))ax[0].plot(ccp_alphas, node_counts, marker='o', drawstyle="steps-post")
ax[0].set_xlabel("alpha")
ax[0].set_ylabel("number of nodes")
ax[0].set_title("Number of nodes vs alpha")
ax[1].plot(ccp_alphas, depth, marker='o', drawstyle="steps-post")
ax[1].set_xlabel("alpha")
ax[1].set_ylabel("depth of tree")
ax[1].set_title("Depth vs alpha")
fig.tight_layout()

了解α增加时精度的变化。

fig, ax = plt.subplots(figsize=(16,8)); #设置大小
train_scores = [clf.score(X_train, y_train) for clf in clfs]
test_scores = [clf.score(X_test, y_test) for clf in clfs]
ax.set_xlabel("alpha")
ax.set_ylabel("accuracy")
ax.set_title("Accuracy vs alpha for training and testing sets")
ax.plot(ccp_alphas, train_scores, marker='o', label="train",drawstyle="steps-post")
ax.plot(ccp_alphas, test_scores, marker='o', label="test",drawstyle="steps-post")
ax.legend()
plt.show()

i = np.arange(len(ccp_alphas))
ccp = pd.DataFrame({'Depth': pd.Series(depth,index=i),'Node' : pd.Series(node_counts, index=i),\'ccp' : pd.Series(ccp_alphas, index = i),'train_scores' : pd.Series(train_scores, index = i),'test_scores' : pd.Series(test_scores, index = i)})
ccp.tail()
ccp[ccp['test_scores']==ccp['test_scores'].max()]

上面的代码提供了在测试数据中产生最高精度的成本计算剪枝值。

参考文献

  1. Raschka, S., Julian, D. and Hearty, J. (2016). Python : deeper insights into machine learning : leverage benefits of machine learning techniques using Python : a course in three modules. Birmingham, Uk: Packt Publishing, pp.83, 88, 89.
  2. ‌Scikit-learn: Machine Learning in Python, Pedregosa et al., JMLR 12, pp. 2825–2830, 2011.
  3. Scikit Learn (2019). sklearn.tree.DecisionTreeClassifier — scikit-learn 0.22.1 documentation. [online] Scikit-learn.org. Available at: https://scikit-learn.org/stable/modules/generated/sklearn.tree.DecisionTreeClassifier.html.
  4. Scikit Learn (n.d.). Post pruning decision trees with cost complexity pruning. [online] Available at: https://scikit-learn.org/stable/auto_examples/tree/plot_cost_complexity_pruning.html#sphx-glr-auto-examples-tree-plot-cost-complexity-pruning-py.

原文链接:https://towardsdatascience.com/decision-tree-classifier-and-cost-computation-pruning-using-python-b93a0985ea77

欢迎关注磐创AI博客站: http://panchuang.net/

sklearn机器学习中文官方文档: http://sklearn123.com/

欢迎关注磐创博客资源汇总站: http://docs.panchuang.net/

查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. 整理 酷炫设计工具

    1.Vectary 您最喜欢的2D工具中的真实3D实体模型和元素 适用平台:macOS、Windows 软件官网:https://www.vectary.com/sketch2.Motion 免费,简单的动画图标编辑器 适用平台:macOS、Windows 软件官网:https://www.getmotion.io...

    2024/4/25 6:00:18
  2. 整理 酷炫设计 工具

    1.Vectary 您最喜欢的2D工具中的真实3D实体模型和元素 适用平台:macOS、Windows 软件官网:https://www.vectary.com/sketch2.Motion 免费,简单的动画图标编辑器 适用平台:macOS、Windows 软件官网:https://www.getmotion.io...

    2024/4/25 3:06:40
  3. 2.2 UE4反射分析——带函数与变量的AActor拆解

    一、在AActor中添加函数与变量较之上一节我们添加了两个UBoxComponent作为变量,以及从TestFunc1——6共六种常用的函数 其中TestFunc5需要在cpp中有实现MyActor.h // Fill out your copyright notice in the Description page of Project Settings. #pragma once#include &quo…...

    2024/4/22 5:41:16
  4. 用户管理 ---- (补充)

    都要掌握搭建和攻击-500表示这台系统的第多少个用户Whoami查询当前登录用户白框是:我的计算机名 Wencoll:我的用户名查看sid值:whoami /userWindows 的管理员是从500开始的 Linux 的管理员是从0开始的SAM是一种不可逆的加密方式暴力破解:让软件一个个试密码【效率低】 撞库…...

    2024/4/15 20:08:29
  5. 单例设计模式的不同实现方式

    设计模式之单例设计模式的5种不同实现方式1.饿汉式2.跟1是一个意思,但是是在静态代码块中实现3.懒汉式4.懒汉式-双重检查方法5.完美的方式6.枚举单例-完美中的完美方式 1.饿汉式 类加载到内存后,就实例化一个单例,JVM保证线程安全,唯一缺点:不管用到与否,类装载时就完成实…...

    2024/4/27 4:19:22
  6. git向本地仓库添加文件

    上一篇中创建了本地仓库,工作目录为E:\git\repository\repo1...

    2024/4/15 20:08:28
  7. Cesium中点至直线的垂足点和距离计算

    最近处理GPS定位坐标在Cesium中显示的问题,需要将定位坐标绘制到指定的路线上。但实际的显示结果是,因为定位不准确,最终绘制的GPS坐标基本都是在路线周围乱跳。为了效果好看一点,最终的想法将球面上短距离的路线看作是平面坐标中的直线,将定位坐标通过计算,算出坐标点到…...

    2024/4/15 20:08:26
  8. Mysql 8 压缩包 安装

    mysql下载地址:https://dev.mysql.com/downloads/mysql/解压后添加环境变量path以管理员运行cmd执行命令:mysqld --initialize --console (初始化)mysqld -install (安装)net start mysql (启动mysql)mysql -u root -p (进入mysql运行界面) 结果截图修改mysql密码…...

    2024/4/15 20:08:25
  9. 搞不清那个baselines为啥要两个文件都命名为baselines,搞得文件路径出错

    python train_dqfd.py Traceback (most recent call last):File "train_dqfd.py", line 28, in <module>from chainerrl import experiments, explorers ImportError: cannot import name experiments from chainerrl (unknown location)...

    2024/4/23 0:47:02
  10. JT项目流程分析

    一.创建项目模块 网络条件允许可以创建Spring Boot 项目 ,在这使用maven 项目创建。 使用工具: STS/IDE +Maven +SQLyog 实用技术:SpringBoot , Mybatis Plus, Mybatis 项目描述:JT是一个商品管理的项目 ,该项目使用Maven搭建,利用分布式思想将项目作了层级划分, 前端技…...

    2024/4/21 17:30:34
  11. Java学习之Shiro基本使用笔记

    Shiro 的基本使用笔记学习链接目录结构划红线的是Shiro 需要用到的类shiro的简易工作流程user(用户) –> Token(UsernamePasswordToken,令牌,Shiro 用来封装用户登录信息,使用用户的登陆信息来创建令牌Token) –> Subject(Shiro的一个抽象概念,包含了用户信息) –…...

    2024/4/15 20:08:22
  12. 设计模式之单例设计模式

    设计模式之单例设计模式的5种不同实现方式1.饿汉式2.跟1是一个意思,但是是在静态代码块中实现3.懒汉式4.懒汉式-双重检查方法5.完美的方式6.枚举单例-完美中的完美方式 1.饿汉式 类加载到内存后,就实例化一个单例,JVM保证线程安全,唯一缺点:不管用到与否,类装载时就完成实…...

    2024/4/22 21:02:00
  13. 整理 酷炫 软件

    1.Vectary 您最喜欢的2D工具中的真实3D实体模型和元素 软件官网:https://www.vectary.com/sketch2.Motion 免费,简单的动画图标编辑器 软件官网:https://www.getmotion.io...

    2024/4/15 20:08:21
  14. 记录Cesium小知识

    颜色设置 Cesium.Color.RED.withAlpha(0.5) Cesium.Color.fromCssColorString("#001aff") Cesium.Color.fromCssColorString("rgba(254, 129, 6, 0.75)")...

    2024/4/27 11:12:04
  15. windows使用git上传代码到Github

    windows使用git上传代码到Github1、安装git,创建仓库,配置ssh下载地址:https://git-scm.com/downloads 选择自己的系统下载即可,安装直接下一步就好,这里我就不多说创建仓库首先要创建一个github账号,大家用邮箱即可注册新建一个仓库 配置ssh秘钥 这个操作就是让我们的电…...

    2024/4/15 20:08:19
  16. CentOS 系统安装Docker Engine 以及阿里云镜像加速服务

    安装官方教程:https://docs.docker.com/engine/install/centos/1 安装yum-utils工具集yum-utils 提供了yum-config-manager工具,我们需要通过yum-config-manager来设置docker-ce的yum安装源$ sudo yum install -y yum-utils2 安装数据存储的驱动包 device-mapper-persistent-…...

    2024/4/15 13:48:02
  17. jmeter命令行执行脚本_动态参数设置

    最近看到在Linux上折腾jmeter的人越来越多,不过即使在windows上,jmeter的脚本我还是建议用命令行来执行(降低GUI模式带来的性能损耗,不过拿jmeter来做接口测试的无所谓)。做性能测试的时候,有时候可能需要不停的去设置“线程组”那个界面的参数(例如线程数、循环次数、持…...

    2024/4/23 1:26:08
  18. Git-配置多个ssh密钥

    ssh-keygen -t rsa -C "123@qq.com" -f ~/.ssh/github_rsa 可以看到红色框中的路径名,就是密钥所在文件路径将.pub后缀的文件内的内容copy,添加到你的github的SSH配置中具体打开步骤如下: 点击头像>Setting>SSH and GPG keys>new SSH keys...

    2024/4/27 20:50:01
  19. Linux下部署Kibana

    一、环境要求 Linux(Centos 7) Kibana 7.8.1 二、kibana 下载 下载地址:https://www.elastic.co/cn/downloads/kibana 下载linux版的gz包 三、安装 进入Linux系统,切换到 /opt 目录下: 在opt目录下,解压kibana包: tar zxvf kibana-7.8.1-linux-x86_64.tar.gz 修改配置: v…...

    2024/4/27 4:25:37
  20. idea 中ctrl+shift+数字的作用

    ctrl+shift+数字 添加标记 可以使在文件夹下面,也可以实在代码的某一行下面. ctrl+数字 跳转到对应标记 ctrl+shift+数字 取消标记 同一个地方按一次为标记,再按一次为取消....

    2024/4/15 13:47:57

最新文章

  1. 读书笔记 - 什么是大学

    身在殿堂 我们对大学都会有一些初步的认识&#xff0c;然而要真正了解大学&#xff0c;还需要自己有更多的经历、感受和思考&#xff0c;这需要时间。 大学的历史和渊源 《大戴礼保传》中写道&#xff0c;“古者年八岁而出就外舍&#xff0c;学小艺焉&#xff0c;履小节焉&…...

    2024/4/28 0:10:21
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. HIS系统是什么?一套前后端分离云HIS系统源码 接口技术RESTful API + WebSocket + WebService

    HIS系统是什么&#xff1f;一套前后端分离云HIS系统源码 接口技术RESTful API WebSocket WebService 医院管理信息系统(全称为Hospital Information System)即HIS系统。 常规模版包括门诊管理、住院管理、药房管理、药库管理、院长查询、电子处方、物资管理、媒体管理等&…...

    2024/4/26 5:05:43
  4. MQ的作用及分类

    概念&#xff1a; MQ(message queue)&#xff0c;从字面意思上看&#xff0c;本质是个队列&#xff0c;FIFO先入先出&#xff0c;只不过队列中存放的内容是message而已&#xff0c;还是一种跨进程的通信机制&#xff0c;用于上下游传递消息。在互联网架构中&#xff0c;MQ是一…...

    2024/4/27 11:43:39
  5. 416. 分割等和子集问题(动态规划)

    题目 题解 class Solution:def canPartition(self, nums: List[int]) -> bool:# badcaseif not nums:return True# 不能被2整除if sum(nums) % 2 ! 0:return False# 状态定义&#xff1a;dp[i][j]表示当背包容量为j&#xff0c;用前i个物品是否正好可以将背包填满&#xff…...

    2024/4/27 1:53:53
  6. 【Java】ExcelWriter自适应宽度工具类(支持中文)

    工具类 import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.CellType; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet;/*** Excel工具类** author xiaoming* date 2023/11/17 10:40*/ public class ExcelUti…...

    2024/4/27 3:39:11
  7. Spring cloud负载均衡@LoadBalanced LoadBalancerClient

    LoadBalance vs Ribbon 由于Spring cloud2020之后移除了Ribbon&#xff0c;直接使用Spring Cloud LoadBalancer作为客户端负载均衡组件&#xff0c;我们讨论Spring负载均衡以Spring Cloud2020之后版本为主&#xff0c;学习Spring Cloud LoadBalance&#xff0c;暂不讨论Ribbon…...

    2024/4/27 12:24:35
  8. TSINGSEE青犀AI智能分析+视频监控工业园区周界安全防范方案

    一、背景需求分析 在工业产业园、化工园或生产制造园区中&#xff0c;周界防范意义重大&#xff0c;对园区的安全起到重要的作用。常规的安防方式是采用人员巡查&#xff0c;人力投入成本大而且效率低。周界一旦被破坏或入侵&#xff0c;会影响园区人员和资产安全&#xff0c;…...

    2024/4/27 12:24:46
  9. VB.net WebBrowser网页元素抓取分析方法

    在用WebBrowser编程实现网页操作自动化时&#xff0c;常要分析网页Html&#xff0c;例如网页在加载数据时&#xff0c;常会显示“系统处理中&#xff0c;请稍候..”&#xff0c;我们需要在数据加载完成后才能继续下一步操作&#xff0c;如何抓取这个信息的网页html元素变化&…...

    2024/4/27 3:39:08
  10. 【Objective-C】Objective-C汇总

    方法定义 参考&#xff1a;https://www.yiibai.com/objective_c/objective_c_functions.html Objective-C编程语言中方法定义的一般形式如下 - (return_type) method_name:( argumentType1 )argumentName1 joiningArgument2:( argumentType2 )argumentName2 ... joiningArgu…...

    2024/4/27 3:39:07
  11. 【洛谷算法题】P5713-洛谷团队系统【入门2分支结构】

    &#x1f468;‍&#x1f4bb;博客主页&#xff1a;花无缺 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! 本文由 花无缺 原创 收录于专栏 【洛谷算法题】 文章目录 【洛谷算法题】P5713-洛谷团队系统【入门2分支结构】&#x1f30f;题目描述&#x1f30f;输入格…...

    2024/4/27 3:39:07
  12. 【ES6.0】- 扩展运算符(...)

    【ES6.0】- 扩展运算符... 文章目录 【ES6.0】- 扩展运算符...一、概述二、拷贝数组对象三、合并操作四、参数传递五、数组去重六、字符串转字符数组七、NodeList转数组八、解构变量九、打印日志十、总结 一、概述 **扩展运算符(...)**允许一个表达式在期望多个参数&#xff0…...

    2024/4/27 12:44:49
  13. 摩根看好的前智能硬件头部品牌双11交易数据极度异常!——是模式创新还是饮鸩止渴?

    文 | 螳螂观察 作者 | 李燃 双11狂欢已落下帷幕&#xff0c;各大品牌纷纷晒出优异的成绩单&#xff0c;摩根士丹利投资的智能硬件头部品牌凯迪仕也不例外。然而有爆料称&#xff0c;在自媒体平台发布霸榜各大榜单喜讯的凯迪仕智能锁&#xff0c;多个平台数据都表现出极度异常…...

    2024/4/27 21:08:20
  14. Go语言常用命令详解(二)

    文章目录 前言常用命令go bug示例参数说明 go doc示例参数说明 go env示例 go fix示例 go fmt示例 go generate示例 总结写在最后 前言 接着上一篇继续介绍Go语言的常用命令 常用命令 以下是一些常用的Go命令&#xff0c;这些命令可以帮助您在Go开发中进行编译、测试、运行和…...

    2024/4/26 22:35:59
  15. 用欧拉路径判断图同构推出reverse合法性:1116T4

    http://cplusoj.com/d/senior/p/SS231116D 假设我们要把 a a a 变成 b b b&#xff0c;我们在 a i a_i ai​ 和 a i 1 a_{i1} ai1​ 之间连边&#xff0c; b b b 同理&#xff0c;则 a a a 能变成 b b b 的充要条件是两图 A , B A,B A,B 同构。 必要性显然&#xff0…...

    2024/4/27 18:40:35
  16. 【NGINX--1】基础知识

    1、在 Debian/Ubuntu 上安装 NGINX 在 Debian 或 Ubuntu 机器上安装 NGINX 开源版。 更新已配置源的软件包信息&#xff0c;并安装一些有助于配置官方 NGINX 软件包仓库的软件包&#xff1a; apt-get update apt install -y curl gnupg2 ca-certificates lsb-release debian-…...

    2024/4/27 3:39:03
  17. Hive默认分割符、存储格式与数据压缩

    目录 1、Hive默认分割符2、Hive存储格式3、Hive数据压缩 1、Hive默认分割符 Hive创建表时指定的行受限&#xff08;ROW FORMAT&#xff09;配置标准HQL为&#xff1a; ... ROW FORMAT DELIMITED FIELDS TERMINATED BY \u0001 COLLECTION ITEMS TERMINATED BY , MAP KEYS TERMI…...

    2024/4/27 13:52:15
  18. 【论文阅读】MAG:一种用于航天器遥测数据中有效异常检测的新方法

    文章目录 摘要1 引言2 问题描述3 拟议框架4 所提出方法的细节A.数据预处理B.变量相关分析C.MAG模型D.异常分数 5 实验A.数据集和性能指标B.实验设置与平台C.结果和比较 6 结论 摘要 异常检测是保证航天器稳定性的关键。在航天器运行过程中&#xff0c;传感器和控制器产生大量周…...

    2024/4/27 13:38:13
  19. --max-old-space-size=8192报错

    vue项目运行时&#xff0c;如果经常运行慢&#xff0c;崩溃停止服务&#xff0c;报如下错误 FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory 因为在 Node 中&#xff0c;通过JavaScript使用内存时只能使用部分内存&#xff08;64位系统&…...

    2024/4/27 1:03:20
  20. 基于深度学习的恶意软件检测

    恶意软件是指恶意软件犯罪者用来感染个人计算机或整个组织的网络的软件。 它利用目标系统漏洞&#xff0c;例如可以被劫持的合法软件&#xff08;例如浏览器或 Web 应用程序插件&#xff09;中的错误。 恶意软件渗透可能会造成灾难性的后果&#xff0c;包括数据被盗、勒索或网…...

    2024/4/27 3:22:12
  21. JS原型对象prototype

    让我简单的为大家介绍一下原型对象prototype吧&#xff01; 使用原型实现方法共享 1.构造函数通过原型分配的函数是所有对象所 共享的。 2.JavaScript 规定&#xff0c;每一个构造函数都有一个 prototype 属性&#xff0c;指向另一个对象&#xff0c;所以我们也称为原型对象…...

    2024/4/27 22:51:49
  22. C++中只能有一个实例的单例类

    C中只能有一个实例的单例类 前面讨论的 President 类很不错&#xff0c;但存在一个缺陷&#xff1a;无法禁止通过实例化多个对象来创建多名总统&#xff1a; President One, Two, Three; 由于复制构造函数是私有的&#xff0c;其中每个对象都是不可复制的&#xff0c;但您的目…...

    2024/4/27 3:39:00
  23. python django 小程序图书借阅源码

    开发工具&#xff1a; PyCharm&#xff0c;mysql5.7&#xff0c;微信开发者工具 技术说明&#xff1a; python django html 小程序 功能介绍&#xff1a; 用户端&#xff1a; 登录注册&#xff08;含授权登录&#xff09; 首页显示搜索图书&#xff0c;轮播图&#xff0…...

    2024/4/26 23:53:24
  24. 电子学会C/C++编程等级考试2022年03月(一级)真题解析

    C/C++等级考试(1~8级)全部真题・点这里 第1题:双精度浮点数的输入输出 输入一个双精度浮点数,保留8位小数,输出这个浮点数。 时间限制:1000 内存限制:65536输入 只有一行,一个双精度浮点数。输出 一行,保留8位小数的浮点数。样例输入 3.1415926535798932样例输出 3.1…...

    2024/4/27 20:28:35
  25. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  26. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  27. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  28. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  29. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  30. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  31. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  32. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  33. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  34. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  35. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  36. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  37. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  38. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  39. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  40. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  41. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  42. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  43. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  44. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57