NG 逻辑回归_二分类
来源:互联网 发布:收集5条红酒网络广告语 编辑:程序博客网 时间:2024/06/01 21:33
import timeimport numpy as npimport pandas as pdimport matplotlib.pyplot as pltA = pd.read_table('01.txt',header=None,usecols = (0,1,2))# 插入一列 1A.insert(0,'insert',1)# 规划一 特征值调整到 0-1# A.iloc[:,1]=(A.iloc[:,1]-A.iloc[:,1].mean() )/(A.iloc[:,1].max()-A.iloc[:,1].min())# A.iloc[:,2]=(A.iloc[:,2]-A.iloc[:,2].mean() )/(A.iloc[:,2].max()-A.iloc[:,2].min())X = np.mat(A.iloc[:,:3])y = np.mat(A.iloc[:,3]).Tm,n = X.shape# 初始参数params = np.mat([1.0,1.0,1.0]).Talpha = 0.001 #学习率times = 1000 #迭代次数# sigmoid 函数def sigmoid(inX):return 1.0/(1+np.exp(-inX))J = []# 迭代参数 梯度下降for i in range(times):error_col = sigmoid(X*params) - yparams[0] = params[0] - alpha*sum( error_col )params[1] = params[1] - alpha*sum(np.multiply(error_col,X[:,1]))params[2] = params[2] - alpha*sum(np.multiply(error_col,X[:,2]))J.append(sum( np.multiply(error_col,error_col) )[0,0] )print(params)# 可视化# 收敛图像x1 = range(0,times,1) # 起始值 终止值 步长plt.subplot(121),plt.plot(x1,J,'r--'),plt.title('J - Itera'),plt.xlabel('Itera Times'),plt.ylabel(' J ')# 拟合函数图像x2=np.linspace(-4,4,50) #开始值 终止值 元素个数plt.subplot(122),plt.plot(A[A.iloc[:,3]==1].iloc[:,1],A[A.iloc[:,3]==1].iloc[:,2],'b*'),plt.plot(A[A.iloc[:,3]==0].iloc[:,1],A[A.iloc[:,3]==0].iloc[:,2],'ro'),plt.plot(x2,params[0,0]+params[1,0]*x2+params[2,0]*x2,'g--')plt.show()
阅读全文
0 0
- NG 逻辑回归_二分类
- 机器学习_逻辑回归分类
- SAS逻辑回归之二分类
- 逻辑回归分类器
- 逻辑回归分类器
- Ng深度学习笔记2 -逻辑回归、分类问题、牛顿迭代
- 逻辑回归的MATLAB实现(二分类问题)
- spark mllib源码分析之二分类逻辑回归evaluation
- 逻辑回归的MATLAB实现(二分类问题)
- NG机器学习逻辑回归笔记
- 逻辑回归(二)
- 分类算法之逻辑回归
- 机器学习-逻辑回归-分类
- 分类问题之逻辑回归
- SAS逻辑回归之多分类
- 分类-逻辑斯谛回归
- 分类和回归(三)-逻辑回归
- Andrew Ng 《Machine Learning》第三讲——分类(Classification)&逻辑回归(Logistic Regression Model)
- 获得当前周别所属年份
- Junit的基本使用
- HDU 4507 吉哥系列故事――恨7不成妻 数位DP
- 搭建fabric1.0的开发环境+e2e_cli例子的运行
- Java可变参数varargus的使用
- NG 逻辑回归_二分类
- JQ制作一个目录树菜单
- 用仿射变换实现图片旋转,很好用!
- JVM、Java编译器和Java解释器
- addHeaderView
- 前端学习(十四)CSS 圆角边框代码
- 循环(迭代)与递归的区别
- 体验阿里云机器学习实现智能图片识别分类
- mybatis查询报错 Unknown column 'xxx' in 'where clause'