一、机器学习基础
-
机器学习就是把无序的数据转换成有用的信息。
-
特征:事物的属性,通常是训练集的列,经过独立测量得到的结果。如鸟的体重、翼展等被称为鸟的特征(属性)。
特征的类型可以是数值型、二值型、枚举型等。
-
训练样本:包含多个特征列,以及目标变量(预测结果)。
-
训练集:多个训练样本的集合。
-
机器学习的主要任务:
(1)分类:输入大量已分类数据作为算法训练的训练集,来学习如何分类。
(2)回归:主要用于预测数值型数据。
(3)分类和回归都属于监督学习。 -
监督学习:输入的数据有类别信息、目标值,明确需要预测的数据。
-
无监督学习:输入的数据没有类别信息和目标值。
(1)聚类:将数据集合分成由类似的对象组成的多个类的过程。
(2)密度估计:寻找描述数据统计值的过程。 -
开发机器学习应用程序的步骤:
(1)收集数据:通过网络爬虫、RSS反馈、设备实测数据等
(2)准备输入数据:确保数据格式符合要求,即格式化数据
(3)分析输入数据:确保数据集中没有垃圾数据
(4)训练算法:输入训练集数据,从中抽取信息。(无监督学习无此步骤)
(5)测试算法:测试算法工作的效果
(6)使用算法:将算法转换为应用程序,执行实际任务 -
安装numpy库
(1)打开cmd命令窗口,进入python安装目录的Scripts文件夹
(2)执行安装命令 pip install numpy
(3)验证是否安装成功
(4)同步本地库到PyCharm
-
numpy函数库基础
(1) eye(m,n)函数:产生一个m×n的单位矩阵
(2)random.rand(m,n)函数:产生一个m×n的随机数组
(3)mat(array)函数:将数组转化为矩阵
(4).I 操作符:求矩阵的逆矩阵>>> eye(2,2) array([[1., 0.], [0., 1.]]) >>> random.rand(2,2) array([[0.73882307, 0.51692701], [0.44567972, 0.61402099]]) >>> arr = random.rand(2,2) >>> arr array([[0.66445463, 0.19188144], [0.48243268, 0.05910379]]) >>> mat1 = mat(arr) >>> mat1 matrix([[0.66445463, 0.19188144], [0.48243268, 0.05910379]]) >>> mat2 = mat1.I >>> mat2 matrix([[ -1.10892899, 3.60015622], [ 9.05159474, -12.4667634 ]]) >>> res = mat1*mat2 >>> res matrix([[ 1.00000000e+00, -2.20921341e-16], [ 8.14201276e-17, 1.00000000e+00]])
【注】eye(2,2)可简写成eye(2),rand( )同理
-
监督学习和非监督学习的用途
监督学习 非监督学习 k-近邻算法 k-均值 朴素贝叶斯算法 DBSCAN 支持向量机 最大期望算法 决策树 Parzen窗设计 线性回归 局部加权回归 Ridge回归 Lasso最小回归系数估计