Skip to content

Commit df83643

Browse files
committed
添加 logistic.py文件中各函数的注释
1 parent 592d383 commit df83643

1 file changed

Lines changed: 38 additions & 0 deletions

File tree

src/python/5.Logistic/logistic.py

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,15 @@
1717

1818
# 解析数据
1919
def loadDataSet(file_name):
20+
'''
21+
Desc:
22+
加载并解析数据
23+
Args:
24+
file_name -- 文件名称,要解析的文件所在磁盘位置
25+
Returns:
26+
dataMat -- 原始数据的特征
27+
labelMat -- 原始数据的标签,也就是每条样本对应的类别
28+
'''
2029
# dataMat为原始数据, labelMat为原始数据的标签
2130
dataMat = []; labelMat = []
2231
fr = open(file_name)
@@ -36,6 +45,16 @@ def sigmoid(inX):
3645
# 两个参数:第一个参数==> dataMatIn 是一个2维NumPy数组,每列分别代表每个不同的特征,每行则代表每个训练样本。
3746
# 第二个参数==> classLabels 是类别标签,它是一个 1*100 的行向量。为了便于矩阵计算,需要将该行向量转换为列向量,做法是将原向量转置,再将它赋值给labelMat。
3847
def gradAscent(dataMatIn, classLabels):
48+
'''
49+
Desc:
50+
正常的梯度上升法
51+
Args:
52+
dataMatIn -- 输入的 数据的特征 List
53+
classLabels -- 输入的数据的类别标签
54+
Returns:
55+
array(weights) -- 得到的最佳回归系数
56+
'''
57+
3958
# 转化为矩阵[[1,1,2],[1,1,2]....]
4059
dataMatrix = mat(dataMatIn) # 转换为 NumPy 矩阵
4160
# 转化为矩阵[[0,1,0,1,0,1.....]],并转制[[0],[1],[0].....]
@@ -72,6 +91,15 @@ def gradAscent(dataMatIn, classLabels):
7291
# 梯度上升优化算法在每次更新数据集时都需要遍历整个数据集,计算复杂都较高
7392
# 随机梯度上升一次只用一个样本点来更新回归系数
7493
def stocGradAscent0(dataMatrix, classLabels):
94+
'''
95+
Desc:
96+
随机梯度上升,只使用一个样本点来更新回归系数
97+
Args:
98+
dataMatrix -- 输入数据的数据特征(除去最后一列)
99+
classLabels -- 输入数据的类别标签(最后一列数据)
100+
Returns:
101+
weights -- 得到的最佳回归系数
102+
'''
75103
m,n = shape(dataMatrix)
76104
alpha = 0.01
77105
# n*1的矩阵
@@ -91,6 +119,16 @@ def stocGradAscent0(dataMatrix, classLabels):
91119

92120
# 随机梯度上升算法(随机化)
93121
def stocGradAscent1(dataMatrix, classLabels, numIter=150):
122+
'''
123+
Desc:
124+
改进版的随机梯度上升,使用随机的一个样本来更新回归系数
125+
Args:
126+
dataMatrix -- 输入数据的数据特征(除去最后一列数据)
127+
classLabels -- 输入数据的类别标签(最后一列数据)
128+
numIter=150 -- 迭代次数
129+
Returns:
130+
weights -- 得到的最佳回归系数
131+
'''
94132
m,n = shape(dataMatrix)
95133
weights = ones(n) # 创建与列数相同的矩阵的系数矩阵,所有的元素都是1
96134
# 随机梯度, 循环150,观察是否收敛

0 commit comments

Comments
 (0)