The data mining framework root: shared mining utilities and the interfaces implemented by all mining algorithms.
Microsoft.VisualBasic.DataMining.Framework 1.0.9762.11310.
01 Namespaces
Microsoft.VisualBasic.DataMining
| Type | Summary | Members |
|---|---|---|
| MarginalLikelihoodAnalysis | @author Marc Suchard @author Alexei Drummond Source translated from model_P.c (a component of BAli-Phy by Benjamin Redelings and Marc Suchard | 12 |
| SelfOrganizingMap | SOM: Self-Organizing Map | 8 |
| Standardizer | 每维度特征的 z-score 标准化器。 训练阶段按特征维计算均值/标准差,推理阶段复用同一套参数, 解决各维度特征量纲差异大导致的梯度不稳定问题。 零方差维度标准差置 1,避免除零。 | 6 |
| Statistics | Set of statistics functions. | 6 |
| ValueMapping | 3 |
Microsoft.VisualBasic.DataMining.AprioriRules
The Apriori association rule mining algorithm.
| Type | Summary | Members |
|---|---|---|
| AprioriExport | AprioriRules API export module | 2 |
| Encoding | Transaction encoding helper.(对一个Transaction之中的独立部件编码为一个字符) | 6 |
| Item | mapping the Item.Item string comparision to Item.Code comparision | 9 |
| ItemSet | 18 |
Microsoft.VisualBasic.DataMining.AprioriRules.Entities
Entity models of the Apriori association rule algorithm, such as item sets and association rules.
| Type | Summary | Members |
|---|---|---|
| Output | 6 | |
| Rule | 10 | |
| Transaction | a transaction record | 4 |
Microsoft.VisualBasic.DataMining.AprioriRules.Impl
The internal implementation of the Apriori association rule algorithm.
| Type | Summary | Members |
|---|---|---|
| Apriori | 关联分析程序(当某一种事务的样本较少的时候,将无法分析出关联性) | 7 |
Microsoft.VisualBasic.DataMining.Clustering
The clustering namespace root: shared clustering abstractions over the supported algorithms.
| Type | Summary | Members |
|---|---|---|
| CanopyBuilder | initial for k-means | 3 |
| ClusteringTableExtensions | 统一的二维表聚类扩展入口集合。 这里的每一个扩展方法都以经过预处理之后的纯数值二维表NumericTable 作为数据输入,并且将聚类结果写入标签矩阵,最终返回写入结果之后的原表对象。 | 15 |
| Density | evaluate point density | 3 |
| KNN | KNN classifier | 3 |
| Mark | 4 | |
| NumericRow | 数值行对象:包装统一二维表NumericTable之中的一行数值数据, 同时携带样本 ID 与该行在原始表之中的下标。 该对象用于在不修改既有泛型聚类算法内部实现的前提之下,让这些算法直接消费 二维表的数值行。 | 3 |
| Spectral | Spectral Clustering | 12 |
Microsoft.VisualBasic.DataMining.ComponentModel
The component model of the data mining framework: the shared data mining component interfaces and their containers.
| Type | Summary | Members |
|---|---|---|
| EntityBase | An abstract property vector | 4 |
| IDataEmbedding | 2 | |
| IntegerEntity | {Properties} -> Class | 4 |
| TraceBackAlgorithm | 2 | |
| TraceBackIterator | A helper module for record the clustering traceback information for run algorithm debug | 3 |
Microsoft.VisualBasic.DataMining.ComponentModel.Discretion
Data discretization used when preparing machine learning features.
| Type | Summary | Members |
|---|---|---|
| Discretizer | 通过这个对象来执行对连续性数值的数据集的离散化操作 | 6 |
| NormalRangeDiscretizer | 对原始数据进行区间离散化 | 6 |
Microsoft.VisualBasic.DataMining.ComponentModel.Encoder
Feature encoding models that convert categorical and numeric data into feature vectors.
| Type | Summary | Members |
|---|---|---|
| ClassEncoder | 11 | |
| ColorClass | Object entity classification class | 16 |
Microsoft.VisualBasic.DataMining.ComponentModel.Encoder.Variable
Variable (value range) definitions used by the feature encoders.
| Type | Summary | Members |
|---|---|---|
| Binary | 1 |
Microsoft.VisualBasic.DataMining.ComponentModel.EntityModels
Entity model interfaces for the data mining components.
| Type | Summary | Members |
|---|---|---|
| ClusterEntity | A tagged numeric vector | 10 |
| EntityClusterModel | 存储在Csv文件里面的数据模型,近似等价于csv DataSet对象, 只不过多带了一个用来描述cluster的EntityClusterModel.Cluster 属性标签 | 2 |
Microsoft.VisualBasic.DataMining.ComponentModel.Normalizer
Data normalization used when preparing machine learning features.
| Type | Summary | Members |
|---|---|---|
| Methods | 6 | |
| Normalizations | 3 |
Microsoft.VisualBasic.DataMining.ComponentModel.Serialization
Serialization of the data mining component models.
| Type | Summary | Members |
|---|---|---|
| EntityVectorFile | helper module for IPC parallel or store the result data | 0 |
Microsoft.VisualBasic.DataMining.DBSCAN
Density based spatial clustering of applications with noise (DBSCAN).
| Type | Summary | Members |
|---|---|---|
| DbscanAlgorithm | DBSCAN algorithm class, Density-based spatial clustering of applications with noise (DBSCAN) | 2 |
| DbscanPoint | 1 | |
| DbscanSession | 8 |
Microsoft.VisualBasic.DataMining.DecisionTree
Decision tree learning: tree construction and the decision tree model.
| Type | Summary | Members |
|---|---|---|
| Algorithm | Algorithm module for train a new decision tree model | 2 |
| Attributes | Node attribute value | 5 |
| Tree | Implementation of the ID3 to create a decision tree > https://github.com/WolfgangOfner/DecisionTree | 7 |
| VisualDebugger | Display debug info on console | 2 |
Microsoft.VisualBasic.DataMining.DecisionTree.Data
Data models used by the decision tree learner.
| Type | Summary | Members |
|---|---|---|
| DataImports | 2 | |
| DataTable | 训练集样本数据表 | 7 |
| Entity | A row in data table.(分类用的对象实例) | 3 |
Microsoft.VisualBasic.DataMining.DFL_Driver
The DFL driver interface of the data mining framework.
| Type | Summary | Members |
|---|---|---|
| dflNode | A node in the fuzzy logic network.(模糊逻辑网络之中的一个节点) | 3 |
| I_FactorElement | This object represents the factor which decides the node state changes.(决定dflNode的状态的因素) | 10 |
Microsoft.VisualBasic.DataMining.Evaluation
模型质量评估工具模块(统一评估框架)。 本模块为三类结果数据提供统一的评估能力: + 机器学习分类结果:ClassificationResult(分数 + 标签) + 回归结果:RegressionResult(预测值 + 连续真值) + 聚类结果:ClusteringResult(特征矩阵 + 簇标签,可带真值标签) 使用方式: vb Dim report As EvaluationReport = ModelEvaluation.Evaluate( ClassificationResult.Create(scores, labels, "my-model")) Dim auc As Double = report.Metric("auc") Dim curve As RocCurve = report.Curve 架构说明: 1. 唯一 ROC/AUC 核心:RocBuilder 负责曲线生成, RocAuc 负责面积与最佳阈值计算。模块内不再存在任何重复实现。 2. 统一报告与可扩展指标:MetricRegistry 维护 「结果种类 → 指标」的注册表,并可注册自定义指标; ModelEvaluation 是唯一的评估入口。 3. 兼容层:Validation、ROC、Validate、 RegressionROC、Metric 保留原有公开签名, 但内部全部委托到上述核心实现。 4. 单位约定(重要):Validation 的所有比率字段 (Sensibility / Specificity / Accuracy / Precision / FPR)以及 AUC 一律使用 [0, 1] 的分数表示,不再使用 [0, 100] 的百分数。
| Type | Summary | Members |
|---|---|---|
| ChangePoint | 混淆矩阵在排序扫描过程之中的一个变化点(SVM.NET 评估器内部使用)。 | 0 |
| ClassificationResult | 机器学习分类结果的统一数据模型:(分数, 0/1 标签)。 该类型替代了原先散落在 Metric.auc())、ROC.AUC()) 等处的裸 Double() 参数组合,是统一评估框架之中分类结果的标准输入。 | 11 |
| ClusteringIndices | 聚类质量指标的唯一实现。 输入统一为「行主序特征矩阵 + 整数簇标签」,不依赖任何具体的聚类算法模型 (避免耦合已经标记为 Obsolete 的 ClusterEntity / KMeans.Bisecting.Cluster)。 提供两类指标: + 内部指标(不需要真值标签):ClusteringIndices.Silhouette()… | 14 |
| ClusteringResult | 聚类结果的统一数据模型:(特征矩阵, 簇标签),可选附带真值标签。 该类型刻意使用纯数值的 Double()() 与 Integer() 表示, 以避免依赖已经标记为 Obsolete 的 ClusterEntity / KMeans.Bisecting.Cluster。 | 10 |
| EvaluationReport | 统一评估报告:一个结果数据在统一框架之下计算出的全部指标。 | 9 |
| FakeAUCGenerator | 依据目标 AUC 反向生成「假」的预测向量,用于构造测试数据。 | 2 |
| IEvaluationResult | 统一评估框架的输入契约:任何可被评估的结果数据都需要声明自己的种类与名字。 | 2 |
| IMetric | 统一的「(预测值, 标签) → 指标值」委托。 该签名属于公开契约(例如 xgboost 项目通过 Metric.GetMetric()) 使用), 因此在本轮重构之中保持不变。 | 3 |
| IRocResult | 能够产生 ROC 曲线的结果数据(分类与回归结果)。 | 1 |
| Metric | 经典模型评估指标的兼容入口。 数值实现全部委托到统一核心(Metric.auc()) 等),本类型只负责名称解析与 保持既有的公开签名不变。 | 10 |
| MetricRegistry | 可扩展的评估指标注册表。 内置了分类/回归/聚类三类结果的标准指标,并允许 通过 MetricRegistry.Register()) 注册自定义指标, 从而把「统一评估框架」扩展到新的度量之上。 | 5 |
| Metrics | 11 | |
| ModelEvaluation | 统一评估框架的入口(Facade)。 对「机器学习分类结果 / 回归结果 / 聚类结果」三类结果数据,调用 ModelEvaluation.Evaluate()) 等重载即可得到统一的 EvaluationReport,其中包含该结果种类下所有已注册指标 (参见 MetricRegistry)以及可选的 ROC 曲线。 | 4 |
| NamedMetric | 一个具名评估指标:声明它适用于哪一类结果数据,以及如何计算。 | 4 |
| PerformanceEvaluator | Class which evaluates an SVM model using several standard techniques. | 6 |
| RankPair | Class encoding a member of a ranked set of labels. | 5 |
| RegressionClassify | The regression classifier result. | 6 |
| RegressionResult | 回归结果的统一数据模型:(预测值, 连续真值)。 回归模型同样可以评估 ROC/AUC:通过把连续真值按照阈值切分为二分类问题 (参见 RegressionROC),这正是原先 RegressionClassify 所做的事情,现在统一由本类型承载。 | 8 |
| RegressionROC | 回归模型的 ROC 评估。 通过把连续真值按照阈值切分为二分类问题,从而为回归结果构造 ROC 曲线。 曲线的生成统一委托到 RocBuilder.SweepThresholds()), 本模块只保留「如何把回归误差转换为二分类判定」的业务逻辑。 | 2 |
| ResultKinds | 评估结果数据的形式(对应统一评估框架所支持的三类结果)。 | 6 |
| ROC | ROC / AUC 的兼容薄封装层。 本模块不再包含任何独立的 ROC 曲线或 AUC 计算逻辑, 全部委托到统一核心 RocBuilder(曲线构建)与 ROC.AUC())(面积计算)。 | 5 |
| RocAuc | 统一的 AUC(Area Under the ROC Curve)计算核心。 这是整个 Evaluation 模块之中唯一的 AUC 实现: Metric.auc())、ROC.AUC())、 ROC.SimpleAUC())、Validation.AUC()) 以及 PerformanceEvaluator 的曲线面积全部委托到这里, 从而保… | 8 |
| RocBuilder | 统一的 ROC 曲线构建器。 这是 Evaluation 模块之中唯一的曲线生成实现,提供三种入口: 1. | 6 |
| RocCurve | 统一的 ROC 曲线模型:Evaluation 模块之中唯一的曲线结果载体。 一条 ROC 曲线由若干 Validation 阈值点组成(按 FPR 升序排列), 并附带由 RocAuc.Trapezoid()) 计算出来的曲线下面积 以及 RocAuc.BestThreshold()) 给出的最佳阈值下标。 | 8 |
| Validate | 一个包含有多维度验证结果输出的样本验证结果 | 6 |
| Validation | 验证结果描述:ROC 曲线之上的一个阈值点。 灵敏度 = 真阳性人数 / (真阳性人数 + 假阴性人数) 特异度 = 真阴性人数 / (真阴性人数 + 假阳性人数) 注意:本类型是整个 Evaluation 模块的规范 ROC 点, 其中 Validation.Sensibility / Validation.Specificity / Va… | 12 |
Microsoft.VisualBasic.DataMining.FuzzyCMeans
Fuzzy C-Means clustering.
| Type | Summary | Members |
|---|---|---|
| CMeans | the cmeans algorithm module Fuzzy clustering (also referred to as soft clustering) is a form of clustering in which each data point can belong to more than one cluster. | 6 |
| CMeansEngine | 基于数值行(Double())的模糊 C 均值聚类引擎。 该引擎直接消费NumericTable的特征矩阵,不再依赖 ClusterEntity 实体对象, 运算结果(隶属度矩阵与硬划分结果)可以写回标签矩阵。 | 3 |
| CMeansResult | 模糊 C 均值聚类的数值计算结果 | 3 |
| FuzzyCMeansEntity | A numeric vector object that tagged with the fuzzy cmeans cluster membership values | 2 |
Microsoft.VisualBasic.DataMining.HDBSCAN.Distance
Distance metrics used by the HDBSCAN clustering algorithm.
| Type | Summary | Members |
|---|---|---|
| CosineSimilarity | Computes cosine similarity between two points, d = 1 - ((X*Y) / (||X||*||Y||)) | 2 |
| EuclideanDistance | Computes the euclidean distance between two points, d = sqrt((x1-y1)^2 + (x2-y2)^2 + ... | 1 |
| IDistanceCalculator | An interface for classes which compute the distance between two points (where points are represented as arrays of doubles). | 1 |
| ISparseMatrixSupport | 1 | |
| ManhattanDistance | Computes the manhattan distance between two points, d = |x1-y1| + |x2-y2| + ... | 1 |
| PearsonCorrelation | Computes the euclidean distance between two points, d = 1 - (cov(X,Y) / (std_dev(X) * std_dev(Y))) | 1 |
| SupremumDistance | Computes the supremum distance between two points, d = max[(x1-y1), (x2-y2), ... | 1 |
Microsoft.VisualBasic.DataMining.HDBSCAN.Hdbscanstar
The HDBSCAN* hierarchical density based clustering algorithm.
| Type | Summary | Members |
|---|---|---|
| Cluster | An HDBSCAN* cluster, which will have a birth level, death level, stability, and constraint satisfaction once fully constructed. | 15 |
| HdbscanAlgorithm | 8 | |
| HdbscanConstraint | A clustering constraint (either a must-link or cannot-link constraint between two points). | 4 |
| OutlierScore | Simple storage class that keeps the outlier score, core distance, and id (index) for a single point. | 4 |
| UndirectedGraph | An undirected graph, with weights assigned to each edge. | 11 |
Microsoft.VisualBasic.DataMining.Kernel.BayesianBeliefNetwork
The Bayesian belief network kernel.
| Type | Summary | Members |
|---|---|---|
| BeliefNetwork | 贝叶斯信念网络 | 4 |
| BeliefNode | 贝叶斯信念网络中的一个节点 | 10 |
| BElim | 1 |
Microsoft.VisualBasic.DataMining.Kernel.Classifier
Kernel based classification algorithms.
Microsoft.VisualBasic.DataMining.KMeans
K-Means clustering.
| Type | Summary | Members |
|---|---|---|
| Cluster | A collection of the target entity object will be a cluster | 4 |
| ClusterCollection | A collection of Cluster objects or Clusters | 5 |
| Evaluation | 判断聚类结果优劣的两个距离判定方法 | 9 |
| EvaluationScore | 9 | |
| Extensions | 4 | |
| KMeansAlgorithm | This class implement a KMeans clustering algorithm. | 5 |
| KMeansCluster | A class containing a group of data with similar characteristics (cluster), KMeans Cluster | 10 |
| KMeansEngine | 基于统一二维表NumericTable的 KMeans 聚类引擎。 算法直接消费数值行(Double())而不再依赖 EntityBase 实体对象, 运算结果可以方便的写入NumericTable.labels标签矩阵之中。 | 5 |
| Kmedoids | Partitioning around medoids(PAM) | 2 |
| NumericCluster | 统一二维表聚类所使用的数值簇对象。 和旧的泛型版本Cluster不一样的地方在于:这个簇对象 直接存放数值行(Double数组)以及该行在原始表中的下标与行名, 因此不再依赖EntityBase实体对象。 | 8 |
| NumericClusterCollection | NumericKMeansCluster 的集合,表示一次 KMeans 运算结果之中的全部簇。 | 5 |
| NumericKMeansCluster | 统一二维表聚类所使用的 KMeans 簇对象,直接基于数值行进行均值与代价计算。 | 9 |
Microsoft.VisualBasic.DataMining.KMeans.Bisecting
Bisecting K-Means clustering.
| Type | Summary | Members |
|---|---|---|
| BisectingKMeans | Created by touhid on 12/21/15. | 3 |
| Cluster | Created by touhid on 12/21/15. | 3 |
Microsoft.VisualBasic.DataMining.Lloyds
Lloyd's algorithm for K-Means style clustering.
| Type | Summary | Members |
|---|---|---|
| Clustering | 0 | |
| LloydsMethodClustering | Voronoi | 0 |