Python与机器学习之实战(一)
话不多说,先亮图
问题描述
一组数据 Xi=[xi0,xi1] ,i=1,2,...,m 表示有两个输入特征影响
对应实际值 Yi={0,1} ,i=1,2,...,m 表示Yi要么是0要么是1
要求建立合理的模型用于预测或者模拟。
举例一个实际问题:
有训练集(X,Y),且癌症是否良性(Yi)受两种因素影响(Xi),建立符合模型以预测下一个病人的癌症是否良性。
实例
机器学习数据
X训练集
Y训练集
机器学习算法框架
回顾圣经后开始构建框架:
- 为输入x与输出y定义placeholder(开辟空间)
- 定义权重W —- 1
- 定义模型结构 —- logistic regression model
- 定义损失函数 —- j(theta)
- 定义优化算法 —- newton’s method
ps:这些名词读者学习机器学习算法后很容易就明白。我提供的是思路以及方法论,如果你要源码,可以联系我,虽然我觉得没必要。
模型可视化
运行上述框架得到模型的参数后,根据参数绘图
def dplot(theta):
"""
Plot x,y
Plot line
:return:
"""
logx,logy=read() #数据
logx1=logx[logy==1] #数据分类
logx2=logx[logy==-1]
plt.scatter(logx1[:,0],logx1[:,1],marker='+',color='c',s=30)#绘数据图
plt.scatter(logx2[:,0],logx2[:,1],marker='o',color='r',s=20)
x=np.linspace(0,8,256)
y=-theta[0]*x/theta[1] #绘模型
plt.plot(x,y)
plt.show() #展示
最后重申,我讲的是理论学习运用到实际问题的思路。
如果您看到这篇文章有收获或者有不同的意见,欢迎点赞或者评论。
python群:190341254
丁。