DBSCAN聚类模型

目录

介绍: 

一、数据 

 二、建模

三、评价指标 

3.1metrics.homogeneity_score

3.2metrics.completeness_score

3.3metrics.v_measure_score

3.4metrics.adjusted_rand_score

3.5metrics.adjusted_mutual_info_score

3.6metrics.silhouette_score

四、画图

4.1团簇

4.2圈图

介绍: 

DBSCAN(Density-Based Spatial Clustering of Applications with Noise)是一种基于密度的聚类算法。它能够将具有足够高密度的数据点聚类在一起,并且能够识别噪声点。

DBSCAN算法的基本思想是通过计算每个数据点的邻域密度来确定聚类。具体而言,算法从一个未访问的数据点开始,找到其邻域内的所有数据点。如果邻域内包含足够数量的数据点,则形成一个聚类。然后,对于聚类中的每个数据点,继续查找其邻域内的数据点,并将其加入到聚类中。这个过程不断重复,直到所有的数据点都被访问过。

DBSCAN算法的特点是能够识别任意形状的聚类,并且对噪声点具有鲁棒性。它不需要预先指定聚类的个数,也不受聚类的形状和大小限制。此外,DBSCAN算法还能够处理具有不同密度的数据。

DBSCAN算法的主要参数是邻域半径(epsilon)和最小邻域数(minPts)。邻域半径和最小邻域数决定了聚类的紧密度和噪声点的容忍度。通过调整这两个参数,可以得到不同的聚类结果。

总而言之,DBSCAN算法是一种强大的聚类算法,适用于多种数据集和应用场景。它能够根据数据点的密度特征自动确定聚类,并且能够处理噪声点。

一、数据 

