Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/Dod-o/Statistical-Learning-Method_Code
/ functions
Functions
87 in github.com/Dod-o/Statistical-Learning-Method_Code
⨍
Functions
87
◇
Types & classes
2
↓ 5 callers
Method
calcEi
计算Ei 根据“7.4.1 两个变量二次规划的求解方法”式7.105 :param i: E的下标 :return:
SVM/SVM.py:176
↓ 3 callers
Method
calcPwy_x
计算“6.23 最大熵模型的学习” 式6.22 :param X: 要计算的样本X(一个包含全部特征的样本) :param y: 该样本的标签 :return: 计算得到的Pw(Y|X)
Logistic_and_maximum_entropy_models/maxEntropy.py:182
↓ 2 callers
Function
calcGauss
根据高斯密度函数计算值 依据:“9.3.1 高斯混合模型” 式9.25 注:在公式中y是一个实数,但是在EM算法中(见算法9.2的E步),需要对每个j 都求一次yjk,在本实例中有1000个可观测数据,因此需要计算1000次。考虑到 在E步时进行1
EM/EM.py:61
↓ 2 callers
Function
calc_H_D
计算数据集D的经验熵,参考公式5.7 经验熵的计算 :param trainLabelArr:当前数据集的标签集 :return: 经验熵
DecisionTree/DecisionTree.py:68
↓ 2 callers
Method
calc_gxi
计算g(xi) 依据“7.101 两个变量二次规划的求解方法”式7.104 :param i:x的下标 :return: g(xi)的值
SVM/SVM.py:147
↓ 2 callers
Function
convert
(imgf, labelf, outf, n)
transMnist/transMnist.py:11
↓ 2 callers
Function
getSubDataArr
更新数据集和标签集 :param trainDataArr:要更新的数据集 :param trainLabelArr: 要更新的标签集 :param A: 要去除的特征索引 :param a: 当data[A]== a时,说明该行样本时要保留的
DecisionTree/DecisionTree.py:166
↓ 2 callers
Function
loadData
加载文件 :param fileName:要加载的文件路径 :return: 数据集和标签集
AdaBoost/AdaBoost.py:20
↓ 2 callers
Function
loadData
加载文件 :param fileName:要加载的文件路径 :return: 数据集和标签集
KNN/KNN.py:23
↓ 2 callers
Function
loadData
加载文件 :param fileName:要加载的文件路径 :return: 数据集和标签集
DecisionTree/DecisionTree.py:19
↓ 2 callers
Function
loadData
加载文件 :param fileName:要加载的文件路径 :return: 数据集和标签集
SVM/SVM.py:21
↓ 2 callers
Function
loadData
加载Mnist数据集 :param fileName:要加载的数据集路径 :return: list形式的数据集及标记
perceptron/perceptron_dichotomy.py:19
↓ 2 callers
Function
loadData
加载文件 :param fileName:要加载的文件路径 :return: 数据集和标签集
NaiveBayes/NaiveBayes.py:19
↓ 2 callers
Function
loadData
加载Mnist数据集 :param fileName:要加载的数据集路径 :return: list形式的数据集及标记
Logistic_and_maximum_entropy_models/maxEntropy.py:25
↓ 2 callers
Function
loadData
加载Mnist数据集 :param fileName:要加载的数据集路径 :return: list形式的数据集及标记
Logistic_and_maximum_entropy_models/logisticRegression.py:21
↓ 2 callers
Function
majorClass
找到当前标签集中占数目最大的标签 :param labelArr: 标签集 :return: 最大的标签
DecisionTree/DecisionTree.py:45
↓ 1 callers
Function
Adjusted_Rand_Index
INPUT: group_dict - (dict) 类别字典 Ylist - (list) 类别标签列表 k - (int) 设定的类别数 OUTPUT: (int) 调整兰德系数
Clustering/Hierachical_Clustering/Hierachical_Clustering.py:163
↓ 1 callers
Function
Adjusted_Rand_Index
INPUT: group_dict - (dict) 类别字典 Ylist - (list) 类别标签列表 k - (int) 设定的类别数 OUTPUT: (int) 调整兰德系数
Clustering/K-means_Clustering/K-means_Clustering.py:106
↓ 1 callers
Function
Clustering
INPUT: Xarray - (array) 特征数据数组 k - (int) 设定的类别数 dists - (array) 两两数据的欧式距离数组 OUTPUT: group_dict - (dict) 类别字典
Clustering/Hierachical_Clustering/Hierachical_Clustering.py:125
↓ 1 callers
Function
Distances
INPUT: Xarray - (array) 特征数据数组 OUTPUT: dists - (array) 两两数据的欧式距离数组
Clustering/Hierachical_Clustering/Hierachical_Clustering.py:85
↓ 1 callers
Function
EM_Train
根据EM算法进行参数估计 算法依据“9.3.2 高斯混合模型参数估计的EM算法” 算法9.2 :param dataSetList:数据集(可观测数据) :param iter: 迭代次数 :return: 估计的参数
EM/EM.py:126
↓ 1 callers
Function
E_step
EM算法中的E步 依据当前模型参数,计算分模型k对观数据y的响应度 :param dataSetArr: 可观测数据y :param alpha0: 高斯模型0的系数 :param mu0: 高斯模型0的均值 :param sigmod0
EM/EM.py:82
↓ 1 callers
Function
Kmeans
INPUT: Xarray - (array) 特征数据数组 k - (int) 设定的类别数 iters - (int) 设定的迭代次数 OUTPUT: group_dict - (dict) 类别字典 score
Clustering/K-means_Clustering/K-means_Clustering.py:151
↓ 1 callers
Function
M_step
(muo, mu1, gamma0, gamma1, dataSetArr)
EM/EM.py:110
↓ 1 callers
Function
NaiveBayes
通过朴素贝叶斯进行概率估计 :param Py: 先验概率分布 :param Px_y: 条件概率分布 :param x: 要估计的样本x :return: 返回所有label的估计概率
NaiveBayes/NaiveBayes.py:45
↓ 1 callers
Function
Normalize
INPUT: Xarray - (array) 特征数据数组 OUTPUT: Xarray - (array) 标准化处理后的特征数据数组
Clustering/Hierachical_Clustering/Hierachical_Clustering.py:49
↓ 1 callers
Function
Normalize
INPUT: Xarray - (array) 特征数据数组 OUTPUT: Xarray - (array) 标准化处理后的特征数据数组
Clustering/K-means_Clustering/K-means_Clustering.py:51
↓ 1 callers
Function
Normalize
INPUT: X - (array) 特征数据数组 OUTPUT: X - (array) 规范化处理后的特征数据数组
PCA/PCA.py:39
↓ 1 callers
Function
cal_V
INPUT: X - (array) 特征数据数组 OUTPUT: eigvalues - (list) 特征值列表,其中特征值按从大到小排列 V - (array) V矩阵
PCA/PCA.py:58
↓ 1 callers
Function
cal_distance
INPUT: Xi - (array) 第i条特征数据 Xj - (array) 第j条特征数据 OUTPUT: dist - (float) 两条数据的欧式距离
Clustering/Hierachical_Clustering/Hierachical_Clustering.py:67
↓ 1 callers
Function
cal_distance
INPUT: Xi - (array) 第i条特征数据 Xj - (array) 第j条特征数据 OUTPUT: dist - (float) 两条数据的欧式距离
Clustering/K-means_Clustering/K-means_Clustering.py:69
↓ 1 callers
Function
cal_groupcenter
INPUT: group - (list) 类所包含的数据列表 Xarray - (array) 特征数据数组 OUTPUT: center - (array) 新的类中心
Clustering/K-means_Clustering/K-means_Clustering.py:87
↓ 1 callers
Function
cal_groupdist
INPUT: g1 - (int) 类别1的标签 g2 - (int) 类别2的标签 group_dict - (dict) 类别字典 dists - (array) 两两数据的欧式距离数组 OUTPUT: (int
Clustering/Hierachical_Clustering/Hierachical_Clustering.py:103
↓ 1 callers
Function
calcBestFeature
计算信息增益最大的特征 :param trainDataList: 当前数据集 :param trainLabelList: 当前标签集 :return: 信息增益最大的特征及最大信息增益值
DecisionTree/DecisionTree.py:123
↓ 1 callers
Function
calcDist
计算两个样本点向量之间的距离 使用的是欧氏距离,即 样本点每个元素相减的平方 再求和 再开方 欧式举例公式这里不方便写,可以百度或谷歌欧式距离(也称欧几里得距离) :param x1:向量1 :param x2:向量2 :return
KNN/KNN.py:49
↓ 1 callers
Method
calcEp_xy
计算特征函数f(x, y)关于经验分布P_(x, y)的期望值(下划线表示P上方的横线, 同理Ep_xy中的“_”也表示p上方的横线) 即“6.2.2 最大熵的定义”中第一个期望(82页最下方那个式子) :return: 计算
Logistic_and_maximum_entropy_models/maxEntropy.py:102
↓ 1 callers
Method
calcEpxy
计算特征函数f(x, y)关于模型P(Y|X)与经验分布P_(X, Y)的期望值(P后带下划线“_”表示P上方的横线 程序中部分下划线表示“|”,部分表示上方横线,请根据具体公式自行判断,) 即“6.2.2 最大熵模型的定义”中第二个期望(83
Logistic_and_maximum_entropy_models/maxEntropy.py:73
↓ 1 callers
Function
calcH_D_A
计算经验条件熵 :param trainDataArr_DevFeature:切割后只有feature那列数据的数组 :param trainLabelArr: 标签集数组 :return: 经验条件熵
DecisionTree/DecisionTree.py:101
↓ 1 callers
Method
calcKernel
计算核函数 使用的是高斯核 详见“7.3.3 常用核函数” 式7.90 :return: 高斯核矩阵
SVM/SVM.py:84
↓ 1 callers
Method
calcSinglKernel
单独计算核函数 :param x1:向量1 :param x2: 向量2 :return: 核函数结果
SVM/SVM.py:342
↓ 1 callers
Function
calc_e_Gx
计算分类错误率 :param trainDataArr:训练数据集数字 :param trainLabelArr: 训练标签集数组 :param n: 要操作的特征 :param div:划分点 :param rule:正反例标签
AdaBoost/AdaBoost.py:52
↓ 1 callers
Method
calc_fixy
计算(x, y)在训练集中出现过的次数 :return:
Logistic_and_maximum_entropy_models/maxEntropy.py:162
↓ 1 callers
Function
createBosstingTree
创建提升树 创建算法依据“8.1.2 AdaBoost算法” 算法8.1 :param trainDataList:训练数据集 :param trainLabelList: 训练测试集 :param treeNum: 树的层数 :retu
AdaBoost/AdaBoost.py:137
↓ 1 callers
Method
createSearchDict
创建查询字典 xy2idDict:通过(x,y)对找到其id,所有出现过的xy对都有一个id id2xyDict:通过id找到对应的(x,y)对
Logistic_and_maximum_entropy_models/maxEntropy.py:125
↓ 1 callers
Function
createSigleBoostingTree
创建单层提升树 :param trainDataArr:训练数据集数组 :param trainLabelArr: 训练标签集数组 :param D: 算法8.1中的D :return: 创建的单层提升树
AdaBoost/AdaBoost.py:95
↓ 1 callers
Function
createTree
递归创建决策树 :param dataSet:(trainDataList, trainLabelList) <<-- 元祖形式 :return:新的子节点或该叶子节点的值
DecisionTree/DecisionTree.py:190
↓ 1 callers
Function
do_lda
INPUT: text - (list) 文本列表 words - (list) 单词列表 alpha - (list) 话题概率分布,模型超参数 beta - (list) 单词概率分布,模型超参数 K - (int) 设定的话题数
LDA/LDA.py:86
↓ 1 callers
Function
do_lsa
INPUT: X - (array) 单词-文本矩阵 k - (int) 设定的话题数 words - (list) 单词列表 OUTPUT: topics - (list) 生成的话题列表
LSA/LSA.py:78
↓ 1 callers
Function
do_pca
INPUT: X - (array) 特征数据数组 k - (int) 设定的主成分个数 OUTPUT: fac_load - (array) 因子负荷量数组 dimrates - (list) 可解释偏差列表 Y
PCA/PCA.py:86
↓ 1 callers
Function
do_plsa
INPUT: X - (array) 单词-文本矩阵 K - (int) 设定的话题数 words - (list) 出现频次为前1000的单词列表 iters - (int) 设定的迭代次数 OUTPUT: P_w
PLSA/PLSA.py:90
↓ 1 callers
Function
frequency_counter
INPUT: text - (list) 文本列表 words - (list) 单词列表 OUTPUT: X - (array) 单词-文本矩阵
LSA/LSA.py:58
↓ 1 callers
Function
frequency_counter
INPUT: text - (list) 文本列表 words - (list) 单词列表 OUTPUT: words - (list) 出现频次为前1000的单词列表 X - (array) 单词-文本矩阵
PLSA/PLSA.py:58
↓ 1 callers
Function
getAllProbability
通过训练集计算先验概率分布和条件概率分布 :param trainDataArr: 训练数据集 :param trainLabelArr: 训练标记集 :return: 先验概率分布和条件概率分布
NaiveBayes/NaiveBayes.py:99
↓ 1 callers
Method
getAlphaJ
SMO中选择第二个变量 :param E1: 第一个变量的E1 :param i: 第一个变量α的下标 :return: E2,α2的下标
SVM/SVM.py:188
↓ 1 callers
Function
getClosest
预测样本x的标记。 获取方式通过找到与样本x最近的topK个点,并查看它们的标签。 查找里面占某类标签最多的那类标签 (书中3.1 3.2节) :param trainDataMat:训练集数据集 :param trainLabelMat
KNN/KNN.py:66
↓ 1 callers
Method
isSatisfyKKT
查看第i个α是否满足KKT条件 :param i:α的下标 :return: True:满足 False:不满足
SVM/SVM.py:120
↓ 1 callers
Function
iter_method
(n, d, M, R0, eps)
Page_Rank/Page_Rank.py:38
↓ 1 callers
Function
loadArticle
加载文章 :param fileName:文件路径 :return: 文章内容
HMM/HMM.py:145
↓ 1 callers
Function
loadData
初始化数据集 这里通过服从高斯分布的随机函数来伪造数据集 :param mu0: 高斯0的均值 :param sigma0: 高斯0的方差 :param mu1: 高斯1的均值 :param sigma1: 高斯1的方差 :pa
EM/EM.py:26
↓ 1 callers
Function
load_data
INPUT: file - (str) 数据文件的路径 OUTPUT: Xarray - (array) 特征数据数组 Ylist - (list) 类别标签列表
Clustering/Hierachical_Clustering/Hierachical_Clustering.py:22
↓ 1 callers
Function
load_data
INPUT: file - (str) 数据文件的路径 OUTPUT: Xarray - (array) 特征数据数组 Ylist - (list) 类别标签列表
Clustering/K-means_Clustering/K-means_Clustering.py:24
↓ 1 callers
Function
load_data
INPUT: file - (str) 数据文件的路径 OUTPUT: df - (dataframe) 读取的数据表格 X - (array) 特征数据数组
PCA/PCA.py:22
↓ 1 callers
Function
load_data
INPUT: file - (str) 数据文件的路径 OUTPUT: org_topics - (list) 原始话题标签列表 text - (list) 文本列表 words - (list) 单词列表
LSA/LSA.py:30
↓ 1 callers
Function
load_data
INPUT: file - (str) 数据文件的路径 OUTPUT: org_topics - (list) 原始话题标签列表 text - (list) 文本列表 words - (list) 单词列表
PLSA/PLSA.py:30
↓ 1 callers
Function
load_data
INPUT: file - (str) 数据文件的路径 K - (int) 设定的话题数 OUTPUT: org_topics - (list) 原始话题标签列表 text - (list) 文本列表 words -
LDA/LDA.py:30
↓ 1 callers
Function
logisticRegression
逻辑斯蒂回归训练过程 :param trainDataList:训练集 :param trainLabelList: 标签集 :param iter: 迭代次数 :return: 习得的w
Logistic_and_maximum_entropy_models/logisticRegression.py:71
↓ 1 callers
Method
maxEntropyTrain
(self, iter = 500)
Logistic_and_maximum_entropy_models/maxEntropy.py:218
↓ 1 callers
Function
model_test
测试 :param testDataList:测试数据集 :param testLabelList: 测试标签集 :param tree: 提升树 :return: 准确率
AdaBoost/AdaBoost.py:216
↓ 1 callers
Function
model_test
测试正确率 :param trainDataArr:训练集数据集 :param trainLabelArr: 训练集标记 :param testDataArr: 测试集数据集 :param testLabelArr: 测试集标记 :par
KNN/KNN.py:123
↓ 1 callers
Function
model_test
测试准确率 :param testDataList:待测试数据集 :param testLabelList: 待测试标签集 :param tree: 训练集生成的树 :return: 准确率
DecisionTree/DecisionTree.py:279
↓ 1 callers
Function
model_test
测试准确率 :param dataArr:测试集 :param labelArr: 测试集标签 :param w: 训练获得的权重w :param b: 训练获得的偏置b :return: 正确率
perceptron/perceptron_dichotomy.py:102
↓ 1 callers
Function
model_test
对测试集进行测试 :param Py: 先验概率分布 :param Px_y: 条件概率分布 :param testDataArr: 测试集数据 :param testLabelArr: 测试集标记 :return: 准确率
NaiveBayes/NaiveBayes.py:76
↓ 1 callers
Function
model_test
验证 :param testDataList:测试集 :param testLabelList: 测试集标签 :param w: 训练过程中学到的w :return: 正确率
Logistic_and_maximum_entropy_models/logisticRegression.py:117
↓ 1 callers
Function
participle
分词 算法依据“10.4.2 维特比算法” :param artical:要分词的文章 :param PI: 初始状态概率向量PI :param A: 状态转移矩阵 :param B: 观测概率矩阵 :return: 分词后的文
HMM/HMM.py:164
↓ 1 callers
Function
perceptron
感知器训练过程 :param dataArr:训练集的数据 (list) :param labelArr: 训练集的标签(list) :param iter: 迭代次数,默认50 :return: 训练好的w和b
perceptron/perceptron_dichotomy.py:48
↓ 1 callers
Function
power_method
(n, d, M, R0, eps)
Page_Rank/Page_Rank.py:53
↓ 1 callers
Function
predict
输出单独层预测结果 :param x: 预测样本 :param div: 划分点 :param rule: 划分规则 :param feature: 进行操作的特征 :return:
AdaBoost/AdaBoost.py:199
↓ 1 callers
Function
predict
预测标签 :param testDataList:样本 :param tree: 决策树 :return: 预测结果
DecisionTree/DecisionTree.py:244
↓ 1 callers
Function
predict
预测标签 :param w:训练过程中学到的w :param x: 要预测的样本 :return: 预测结果
Logistic_and_maximum_entropy_models/logisticRegression.py:53
↓ 1 callers
Method
predict
对样本的标签进行预测 公式依据“7.3.4 非线性支持向量分类机”中的式7.94 :param x: 要预测的样本x :return: 预测结果
SVM/SVM.py:356
↓ 1 callers
Method
predict
预测标签 :param X:要预测的样本 :return: 预测值
Logistic_and_maximum_entropy_models/maxEntropy.py:242
↓ 1 callers
Method
test
测试 :param testDataList:测试数据集 :param testLabelList: 测试标签集 :return: 正确率
SVM/SVM.py:381
↓ 1 callers
Method
test
对测试集进行测试 :return:
Logistic_and_maximum_entropy_models/maxEntropy.py:259
↓ 1 callers
Method
train
(self, iter = 100)
SVM/SVM.py:244
↓ 1 callers
Function
trainParameter
依据训练文本统计PI、A、B :param fileName: 训练文本 :return: 三个参数
HMM/HMM.py:24
Method
__init__
SVM相关参数初始化 :param trainDataList:训练数据集 :param trainLabelList: 训练测试集 :param sigma: 高斯核中分母的σ :param C:软间隔中的
SVM/SVM.py:54
Method
__init__
各参数初始化
Logistic_and_maximum_entropy_models/maxEntropy.py:55