Python机器学习实战入门1机器学习及其算法机器学习是一种通过利用数据,训练出模型,然后使用模型预测的一种方法。1.机器学习的特点机器学习与人类思考与推理相比较,人类的思考与推理是根据历史经验总结出某种规律进而推导出结果,而机器学习是计算机利用已有的数据,建立数据模型,并利用此模型预测出未知结果。机器学习的过程与人类对历史经验归纳总结的过程如图所示。机器学习有如下特点。(1)机器学习系统要解决的问题都是无法直接使用固定规则或者流程代码完成的问题,通常这类问题对人类来说很简单。例如,我们人类可以非常容易从一张照片中区分出人和猫,而机器确非常难做到。(2)机器学习系统具有学习能力是指它能够不断的从经验和数据中吸取经验教训,从而应对未来的预测任务。所以说,机器学习的核心是统计和归纳。(3)机器学习系统具备不断改善自身对应具体任务的能力。2.机器学习的算法分类机器学习的算法有三种:监督式学习、非监督式学习、强化学习。下面对这三种机器学习的算法进行简要介绍。(1)监督式学习算法监督式学习的算法机制为:算法由目标变量或结果变量(或因变量)组成。这些变量由已知的一系列预示变量(自变量)预测而来。利用这一系列变量,生成一个将输入值映射到期望输出值的函数。这个训练过程会一直持续,直到模型在训练数据上获得期望的精确度。监督式学习的例子有:回归、决策树、随机森林、K-近邻算法、逻辑回归等。(2)非监督式学习算法非监督式学习的算法机制:在这个算法中,没有任何目标变量或结果变量要预测或估计。这个算法用在数据降维和聚类问题分析。这种分析方式被广泛地用来细分客户,根据干预的方式分为不同的用户组。非监督式学习的例子有:关联算法和K-均值算法。(3)强化学习算法强化学习的算法机制:机器被放在一个能让它通过反复试错来训练自己的环境中。机器从过去的经验中进行学习,并且尝试利用了解最透彻的知识作出精确的商业判断。应用这个算法可以训练机器进行决策。强化学习的例子有马尔可夫决策过程。3.机器学习的常用算法机器学习的常用算法有线性回归逻辑回归决策树神经网络SVM(支持向量机算法)朴素贝叶斯K最近邻算法K均值算法随机森林算法降维算法GradientBoost和Adaboost算法2机器学习应用实例1.机器学习库sklearnscikit-learn简称sklearn,是Python重要的机器学习库。sklearn支持包括分类、回归、降维和聚类四大机器学习算法,还包含了特征提取、数据处理和模型评估三大模块。应用sklearn模块,可以大大提高机器学习的效率。可以使用pip来安装sklearn模块。其命令如下:pipinstallsklearn在程序的前面,需要引用sklearn模块:importsklearn2.决策树sklearn.tree类机器学习库sklearn中的决策树tree可用于分类决策算法,也可用于回归决策算法。分类决策树的类需要使用DecisionTreeClassifier()方法。使用时要添加引用语句:fromsklearnimporttree3.机器学习算法应用的主要步骤应用机器学习库sklearn进行决策的主要步骤如下:4.应用实例【例1】根据人的特征(身高、胡子)数据,自动判断所属性别。设有人的性别实验检测数据如表1所示。(1)建立数据模型根据实验检测数据,得到实验训练数据列表:feature=[[178,1],[155,0],[177,0],[165,0],[169,1],[160,0]]对应的性别分类列表为:label=['man','woman','man','woman','man','woman'](2)创建决策树对象有了上述数据模型之后,应用机器学习创建决策树对象。clf=tree.DecisionTreeClassifier()(3)自动判断性别分类决策树对象根据给出一组数据,自动判断属于哪个性别。s1=clf.predict([[158,0]])#对测试点[158,0]进行预测print(s1)#输出预测结果值程序代码如下:importsklearnfromsklearnimporttreefeature=[[178,1],[155,0],[177,0],[165,0],[169,1],[160,0]]#训练数据label=['man','woman','man','woman','man','woman']#性别分类clf=tree.DecisionTreeClassifier()#分类决策树的分类决策方法clf=clf.fit(feature,label)#拟合训练数据,得到训练模型参数s1=clf.predict([[158,0]])#对测试点[158,0]进行预测s2=clf.predict([[176,1]])#对测试点[176,1]进行预测print('s1=',s1)#输出预测结果值print('s2=',s2)#输出预测结果值机器学习案例精选【例2】应用机器学习的决策树算法,自动完成信贷审核。1.决策树算法简介决策树算法(decisiontree)是一种基本的分类与回归算法。决策树又称为判定树,是运用于分类的一种树结构,其中的每个内部节点代表对某一属性的一次测试,每条边代表一个测试结果,叶节点代表某个类或类的分布。决策树的决策过程需要从决策树的根节点开始,待测数据与决策树中的特征节点进行比较,并按照比较结果选择选择下一比较分支,直到叶子节点作为最终的决策结果。决策树中的每个节点表示对象属性的判断条件,其分支表示符合节点条件的对象。树的叶节点表示对象所属的预测结果。2.经验熵对信息集合不确定性的度量方式称为信息熵或简称为熵。当熵中的概率由数据估计(特别是最大似然估计)得到时,所对应的熵称为经验熵。经验熵公式为:3.建立决策树建立决策树的基本思想是以信息熵为度量构造一棵熵值下降最快的树,到叶子节点处的熵值为零,需要遍历所有特征,选择信息增益最大的特征作为当前的分裂特征,一个特征的信息增益越大,表明属性对样本的熵减少的能力更强,这个属性使得数据由不确定性变成确定性的能力越强。4.决策树的学习过程(1)特征选择:从训练数据的特征中选择一个特征作为当前节点的分裂标准(特征选择的标准不同产生了不同的特征决策树算法)。(2)决策树生成:根据所选特征评估标准,从上至下递归地生成子节点,直到数据集不可分则停止决策树停止声场。(3)剪枝:决策树容易过拟合,需要剪枝来缩小树的结构和规模(包括预剪枝和后剪枝)。7.界面程序(ex3.py)程序运行结果如图所示。