#DBSCAN with cluster spherical dataimport numpy as np
from sklearn.cluster import DBSCAN
from sklearn import metrics
from sklearn.datasets import make_blobs
from sklearn.preprocessing import StandardScaler# Generate sample data
centers = [[1, 1], [-1, -1], [1, -1]]#团状的坐标中心
X, labels_true = make_blobs(n_samples=750, centers=centers, cluster_std=0.4,random_state=0)##n_samples:生成的样本点的总数。
##n_features:生成的样本点的特征数。
##centers:要生成的样本点的中心数或固定中心的位置。
##cluster_std:每个类别的标准差。
##center_box:中心点的箱子边界。
##shuffle:是否打乱样本点的顺序。
##random_state:随机数生成器的种子。X.shape
#(750,2)labels_true
'''结果:
array([0, 1, 0, 2, 0, 1, 1, 2, 0, 0, 1, 1, 1, 2, 1, 0, 1, 1, 2, 2, 2, 2,2, 2, 1, 1, 2, 0, 0, 2, 0, 1, 1, 0, 1, 0, 2, 0, 0, 2, 2, 1, 1, 1,1, 1, 0, 2, 0, 1, 2, 2, 1, 1, 2, 2, 1, 0, 2, 1, 2, 2, 2, 2, 2, 0,2, 2, 0, 0, 0, 2, 0, 0, 2, 1, 0, 1, 0, 2, 1, 1, 0, 0, 0, 0, 1, 2,1, 2, 2, 0, 1, 0, 1, 0, 1, 1, 0, 0, 2, 1, 2, 0, 2, 2, 2, 2, 0, 0,0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 2, 1, 0, 0, 1, 2, 1, 0, 0, 2, 0, 2,2, 2, 0, 1, 2, 2, 0, 1, 0, 2, 0, 0, 2, 2, 2, 2, 1, 0, 2, 1, 1, 2,2, 2, 0, 1, 0, 1, 0, 1, 0, 2, 2, 1, 1, 2, 2, 1, 0, 1, 2, 2, 2, 1,1, 2, 2, 0, 1, 2, 0, 0, 2, 0, 0, 1, 0, 1, 0, 1, 1, 2, 2, 0, 0, 1,1, 2, 1, 2, 2, 2, 2, 0, 2, 0, 2, 2, 0, 2, 2, 2, 0, 0, 1, 1, 1, 2,2, 2, 2, 1, 2, 2, 0, 0, 2, 0, 0, 0, 1, 0, 1, 1, 1, 2, 1, 1, 0, 1,2, 2, 1, 2, 2, 1, 0, 0, 1, 1, 1, 0, 1, 0, 2, 0, 2, 0, 2, 2, 2, 1,1, 0, 0, 1, 1, 0, 0, 2, 1, 2, 2, 1, 1, 2, 1, 2, 0, 2, 2, 0, 1, 2,2, 0, 2, 2, 0, 0, 2, 0, 2, 0, 2, 1, 0, 0, 0, 1, 2, 1, 2, 2, 0, 2,2, 0, 0, 2, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 2, 0,1, 2, 2, 0, 0, 2, 0, 2, 1, 0, 2, 0, 2, 0, 2, 2, 0, 1, 0, 1, 0, 2,2, 1, 1, 1, 2, 0, 2, 0, 2, 1, 2, 2, 0, 1, 0, 1, 0, 0, 0, 0, 2, 0,2, 0, 1, 0, 1, 2, 1, 1, 1, 0, 1, 1, 0, 2, 1, 0, 2, 2, 1, 1, 2, 2,2, 1, 2, 1, 2, 0, 2, 1, 2, 1, 0, 1, 0, 1, 1, 0, 1, 2, 0, 1, 0, 0,2, 1, 2, 2, 2, 2, 1, 0, 0, 0, 0, 1, 0, 2, 1, 0, 1, 2, 0, 0, 1, 0,1, 1, 0, 2, 0, 2, 2, 2, 1, 1, 2, 0, 1, 0, 0, 1, 0, 1, 1, 2, 2, 1,0, 1, 2, 2, 1, 1, 1, 1, 0, 0, 0, 2, 2, 1, 2, 1, 0, 0, 1, 2, 1, 0,0, 2, 0, 1, 0, 2, 1, 0, 2, 2, 1, 0, 2, 0, 2, 1, 1, 0, 2, 0, 0, 1,1, 1, 1, 0, 1, 0, 1, 0, 0, 2, 0, 1, 1, 2, 1, 1, 0, 1, 0, 2, 1, 0,0, 1, 0, 1, 1, 2, 2, 1, 2, 2, 1, 2, 1, 1, 1, 1, 2, 0, 0, 0, 1, 2,2, 0, 2, 0, 2, 1, 0, 1, 1, 0, 0, 1, 2, 1, 2, 2, 0, 2, 1, 1, 1, 2,0, 0, 2, 0, 2, 2, 0, 2, 0, 1, 1, 1, 1, 0, 0, 0, 2, 1, 1, 1, 1, 2,2, 2, 0, 2, 1, 1, 0, 0, 1, 0, 2, 1, 2, 1, 0, 2, 2, 0, 0, 1, 0, 0,2, 0, 0, 0, 2, 0, 2, 0, 0, 1, 1, 0, 0, 1, 2, 2, 0, 0, 0, 0, 2, 1,1, 1, 2, 1, 0, 0, 2, 2, 0, 1, 2, 0, 1, 2, 2, 1, 0, 0, 0, 1, 2, 0,0, 0, 2, 2, 2, 0, 1, 1, 1, 1, 1, 0, 0, 2, 1, 2, 0, 1, 1, 1, 0, 2,1, 1, 1, 2, 1, 2, 0, 2, 2, 1, 0, 0, 0, 1, 1, 2, 0, 0, 2, 2, 1, 2,2, 2, 0, 2, 1, 2, 1, 1, 1, 2, 0, 2, 0, 2, 2, 0, 0, 2, 1, 2, 0, 2,0, 0, 0, 1, 0, 2, 1, 2, 0, 1, 0, 0, 2, 0, 2, 1, 1, 2, 1, 0, 1, 2,1, 2])
'''

 二、建模

