数据库的表往往可以划分为如下三类

  • 业务表,其操作特点是随机增、随机删、随机改、随机查。业务表来源于需要应用系统处理的业务实体,业务实体所包含的基本属性和状态被称为业务属性,其与业务表的列之间存在对应关系。
  • 日志表,其操作特点是顺序增、不删、不改、多查。日志表用于记录原始日志或者历史数据,顾名思义,之所以被成为日志表,是因为这些日志和数据一旦生成,就不会被更改,也不会被删除。
  • 汇总表,其操作特点是顺序增、不删、少改、多查。对于数据统计分析功能,如果直接使用日志表无法满足性能要求,则可以引入汇总表。在本质上汇总表是以预先汇总数据和存储汇总结果为代价,来提高数据统计分析功能的访问性能。基于不同的业务场景和业务需求,既可以在将数据插入日志表后,实时地以逐条方式插入或者更新汇总表,也可以间隔一定周期,定时地以批量方式读取日志表中的数据并执行汇总操作,然后批量地将汇总结果插入汇报表。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我会尽力回答你的问题。首先,针对你的问题,我需要说明一下,我是一个AI语言模型,没有存储任何历史信息,所以我并不知道你之前对我说了什么话。不过,我可以帮助你解决问题,以下是我对你的问题的回答。 针对你的问题,我将一步一步地介绍如何使用python语言,应用Kmeans++算法,编写程序实现聚类并测试MNIST数据集数据库。具体步骤如下: 一、载入数据,然后划分为训练集和测试集。 首先,我们需要从MNIST数据集中载入数据。MNIST数据集是一个手写数字识别的数据集,其中包含了60000个训练样本和10000个测试样本,每个样本是一个28*28的灰度图像。你可以从官网下载MNIST数据集,也可以使用python中的keras库直接载入数据。 代码示例: ```python from keras.datasets import mnist (x_train, y_train), (x_test, y_test) = mnist.load_data() ``` 接下来,我们需要将数据进行预处理,将像素值缩放到0到1之间,并将28*28的图像转换为一个784维的向量。同时,我们需要将训练集和测试集进行划分,一般情况下,我们可以将70%的数据作为训练集,30%的数据作为测试集。 代码示例: ```python import numpy as np from sklearn.model_selection import train_test_split x_train = x_train.reshape(-1, 784) / 255.0 x_test = x_test.reshape(-1, 784) / 255.0 y_train = np.eye(10)[y_train] y_test = np.eye(10)[y_test] x_train, x_val, y_train, y_val = train_test_split(x_train, y_train, test_size=0.3, random_state=2021) ``` 二、应用PCA算法对数据进行降维处理。 MNIST数据集的维度是很高的,这会导致计算量非常大,因此我们需要对数据进行降维处理。常用的降维方法有PCA和t-SNE等。这里我们使用PCA对数据进行降维。 代码示例: ```python from sklearn.decomposition import PCA pca = PCA(n_components=50) x_train_pca = pca.fit_transform(x_train) x_val_pca = pca.transform(x_val) x_test_pca = pca.transform(x_test) ``` 三、编写Kmeans++算法程序,用训练集实现聚类。 Kmeans++是一种常用的聚类算法,在处理大规模数据时效果比较好。其主要思想是选择初始聚类中心时,让它们尽可能地分散开来,避免聚类中心过于靠近或者重合。在Kmeans++算法中,将数据划分为K个簇,然后通过不断迭代,使得每个数据点与最近的聚类中心相连。最终的目标是使得所有数据点都距离最近的聚类中心最近,同时使得每个簇的内部方差最小。 代码示例: ```python from sklearn.cluster import KMeans kmeans = KMeans(n_clusters=10, init='k-means++', random_state=2021) kmeans.fit(x_train_pca) train_pred = kmeans.predict(x_train_pca) val_pred = kmeans.predict(x_val_pca) test_pred = kmeans.predict(x_test_pca) ``` 四、计算聚类的sh系数。 为了评估聚类的效果,我们可以采用sh系数来衡量聚类的紧密程度和分离程度。sh系数越大,说明聚类效果越好。 代码示例: ```python from sklearn.metrics import silhouette_score train_score = silhouette_score(x_train_pca, train_pred) val_score = silhouette_score(x_val_pca, val_pred) test_score = silhouette_score(x_test_pca, test_pred) print("Train sh score: {:.4f}, Val sh score: {:.4f}, Test sh score: {:.4f}".format(train_score, val_score, test_score)) ``` 五、用测试集进行验证(可以采用KNN算法)。 最后,我们可以使用KNN算法来对测试集进行验证。KNN算法是一种基于距离的分类算法,它的基本思想是将每个测试样本与训练集中的所有样本进行距离比较,然后将距离最近的K个样本作为该测试样本的邻居,根据邻居的标签进行分类。 代码示例: ```python from sklearn.neighbors import KNeighborsClassifier knn = KNeighborsClassifier(n_neighbors=5) knn.fit(x_train_pca, np.argmax(y_train, axis=1)) train_acc = knn.score(x_train_pca, np.argmax(y_train, axis=1)) val_acc = knn.score(x_val_pca, np.argmax(y_val, axis=1)) test_acc = knn.score(x_test_pca, np.argmax(y_test, axis=1)) print("Train acc: {:.4f}, Val acc: {:.4f}, Test acc: {:.4f}".format(train_acc, val_acc, test_acc)) ``` 以上就是使用python语言,应用Kmeans++算法,编写程序实现聚类并测试MNIST数据集数据库的完整步骤。希望我的回答能够对你有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值