Python与机器学习之实战(一)

Python与机器学习之实战(一)

话不多说,先亮图
Python与机器学习之实战(一)_第1张图片

问题描述

一组数据    Xi=[xi0,xi1] ,i=1,2,...,m  表示有两个输入特征影响
对应实际值  Yi={0,1}     ,i=1,2,...,m  表示Yi要么是0要么是1
要求建立合理的模型用于预测或者模拟。

举例一个实际问题:
有训练集(X,Y),且癌症是否良性(Yi)受两种因素影响(Xi),建立符合模型以预测下一个病人的癌症是否良性。

实例

机器学习数据

X训练集Python与机器学习之实战(一)_第2张图片

Y训练集Python与机器学习之实战(一)_第3张图片

机器学习算法框架

回顾圣经后开始构建框架:

  • 为输入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
丁。

你可能感兴趣的:(Python与数据分析)