X = StandardScaler().fit_transform(X)#标准化# Compute DBSCAN 建模
db = DBSCAN(eps=0.3, min_samples=10).fit(X)##DBSCAN函数有以下参数:
## `eps`:用来定义邻域的半径,超过这个半径的点会被认为是噪音点。默认值为0.5。
##`min_samples`:用来定义一个核心点的最小邻域样本数,如果某个点的邻域内的样本数小于这个值,则该点将被视为噪音点。默认值为5。
##`metric`:用来计算点与点之间的距离的方法。默认值为欧式距离。
## `algorithm`:用来指定计算最近邻的算法。可以选择"auto"(根据数据自动选择算法)、"ball_tree"、"kd_tree"或"brute"。默认值为"auto"。
## `leaf_size`:如果使用"ball_tree"或"kd_tree"算法,该参数用来指定叶子节点的大小。默认值为30。
## `p`:当使用Minkowski距离时,该参数用来指定距离的幂。默认值为2,即欧式距离。
## `n_jobs`:用来指定并行计算的数量。默认值为1,表示不进行并行计算。
## `eps_mode`:用来控制邻域半径的计算方式。可以选择"fixed"(固定的eps值)或"auto"(根据数据自动计算eps值)。默认值为"fixed"。
##以上是DBSCAN函数的一些常用参数,具体使用哪些参数需要根据具体的需求和数据情况来决定。core_samples_mask = np.zeros_like(db.labels_, dtype=bool)core_samples_mask[db.core_sample_indices_] = True
labels = db.labels_
'''结果:
array([ 0,  1,  0,  2,  0,  1,  1,  2,  0,  0,  1,  1,  1,  2,  1,  0, -1,1,  1,  2,  2,  2,  2,  2,  1,  1,  2,  0,  0,  2,  0,  1,  1,  0,1,  0,  2,  0,  0,  2,  2,  1,  1,  1,  1,  1,  0,  2,  0,  1,  2,2,  1,  1,  2,  2,  1,  0,  2,  1,  2,  2,  2,  2,  2,  0,  2,  2,0,  0,  0,  2,  0,  0,  2,  1, -1,  1,  0,  2,  1,  1,  0,  0,  0,0,  1,  2,  1,  2,  2,  0,  1,  0,  1, -1,  1,  1,  0,  0,  2,  1,2,  0,  2,  2,  2,  2, -1,  0, -1,  1,  1,  1,  1,  0,  0,  1,  0,1,  2,  1,  0,  0,  1,  2,  1,  0,  0,  2,  0,  2,  2,  2,  0, -1,2,  2,  0,  1,  0,  2,  0,  0,  2,  2, -1,  2,  1, -1,  2,  1,  1,2,  2,  2,  0,  1,  0,  1,  0,  1,  0,  2,  2, -1,  1,  2,  2,  1,0,  1,  2,  2,  2,  1,  1,  2,  2,  0,  1,  2,  0,  0,  2,  0,  0,1,  0,  1,  0,  1,  1,  2,  2,  0,  0,  1,  1,  2,  1,  2,  2,  2,2,  0,  2,  0,  2,  2,  0,  2,  2,  2,  0,  0,  1,  1,  1,  2,  2,2,  2,  1,  2,  2,  0,  0,  2,  0,  0,  0,  1,  0,  1,  1,  1,  2,1,  1,  0,  1,  2,  2,  1,  2,  2,  1,  0,  0,  1,  1,  1,  0,  1,0,  2,  0,  2,  2,  2,  2,  2,  1,  1,  0,  0,  1,  1,  0,  0,  2,1, -1,  2,  1,  1,  2,  1,  2,  0,  2,  2,  0,  1,  2,  2,  0,  2,2,  0,  0,  2,  0,  2,  0,  2,  1,  0,  0,  0,  1,  2,  1,  2,  2,0,  2,  2,  0,  0,  2,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  0,0,  1,  1,  1,  0,  2,  0,  1,  2,  2,  0,  0,  2,  0,  2,  1,  0,2,  0,  2,  0,  2,  2,  0,  1,  0,  1,  0,  2,  2,  1,  1,  1,  2,0,  2,  0,  2,  1,  2,  2,  0,  1,  0,  1,  0,  0,  0,  0,  2,  0,2,  0,  1,  0,  1,  2,  1,  1,  1,  0,  1,  1,  0,  2,  1,  0,  2,2,  1,  1,  2,  2,  2,  1,  2,  1,  2,  0,  2,  1,  2,  1,  0,  1,0,  1,  1,  0,  1,  2, -1,  1,  0,  0,  2,  1,  2,  2,  2,  2,  1,0,  0,  0,  0,  1,  0,  2,  1,  0,  1,  2,  0,  0,  1,  0,  1,  1,0, -1,  0,  2,  2,  2,  1,  1,  2,  0,  1,  0,  0,  1,  0,  1,  1,2,  2, -1,  0,  1,  2,  2,  1,  1,  1,  1,  0,  0,  0,  2,  2,  1,2,  1,  0,  0,  1,  2,  1,  0,  0,  2,  0,  1,  0,  2,  1,  0,  2,2,  1,  0,  0,  0,  2,  1,  1,  0,  2,  0,  0,  1,  1,  1,  1,  0,1,  0,  1,  0,  0,  2,  0,  1,  1,  2,  1,  1,  0,  1,  0,  2,  1,0,  0,  1,  0,  1,  1,  2,  2,  1,  2,  2,  1,  2,  1,  1,  1,  1,2,  0,  0,  0,  1,  2,  2,  0,  2,  0,  2,  1,  0,  1,  1,  0,  0,1,  2,  1,  2,  2,  0,  2,  1,  1,  1,  2,  0,  0,  2,  0,  2,  2,0,  2,  0,  1,  1,  1,  1,  0,  0,  0,  2,  1,  1,  1,  1,  2,  2,2,  0,  2,  1,  1,  0,  0,  1,  0,  2,  1,  2,  1,  0,  2,  2,  0,0,  1,  0,  0,  2,  0,  0,  0,  2,  0,  2,  0,  0,  1,  1,  0,  0,1,  2,  2,  0,  0,  0,  0,  2, -1,  1,  1,  2,  1,  0,  0,  2,  2,0,  1,  2,  0,  1,  2,  2,  1,  0,  0, -1, -1,  2,  0,  0,  0,  2,-1,  2,  0,  1,  1,  1,  1,  1,  0,  0,  2,  1,  2,  0,  1,  1,  1,0,  2,  1,  1, -1,  2,  1,  2,  0,  2,  2,  1,  0,  0,  0,  1,  1,2,  0,  0,  2,  2,  1,  2,  2,  2,  0,  2,  1,  2,  1,  1,  1,  2,0,  2,  0,  2,  2,  0,  0,  2,  1,  2,  0,  2,  0,  0,  0,  1,  0,2,  1,  2,  0,  1,  0,  0,  2,  0,  2,  1,  1,  2,  1,  0,  1,  2,1,  2], dtype=int64)
'''

