机器学习之scikit |
您所在的位置:网站首页 › sklearn库中用于模型训练的函数 › 机器学习之scikit |
1、scikit-learn库简介 scikit-learn是一个整合了多种常用的机器学习算法的Python库,又简称skLearn。scikit-learn非常易于使用,为我们学习机器学习提供了一个很好的切入点。 2、机器学习基础 机器学习这门学科主要分为有监督学习、无监督学习,以及强化学习。有监督学习指的是使用有类标的训练数据构建模型,我们可以使用这个训练得到的模型对未知数据进行预测。有监督学习主要分为两大类:分类和回归。无监督学习中,我们无法事先获知各训练样本的类标值,我们需要去处理这种无类标数据或者是总体分布趋势不明朗的数据,通过无监督学习,我们可以在没有已知输出变量和反馈函数指导的情况下提取出数据集中有效信息来探索数据集的整体结构。无监督学习主要分为聚类和降维。强化学习可以理解为构建一个系统,在与环境交互的过程中提高系统的性能。 我们在创建机器学习算法模型时,通常把数据分为训练集和测试集,使用训练集数据去训练模型,再用测试集来评估模型。 3、用scikit-learn实现有监督学习-分类 我们用Iris数据集来训练一个分类模型,该数据集中的数据采自三种不同的鸢尾花卉(分别是山鸢尾、变色鸢尾、维吉尼亚鸢尾),这些数据表示的是萼片和花瓣的长宽,每组数据都有一个类标。在做机器学习解决分类问题的算法模型时,常常都会使用到这个数据集,scikit-learn库内置了该数据集。我们这里来处理一个任务:给定一种鸢尾花的测量数据,为该花卉分类,这里使用k近邻分类器最简单,k近邻算法搜索训练集,寻找与该数据个体最相似的k个数据。我们把给定的数据分为训练集和测试集,下面为Python实现: 可以看到,预测的目标值错了一个~ 4、用scikit-learn实现有监督学习-回归这里讲的是线性回归,线性回归指的是用训练集数据创建线性模型的过程。可以用直线方程表示:y=a*x+c ,我们计算出参数a和c,也就建好了这个线性回归模型,在计算a和c时,要保证数据集最小化残差平方和。在这个方程式中,x为训练集,y为目标值,a为斜率,c为模型所对应的直线的截距。这里再介绍一下Diabetes数据集,包含了大量糖尿病患者的生理数据以及一年后的病情发展情况,数据中前10列为生理数据,后者为目标值,下面我们就用这个数据集来练练手。 上面只讲了k近邻分类和线性回归两个学习模型,sklearn中还内置了很多其他机器学习算法模型,其中分类算法模型有K近邻、支持向量机分类、逻辑回归、随机森林、决策树、朴素贝叶斯分类器等,回归算法有线性回归、岭回归、支持向量机回归、贝叶斯回归、多项式回归等,聚类算法又包含有Knn、Kmeans等。sklearn在Python数据分析中经常会用到,常常会配合numPy、matplotlib、pandas等库一起使用,我也刚接触Python机器学习两三个月,就不多说了,以免误人子弟,如有错误欢迎指正! 原文出处:https://www.cnblogs.com/IAMTOM/p/10249144.html 作者:禹泽鹏鹏 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |