(一)机器学习实战——机器学习基础(学习过程)

1 机器学习基础

  • 1.1 何为机器学习

    机器学习简单点说就是把无序的数据转换成有用的信息。

  • 1.2 关键术语

    系统,特征,实例,分类,训练集,训练样本,目标变量,类别,测试数据,知识表示,特征或者属性通常是训练样本集的列,他们是独立测量的结果,多个特征联系在一起共同组成一个训练样本

  • 1.3 机器学习的主要任务
    用于执行分类、回归、聚类、密度估计的机器学习算法

    监督学习用途
    k-近邻算法线性回归
    朴素贝叶斯算法局部加权线性回归
    支持向量机Ridge回归
    决策树Lasso最小回归系数估计
    无监督学习用途
    K-均值最大期望算法
    DBSCANParzen窗设计
  • 1.4 如何选择合适的算法
    选择实际可用的算法要考虑两个问题
    一、使用机器学习的目的,想要算法完成何种任务
    如果想要预测目标变量的值,可以选监督学习算法,否则可以选择无监督学习算法。目标变量类型如果是离散型的,则选择分类算法,是连续性的,则选择回归算法,如果还需要估计数据与每个数据的相似程度,则选择使用密度估计算法
    上面给出的是都是可以帮助选出合适的机器学习算法,并不是一定的方法。
    二、需要分析或搜集的数据是什么
    主要了解数据的几种特征:特征值是离散型变量还是连续型变量,特征之中是否存在缺失值,何种原因造成缺失值,数据中是否存在异常值,等等。只有充分了解数据才可以减少选择机器学习算法的时间。
    同时我们还要测试其它算法,毕竟算法的结果最好的、最适合的才是我们最后选用的

  • 1.5 开发机器学习应用程序的步骤
    开发机器学习应用程序的步骤基本有6步,收集数据、准备输入数据、分析输入数据、训练算法(如果使用无监督学习就不需要这步)、测试算法、使用算法。
  • 1.6 Python 语言的优势
    那我们为什么用Python作为实现机器学习算法的编程语言:Python语法清晰;易于操作纯文本;使用广泛。
  • 1.7 NumPy 函数库基础
    机器学习需要用到很多线性代数的知识,所以需要会使用Numpy函数库。
from numpy import *
print(random.rand(4, 4)) #4*4的随机二维数组
'''
[[0.91816364 0.70927184 0.04492905 0.1011124 ]
 [0.92401388 0.7861067  0.77647915 0.16926795]
 [0.7895121  0.08507276 0.22925607 0.88874465]
 [0.6526571  0.5898706  0.69038695 0.42274922]]
'''
randMat = mat(random.rand(4, 4))#4*4的随机矩阵
print(randMat)
'''
[[0.01992629 0.4547085  0.89749702 0.88324542]
 [0.51350029 0.21140377 0.41727752 0.44430164]
 [0.38491888 0.53160816 0.69589642 0.64733635]
 [0.84788633 0.17265198 0.06064525 0.39666805]]
'''
print(randMat.I) # .I是对矩阵的求逆
'''
[[ 2.01524412  2.36781988 -2.61138123 -0.83509491]
 [ 1.26610367 -0.84333237  0.67476965 -0.84647424]
 [-1.45836621  0.11607197  1.14232309  0.69492346]
 [-0.69851942  0.0113055  -0.36907452  1.51465822]]
'''
invRandMat = randMat.I
print(randMat*invRandMat)# 矩阵相乘
'''
[[ 1.00000000e+00  3.09099629e-16  2.87774706e-17  5.47131995e-16]
 [-4.92348445e-17  1.00000000e+00 -1.49944904e-17  2.38624177e-16]
 [ 8.85503106e-17  1.41417816e-16  1.00000000e+00  2.10834945e-16]
 [ 1.66850341e-17  1.42302433e-16 -3.55054002e-17  1.00000000e+00]]
'''
myEye = randMat*invRandMat
print(myEye-eye(4))# eye(4)4*4的单位矩阵
'''
[[ 2.22044605e-16 -3.60694362e-16 -1.02403175e-16  1.21866988e-18]
 [ 4.07332018e-17  0.00000000e+00  3.15517330e-17 -9.55460955e-18]
 [ 7.40256546e-17  6.91514519e-17  6.66133815e-16  1.36016280e-16]
 [ 8.87242192e-17 -3.35509838e-16  1.50374218e-16  0.00000000e+00]]
'''
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值