三、评价指标 

3.1metrics.homogeneity_score

metrics.homogeneity_score是一个用于评估聚类结果的指标,它衡量了每个聚类都只包含同一个真实类别的程度。具体来说,homogeneity_score计算每个真实类别在被分配到的聚类中的比例,并对这些比例取平均值。如果聚类结果完全一致,所有的真实类别只包含在一个聚类中,homogeneity_score的值为1;如果聚类结果完全不一致,所有的真实类别均被分散到不同的聚类中,homogeneity_score的值为0。homogeneity_score的取值范围在0到1之间,数值越高表示聚类结果越好。

3.2metrics.completeness_score

metrics.completeness_score是一个用于度量聚类算法结果的完整性的指标。它衡量了聚类结果中每个类别所包含的样本数量与原始数据集中属于该类别的样本数量之比的平均值。具体计算方式如下:

completeness_score = 1 - H(C|K) / H(C)

其中,H(C|K)表示给定聚类结果K的条件熵,即在已知聚类结果K的条件下,真实类别C的熵。H(C)表示真实类别C的熵,即在不考虑聚类结果的情况下,真实类别C的熵。

completeness_score的取值范围在[0, 1]之间,越接近1表示聚类结果越完整,即每个类别中的样本都属于同一个真实类别。

3.3metrics.v_measure_score

metrics.v_measure_score是一种用于比较两个聚类结果相似性的评估指标。它结合了聚类结果的精确度(homogeneity)和完整度(completeness),通过计算调和平均值来得出最终的分数。精确度衡量的是同一类样本被分到同一簇的程度,完整度衡量的是同一簇的样本被分到同一类的程度。v_measure_score的取值范围在0和1之间,数值越大表示聚类结果越相似。

3.4metrics.adjusted_rand_score

