资源简介
压缩包里含有logistic regression逻辑回归的Python源代码,训练数据集和测试训练集,最后也用Python画了结构示意图。只需要有Numpy和Matplotlib两个包即可。
代码片段和文件信息
import numpy as np
# the function of sigmoid
def sig(x):
return 1.0 / (1 + np.exp(-x))
# train the model by BGD algorithm
def lr_train_bgd(feature label maxCycle alpha):
n = np.shape(feature)[1] # the dimension of the feature
w = np.mat(np.ones((n 1))) # initialize the weights
i =0
while i < maxCycle:
i += 1
h = sig(feature * w)
err = label - h
if i % 100 == 0:
print(‘-----iter=‘ + str(i) + ‘train error rate=‘ + str(error_rate(h label)))
w = w + alpha * feature.T * err # update the weights
return w
# compute the rate of error
def error_rate(h label):
m = np.shape(h)[0]
sum_err = 0.0
for i in range(m):
if h[i 0] > 0 and (1 - h[i 0]) > 0:
sum_err -= (label[i 0] * np.log(h[i 0]) + (1-label[i 0]) * np.log(1-h[i 0]))
else:
sum_err -= 0
return sum_err / m
# load the data for training
def load_data(file_name):
f = open(file_name)
feature_data = []
label_data = []
for line in f.readlines():
feature_tmp = []
label_tmp = []
lines = line.strip().split(“\t“)
feature_tmp.append(1)
for i in range(len(lines) - 1):
feature_tmp.append(float(lines[i]))
label_tmp.append(float(lines[-1]))
feature_data.append(feature_tmp)
label_data.append(label_tmp)
f.close()
return np.mat(feature_data) np.mat(label_data)
# save the modelon the other wordsave the weights
def save_model(file_name w):
m = np.shape(w)[0]
f_w = open(file_name ‘w‘)
w_array = []
for i in range(m):
w_array.append(str(w[i 0]))
f_w.write(“\t“.join(w_array))
f_w.close()
# the main function
if __name__ == “__main__“:
feature label = load_data(‘data.txt‘)
w = lr_train_bgd(feature label 1000 0.01)
save_model(“weights“ w)
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 464 2019-04-04 16:00 classification\.idea\classification.iml
文件 188 2019-04-04 15:46 classification\.idea\misc.xm
文件 287 2019-04-04 15:46 classification\.idea\modules.xm
文件 12256 2019-04-04 17:00 classification\.idea\workspace.xm
文件 7251 2017-12-01 23:19 classification\data.txt
文件 1957 2019-04-04 16:29 classification\logistic-regression.py
文件 1507 2019-04-04 16:55 classification\test.py
文件 6851 2017-12-01 23:19 classification\test_data
文件 0 2019-04-04 16:14 classification\__init__.py
目录 0 2019-04-04 17:00 classification\.idea
目录 0 2019-04-04 17:00 classification
----------- --------- ---------- ----- ----
30761 11
相关资源
- tensorflow_random_forest_demo.py
- keras_inception_v4_finetune.py
- densenet121.py
- mnist_acgan.py
- 逻辑回归 python代码+训练数据
- 集成k-最近邻(k-NN)、朴素贝叶斯、
- Python-机器学习完全课程
- Python-Glyce用于汉字表示的字形向量
- 燕大《Python机器学习》实验报告 .do
- 朴素贝叶斯过滤垃圾邮件源码及数据
- CNN_源代码
- python实现谱聚类代码并进行可视化
- 基于Python+Theano实现的Lenet5源代码(附
- 人脸检测python源代码
- python2048游戏源代码
- 机器学习-python处理UCI鲍鱼数据集.ra
- 利用贝叶斯算法实现垃圾邮件分类
- 数据挖掘十大算法源代码Python)
- XModem -发送端源代码Python语言实现
- 续Python3.x+PyQtChart实现数据可视化界面
- python爬虫 破解js加密有道词典案列的
- 利用鸢尾花数据集画出P-R曲线 pytho
- 实战python利用线性回归来预测鲍鱼年
- 实战python线性回归
- 请求分页存储管理Python实现源代码+课
- 海明校验 python源代码 海明码
- Python程序设计与算法基础教程源代码
- 使用训练好的模型进行预测
- python 打砖块源代码
- Python→Transorflow猫狗识别完整代码,附
评论
共有 条评论