01-赵志勇机器学习-Logistics_Regression-train
Logistics Regression
二分类问题。
| 模型 | 线性模型 |
| 响应 | sigmoid |
| 损失函数(显示) | 最小均方 |
| 优化方法 | BGD |
例子:
#coding utf-8
import numpy as np def load_data(file_name):
feature_data = []
label_data = [] f = open(file_name) # 打开文件
for line in f.readlines():
# @ strip() 去除字符串首尾的空格
# @ split("\t") 以“\t”分割字符串
lines = line.strip().split("\t") feature_tmp = []
label_tmp = []
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) def sig(x):
return 1.0/(1+np.exp(-x)) def compute_error(h, label):
# @ shape() 获得特征的长度,[0]行数,[1]列数
n = np.shape(h)[0] err = 0
for i in range(n):
if h[i,0]>0 and (1-h[i,0])>0:
err -= (label[i,0]*np.log(h[i,0])
+ (1-label[i,0])*np.log(1-h[i,0]))
else:
err -= 0 return err def lr_train_bgd(feature, label, maxCycle, alpha):
n = np.shape(feature)[1]
W = np.mat(np.ones((n,1))) for i in range(maxCycle):
h = sig(feature*W)
err = label - h
if i % 100 == 0:
print(compute_error(h, label)) W = W + alpha * feature.T * err return W def save_model(file_name, W):
f = open(file_name, "w")
w_array = []
n = np.shape(W)[0]
for i in range(n):
w_array.append(str(W[i,0])) f.write("\t".join(w_array))
f.close() if __name__ == "__main__":
print("load data")
feature, label = load_data("data.txt")
print("train")
w = lr_train_bgd(feature, label, 1000, 0.1)
print("save")
save_model("weights2018", w)
参考:
https://blog.csdn.net/google19890102/article/details/77996085
https://blog.csdn.net/google19890102?viewmode=contents
https://github.com/zhaozhiyong19890102/Python-Machine-Learning-Algorithm
01-赵志勇机器学习-Logistics_Regression-train的更多相关文章
- 12-赵志勇机器学习-Label_Propagation
(草稿) 过程: 1. 初始化所有节点的 labels 成唯一的值: 2. 对每个节点,将 label 更新为和其相连的所有节点中,标签最多的 节点的label: 2. 初始化情况下,假如所有相连的节 ...
- 11-赵志勇机器学习-DBSCAN聚类
(草稿) 两点关系的三种定义: 1. 直接密度可达:A在B的邻域内: 2. 密度可达:AB之间存在,直接密度可达的点串: 3. 密度连接:AB之间存在点k,使得Ak和Bk都密度可达: 过程: 1. 对 ...
- 09-赵志勇机器学习-k-means
(草稿) k-means: 1. 随机选取n个中心 2. 计算每个点到各个中心的距离 3. 距离小于阈值的归成一类. 4. 计算新类的质心,作为下一次循环的n个中心 5. 直到新类的质心和对应本次循环 ...
- 10-赵志勇机器学习-meanshift
(草稿) meanshift 也是一种聚类方法. 优点在于:不需要提前指定类型数. 缺点就是计算量大 过程:(最一般的做法,没有使用核函数) 1. 逐点迭代,设置为位置中心 2. 计算所有点到位置中心 ...
- 02-赵志勇机器学习-Logistics_Regression-test(转载)
# coding:UTF-8 ''' Date:20160901 @author: zhaozhiyong ''' import numpy as np from lr_train import si ...
- 00-赵志勇机器学习-Logistics_Regression-data.txt(转载)
4.45925637575900 8.22541838354701 0 0.0432761720122110 6.30740040001402 0 6.99716180262699 9.3133933 ...
- 周志华-机器学习西瓜书-第三章习题3.5 LDA
本文为周志华机器学习西瓜书第三章课后习题3.5答案,编程实现线性判别分析LDA,数据集为书本第89页的数据 首先介绍LDA算法流程: LDA的一个手工计算数学实例: 课后习题的代码: # coding ...
- 机器学习周志华 pdf统计学习人工智能资料下载
周志华-机器学习 pdf,下载地址: https://u12230716.pipipan.com/fs/12230716-239561959 统计学习方法-李航, 下载地址: https://u12 ...
- 机器学习系统设计(Building Machine Learning Systems with Python)- Willi Richert Luis Pedro Coelho
机器学习系统设计(Building Machine Learning Systems with Python)- Willi Richert Luis Pedro Coelho 总述 本书是 2014 ...
随机推荐
- 【树论】FBI树
原题传送门 思路 讲这道题之前,先讲一个黑科技一般的函数:basic_string::substr(int x,int y). 这是一个string类的成员函数,它返回一个新的string对象,该对象 ...
- Linux系统运维笔记,CentOS 7.4防火墙配置
1.查看firewall服务状态 systemctl status firewalld 2.查看firewall的状态 firewall-cmd --state 3.开启.重启.关闭.firewall ...
- org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jpaMappingContext之解决办法
错误产生背景:将之前用Eclipse写的Blog项目迁移到Idea上面.Ecilpse项目一直是没有问题的. 错误原因分析:原因是项目依赖中引入的jpa,另外也与Idea比较智能也有关系 解决办法: ...
- .NET Core:Json和XML
(1)Json WebAPI默认使用Json格式,如果需要更改默认的Json设置在Startup的ConfigureServices方法中修改:services.AddMvc() .AddJsonOp ...
- js 宏任务和微任务
.宏任务(macrotask )和微任务(microtask ) macrotask 和 microtask 表示异步任务的两种分类. 在挂起任务时,JS 引擎会将所有任务按照类别分到这两个队列中,首 ...
- WPF DataGird 类似Excel筛选效果 未成品
这个本是针对MSDN上所写的代码,不过写一半不想写了. 不想浪费代码,是个半成品的半成品. 效果图: 思路: 利用PopUp来做显示层. 显示层中的数据则是绑定到Datagrid的数据. popup中 ...
- Centos7利用rsync实现文件同步
0x01 测试环境 CentOS 7.4 Rsync服务端:192.168.204.130 CentOS 7.4 Rsync客户端:192.168.204.168 0x02 rsync同步方式 第一种 ...
- java设计模式结构型模式
结构型模式: – 核心作用:是从程序的结构上实现松耦合,从而可以扩大整体的类结 构,用来解决更大的问题 分类: • 适配器模式.代理模式.桥接模式. 装饰模式.组合模式.外观模式.享元模式 结构型模式 ...
- 1-Consul系列文章
使用Consul做服务发现的若干姿势 Consul的反熵 [Consul]Consul架构-简介
- VirtualBox安装Ubutu出错
今天打算装个虚拟机玩玩,这次没有选择VM.感觉那东西各种破解有点麻烦而且体积也不小呀,所以,这次我选择了稍微点的的VirtualBox. 一路安装虚拟机没有问题,安装完后新建虚拟机都正常,可在启动虚拟 ...