metrics.adjusted_rand_score是一个评估聚类算法性能的指标。它用于比较聚类结果和真实标签之间的相似性。 调整兰德指数(Adjusted Rand Index,ARI)是一种广泛使用的聚类评估指标之一。

调整兰德指数的取值范围从-1到1。当ARI的值接近1时,表示聚类结果与真实标签高度一致;当ARI的值接近0时,表示聚类结果与真实标签随机一致;而当ARI的值接近-1时,表示聚类结果与真实标签完全不一致。

该指标基于真实的分类标签和聚类算法产生的标签之间的匹配程度,并考虑到了随机聚类所产生的匹配情况。因此,调整兰德指数能够更准确地评估聚类算法的性能。

3.5metrics.adjusted_mutual_info_score

metrics.adjusted_mutual_info_score是一个用来度量聚类算法结果与真实标签之间的相似性的评价指标。聚类是一种无监督学习算法,它将数据点分成不同的组或簇。而真实标签表示每个数据点的真实类别。adjusted_mutual_info_score计算聚类结果与真实标签之间的调整后的互信息,用来评估聚类算法的性能。互信息是一种度量两个随机变量之间相互依赖程度的指标,而调整后的互信息是对互信息进行调整,以解决聚类数量不同时评价指标值的问题。通过比较不同聚类算法的adjusted_mutual_info_score,可以评估它们在数据集上的性能和效果。

3.6metrics.silhouette_score

metrics.silhouette_score是一个计算聚类模型的轮廓系数的函数。轮廓系数是一种用来评估聚类质量的指标,它衡量了每个样本距离其所属聚类的紧密程度和与其他聚类的分离程度。轮廓系数的取值范围是[-1, 1],数值越接近1表示聚类效果越好。 

# Number of clusters in labels, ignoring noise if present.
n_clusters_ = len(set(labels)) - (1 if -1 in labels else 0)
n_noise_ = list(labels).count(-1)n_clusters_#有三个团
#3n_noise_#噪音个数
#18print('Estimated number of clusters: %d' % n_clusters_)
print('Estimated number of noise points: %d' % n_noise_)
print("Homogeneity: %0.3f" % metrics.homogeneity_score(labels_true, labels))
print("Completeness: %0.3f" % metrics.completeness_score(labels_true, labels))
print("V-measure: %0.3f" % metrics.v_measure_score(labels_true, labels))
print("Adjusted Rand Index: %0.3f"% metrics.adjusted_rand_score(labels_true, labels))
print("Adjusted Mutual Information: %0.3f"% metrics.adjusted_mutual_info_score(labels_true, labels))
print("Silhouette Coefficient: %0.3f"% metrics.silhouette_score(X, labels))
'''结果:
Estimated number of clusters: 3
Estimated number of noise points: 18
Homogeneity: 0.953
Completeness: 0.883
V-measure: 0.917
Adjusted Rand Index: 0.952
Adjusted Mutual Information: 0.916
Silhouette Coefficient: 0.626
'''

四、画图

4.1团簇

# Plot result 画图
import matplotlib.pyplot as plt
%matplotlib inline# Black removed and is used for noise instead.
unique_labels = set(labels)unique_labels
#结果:{-1, 0, 1, 2}colors = [plt.cm.Spectral(each)for each in np.linspace(0, 1, len(unique_labels))]
'''结果:
[(0.6196078431372549, 0.00392156862745098, 0.25882352941176473, 1.0),(0.9934640522875817, 0.7477124183006535, 0.4352941176470587, 1.0),(0.7477124183006538, 0.8980392156862746, 0.6274509803921569, 1.0),(0.3686274509803922, 0.30980392156862746, 0.6352941176470588, 1.0)]
'''for k, col in zip(unique_labels, colors):if k == -1:# Black used for noise.col = [0, 0, 0, 1]class_member_mask = (labels == k)xy = X[class_member_mask & core_samples_mask]plt.plot(xy[:, 0], xy[:, 1], 'o', markerfacecolor=tuple(col),markeredgecolor='k', markersize=14)xy = X[class_member_mask & ~core_samples_mask]plt.plot(xy[:, 0], xy[:, 1], 'o', markerfacecolor=tuple(col),markeredgecolor='k', markersize=6)plt.title('Estimated number of clusters: %d' % n_clusters_)
plt.show()

