1、C 表示随机误差。监督学习算法的最终目标是给定一个新的输入X,最大精度的预测Y。实现监督学习最常用的方法根据给定的数据集,机器学习问题可分为两类:分类和回归。如果给定的数据同时具有输入(训练)值和输出(目标)值,则是一个分类问题;如果给定数据集的属性是连续的值且没有任何目标标签,则是一个回归问题。分类: 有输出标签,这是猫还是狗?回归: 房子卖多少钱?分类举个例子:一位医学研究人员想要分析乳腺癌数据,来预测患者应该接受三种治疗方案中的哪一种。这个数据分析任务被称为分类,它构建一个模型或分类器来预测从属的类别标签,比如:“治疗方案A”,“治疗方案B”或“治疗方案C”。分类是预测分类(离散、无序的
2、)的类标号,分为两个过程:学习和分类。分类的方法一些常用的分类算法如下:K近邻算法(KNN)决策树算法贝叶斯分类算法支持向量机(SVM)在学习过程中,分类模型通过分析训练集来构建分类器;在分类过程中,预测给定数据的分类标签。将待分析的数据集元组和与之相关联的类标签分成一个训练集和一个测试集。从待分析的数据集中随机抽样组成训练集的各个元组,剩下的元组形成测试集,并独立于训练集的元组,这就意味着测试集不会被用来构建分类器。测试集用于评估分类器的预测正确率。分类器的正确率是分类器正确分类的测试元组所占得百分比。为了达到更高的正确率,最好的办法就是测试不同的算法,并在每个算法中尝试不同的参数。其中,最
3、好的一个方法是交叉验证。为了选择一个较好的算法来解决这个问题,对于不同的算法,必须考虑其正确率,训练时间,线性度,参数个数以及其他特殊情况。在IRIS 数据集上,我们用Scikit-Learn库实现K-近邻法算法,根据给定的输入对花的类型进行分类。为了应用机器学习算法,我们首先需要了解给定的数据集。在这个例子中,我们用的是从 Scikit-Learn包中导入的IRIS数据集。现在,我们用代码来探索IRIS数据集的属性。确保你的电脑上已经安装了Python。另外,使用PIP安装如下几个包:pip 安装 pandaspip 安装 matplotlibpip 安装 scikit-learn在这段代码
4、中,我们使用pandas包的几个方法了解IRIS数据集的属性。输出:dict_keys(data, target, target_names, DESCR, feature_names)class numpy.ndarray (150, 4)setosa versicolor virginicasepal length (cm) sepal width (cm) petal length (cm) petal width(cm)12345.14.94.74.65.03.53.03.23.13.61.40.21.4 0.21.3 0.21.5Scikit-Learn学习之K近邻法如果一个算法在只
5、是简单的存储训练集元组,并一直等待,直到给定一个测试元组时才进行泛化 , 根据其存储的训练元组的相似性进行分类,则称之为惰性学习。K近邻分类器就是一种惰性学习。K近邻法基于类比进行学习,也就是说,将给定的测试元组和与之相似的训练元组相比较。将训练元组表示为 n维空间中的一个点,这样,所有的训练元组将被存储在一个n维模式空间。当给定一个未知元组,K近邻分类器搜索模式空间中最接进未知元组的K个训练元组,这K个训练元组即是这个未知元组的个K个“近邻”。“贴近度”用来定义一个距离度量(如欧几里得距离)。一个合适的 K值则需要根据实际情况而定。在这段代码中,我们从 sklearn 中导入K近邻分类器,并
6、将其用于我们输入的数据中,之后再对花进行分类。1 1这里,0对应于Versicolor;1对应Virginic;2对应Setosa。根据给定的输入,机器预测两朵花都是Versicolor。使用K-近邻法对IRIS数据集分类回归回归用来描述两个或更多变量之间的关系。例如:根据给定输入X,预测一个人的收入。这里,目标变量指的是我们所关心的待预测的未知变量,连续是指Y的值之间不存在距离(不连续性)。预测收入是一个典型的回归问题。输入数据应该包含可以预测收入的信息(称为特征),比如:工作时间,教育经历,职位,住所。回归模型常用的回归模型有:线性回归Logistic回归多项式回归线性回归使用最佳拟合直线
7、(也称回归线)建立因变量(Y)和一个或多个自变量(X)之间的关系。用数学表达式表示:h(xi)=o+1*xi+e其中,o是截距,1是线的斜率,e是误差项。图表显示为:Logistic回归是一种用于响应变量是分类的算法,其思想是找出特征与特定结果概率之间的关系。p(X)=o+1*X其中,p(x)=p(y=1|x)多项式回归是一种回归分析方法,其中自变量x和因变量y之间的关系被建模为x的一个n次多项式。解决线性回归问题我们有数据集X和相应的目标值Y,使用普通的最小二乘法学习一个线性模型,给定一个新的x,我们可以使用这个模型以尽可能小的误差来预测一个新的y。将给定的数据集分成一个训练数据集和一个测试
8、数据集。训练集具有标签(特征),因此算法可以从这些带有标注的例子从学习。测试不带有任何标签,也就是说,你还不知道预测值。我们使用一个特征进行训练,并用线性回归方法来拟合训练数据,然后用测试数据集预测输出结果。线性回归在Scikit-Learn中的实现 0.07786339-0.03422907-0.05686312 0.00133873-0.01590626-0.03961813 0.00564998-0.03099563-0.02345095 0.01103904 0.08864151 0.05522933-0.07410811 0.03906215-0.04069594-0.0331512
9、6-0.06009656 0.01966154-0.0730303 预测的输出值:225.9732401158.2198857499.56772822154.17490936137.99500384115.74763374236.08568105123.83758651130.91629517163.27610621121.81509832204.7371141183.3878227114.73638965120.8038542296.53399594171.3660589784.3990668189.56845268表中(diabetes_X_test, diabetes_y_pred) 的预测在线性方程上是连续的。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1