林轩田 机器学习基石 作业3 线性回归 13题 python2.7
2018-09-27 10:43
375 查看
版权声明:转载务必说明出处 https://blog.csdn.net/m0_37534550/article/details/82863747
林轩田 机器学习基石 作业3 线性回归 13题 python2.7
注意random shuffle 的使用,shuffle洗牌可能洗到重复的
具体问题可查看该链接
所以这里我使用sklearn里面的shuffle,不使用random的shuffle
希望大家能够提建议,谢谢
草稿代码如下
# coding=utf-8 import numpy as np import random from sklearn.utils import shuffle def create_random_data(num=1000,error_rate=0.1): data_mat=np.zeros([num,4])##data_mat是一个array类型 error_num=int(num*error_rate) for i in range(num): x1=random.uniform(-1,1) x2=random.uniform(-1,1) label=(1 if (x1**2+x2**2>=0.6) else -1) data_mat[i][0]=1 data_mat[i][1]=x1 data_mat[i][2]=x2 data_mat[i][3]=label for j in range(error_num): data_mat[j][3]=-data_mat[j][3] data_mat=shuffle(data_mat) # random.shuffle(data_mat)千万小心random shuffle,洗牌之后可能出现重复项 data_feature=data_mat[:,:3] data_lable=data_mat[:,3:] return data_feature,data_lable def train_model(data_feature,data_lable): X=np.mat(data_feature) y=np.mat(data_lable) # w=np.dot(np.dot(np.dot(X.T,X).I,X.T),data_lable) w=np.linalg.inv(np.dot(X.T, X)).dot(X.T).dot(y) return np.mat(w.T) def error_rate(w,data_feature,data_lable): m,n=np.shape(data_feature) num_error=0 for i in range(m): score=np.dot(w,data_feature[i])[0,0] if score*data_lable[i,0]<0: num_error+=1 return 2323a num_error/float(m) #####验证代码 total_rate=0.0 for i in range(1000): data_feature, data_lable = create_random_data() w=train_model(data_feature,data_lable) error=error_rate(w,data_feature,data_lable) total_rate+=error print total_rate/1000.0[/code] 阅读更多
相关文章推荐
- 林轩田 机器学习基石 作业3 logistics回归(随机梯度下降法) 18-20题 python2.7
- 林轩田 机器学习基石 作业4 岭回归(Regularization for linear regression) 15题 python2.7
- 林轩田 机器学习基石 作业3 线性回归(特征变换) 14题 python2.7
- 林轩田-机器学习基石-作业1-python源码
- 林轩田-机器学习基石-作业4-python源码
- 【Stanford|斯坦福-机器学习:线性回归-单特征梯度下降+动态图】python3实现
- 斯坦福大学机器学习课程二线性回归编程作业2
- 机器学习之线性回归(机器学习基石)
- 台大-林轩田老师-机器学习基石学习笔记13
- 机器学习基石—作业2(16-20题Python实现)
- python实现机器学习之多元线性回归
- 机器学习-线性回归python简单实现
- 机器学习理论篇之线性回归(python实现)
- 【作业4】林轩田机器学习基石
- 机器学习入门学习笔记:(2.2)线性回归python程序实现
- 7.4多元线性回归实例1--python机器学习
- 【作业三】林轩田机器学习基石
- Python 机器学习系列之线性回归篇深度详细
- 斯坦福大学机器学习课程线性回归编程作业二(多变量2)
- 7.1简单线性回归--python机器学习