4.2圈图

import numpy as np
import matplotlib.pyplot as plt
from sklearn import metrics
from sklearn.datasets import make_circles
from sklearn.preprocessing import StandardScaler
from sklearn.cluster import DBSCANX, y = make_circles(n_samples=750, factor=0.3, noise=0.1)
X = StandardScaler().fit_transform(X)
y_pred = DBSCAN(eps=0.3, min_samples=10).fit_predict(X)plt.scatter(X[:,0], X[:,1], c=y_pred)
print('Number of clusters: {}'.format(len(set(y_pred[np.where(y_pred != -1)]))))
print('Homogeneity: {}'.format(metrics.homogeneity_score(y, y_pred)))
print('Completeness: {}'.format(metrics.completeness_score(y, y_pred)))
print("V-measure: %0.3f" % metrics.v_measure_score(labels_true, labels))
print("Adjusted Rand Index: %0.3f"% metrics.adjusted_rand_score(labels_true, labels))
print("Adjusted Mutual Information: %0.3f"% metrics.adjusted_mutual_info_score(labels_true, labels))
print("Silhouette Coefficient: %0.3f"% metrics.silhouette_score(X, labels))'''结果:
Number of clusters: 2
Homogeneity: 1.0
Completeness: 0.924494011741168
V-measure: 0.917
Adjusted Rand Index: 0.952
Adjusted Mutual Information: 0.916
Silhouette Coefficient: -0.074
'''

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/605463.shtml

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

相关文章

假设与灵敏度分析

灵敏度分析 关系究竟有多敏感,就要进行灵敏度分析 如果你改变了系统参数后,引起这个模型(公式)输出的变化的程度不大,则说明你的模型稳定性较强(即灵敏性较差),反之则反&#xff01…

前端-基础 常用标签-超链接标签( 锚点链接 )

锚点链接 : 点击链接,可以快速定位到 页面中的某个位置 如果不好理解,讲一个例子,您就马上明白了 >>> 这个是 刘德华的百度百科 ,可以看到,页面里面有很多内容,那就得有个目录了 …

为什么地中海气候对葡萄最有益?

优质葡萄酒离不开优秀的葡萄品种,更离不开有利的风土优势。云仓酒庄的品牌雷盛红酒LEESON分享熟悉葡萄酒知识的朋友都听说过不少葡萄酒产区是被老天爷眷顾的地中海气候。 为什么地中海气候对葡萄种植最有益呢?云仓酒庄的品牌雷盛红酒LEESON分享因为这是一…

5g视频短信群发助力汽车销售!

视频短信群发在汽车销售中具有以下优势: 1.增强品牌形象:通过视频短信,可以向潜在客户展示汽车品牌形象、企业文化和价值观,提升品牌认知度和美誉度。 2.产品展示与介绍:视频短信可以用来详细介绍汽车的特点、功能和优…

React.Children.map 和 js 的 map 有什么区别?

JavaScript 中的 map 不会对为 null 或者 undefined 的数据进行处理,而 React.Children.map 中的 map 可以处理 React.Children 为 null 或者 undefined 的情况。 React 空节点:可以由null、undefined、false、true创建 import React from reactexport …

大模型学习第二课

学习目标: 浦语大模型趣味Demo 学习内容: 学习时间: 20240108 学习产出: InternLM介绍 大模型:人工智能领域钟参数数量巨大、拥有庞大计算能力和参数规模的模型。InternLM模型全链条开源,7B,…

BUUCTF--铁人三项(第五赛区)_2018_rop1

这题是一题标准的rop。先简单查看下保护: 32位程序,黑盒测试下效果: 一上来就是输入,然后结尾会输出Hello,World.看看IDA中具体逻辑如何: 漏洞点主要在vulnerable_function()函数中。老常规栈溢出了。做这种题的思路&a…

Eltima 端口虚拟化软件授权分析

目录 Eltima 端口虚拟化软件 授权文件加密方式 授权文件格式 key_type 授权类型 errorCode 授权状态 hid 硬件编码 授权许可 1、替换公钥 2、dll劫持hook 测试验证 成品 Eltima 端口虚拟化软件 USB Network Gate 通过局域网和互联网共享和接入USB端口Serial to Eth…

80/20法则-扫盲和复习篇

80/20法则-扫盲和复习篇 一、80/20法则二、对于目标三、时间管理应用四、“二八定律”基本内容总结 一、80/20法则 “80/20法则”是20世纪初意大利统计学家、经济学家维尔弗雷多帕累托提出的,他指出:在任何特定群体中,重要的因子通常只占少数…

Vue脚手架及组件开发

组件插槽: 路由数据传递:

静态网页设计——科学家网(HTML+CSS+JavaScript)(dw、sublime Text、webstorm、HBuilder X)

前言 声明:该文章只是做技术分享,若侵权请联系我删除。!! 感谢大佬的视频:https://www.bilibili.com/video/BV1wg4y1Q7qm/?vd_source5f425e0074a7f92921f53ab87712357b 源码:https://space.bilibili.com…

在群晖NAS上搭建私有部署笔记软件——Blossom

一、Blossom 简介 Blossom 是一个需要私有部署的笔记软件,虽然本身定位是一个云端软件,但你仍然可以在本地部署,数据和图片都将保存在本地,不依赖任何的图床或者对象存储。 Blossom | Blossom (wangyunf.com)https://www.wangyun…

01第一个Mybatis程序+引入Junit+引入日志文件logback

Mybatis MyBatis本质上就是对JDBC的封装,通过MyBatis完成CRUD。而对于JDBC,SQL语句写死在Java程序中,不灵活。改SQL的话就要改Java代码。违背开闭原则OCP。对于事务机制,MyBatis支持 或managed模式,JDBC模式中MyBatis…

基于SSM图书管理系统【源码】【最详细运行文档】

SSM图书管理系统【源码】【最详细运行文档】 系统简介系统涉及系统运行系统演示源码获取 系统简介 以往的图书馆管理事务处理主要使用的是传统的人工管理方式,这种管理方式存在着管理效率低、操作流程繁琐、保密性差等缺点,长期的人工管理模式会产生大量…

python 写自动点击爬取数据

今天来点不一样的!哥们 提示: 这里只是用于自己学习的 ,请勿用违法地方 效果图 会进行点击下一页 进行抓取 需要其他操作也可以自己写 文章目录 今天来点不一样的!哥们前言一、上代码?总结 前言 爬虫是指通过编程自动…

Spark基础原理

Spark On Yarn Spark On Yarn的本质 Spark专注于分布式计算,Yarn专注于资源管理,Spark将资源管理的工作交给了Yarn来负责 Spark On Yarn两种部署方式 Spark中有两种部署方式,Client和Cluster方式,默认是Client方式。这两种方式的本质区别&#xff0c…

[C#]winform利用seetaface6实现C#人脸检测活体检测口罩检测年龄预测性别判断眼睛状态检测

【官方框架地址】 https://github.com/ViewFaceCore/ViewFaceCore 【算法介绍】 SeetaFace6是由中国科技公司自主研发的一款人脸识别技术,它基于深度学习算法,能够快速、准确地识别出人脸,并且支持多种应用场景,如门禁系统、移动…

智慧校园电子班牌管理系统源码 Java Android原生

智慧校园电子班牌系统源码是一种智能化的教育管理解决方案,它可以在学校内实现信息共享、教学管理、学生管理、家校互通等各个方面的协调与配合,帮助教师、学生和家长更加高效地开展教学活动、管理学生、协同合作,从而推动学校教育水平的提高…

Redis内存策略:「过期Key删除策略」+ 「内存淘汰策略」

Redis之所以性能强,最主要的原因就是基于内存存储,然而单节点的Redis其内存大小不宜过大,否则会影响持久化或主从同步的性能。 Redis内存满了,会发生什么? 在Redis的运行内存达到了某个阈值,就会触发内存…

图神经网络入门

图神经网络(GNN)是一组在图领域工作的深度学习方法。 这些网络最近已应用于多个领域,包括: 组合优化、推荐系统、计算机视觉—仅举几例。 这些网络还可用于对大型系统进行建模,例如社交网络、蛋白质-蛋白质相互作用网络…