小白学数据:教你用Python实现简单监督学习算法

小白学数据:教你用Python实现简单监督学习算法

编译:文明、笪洁琼、天培

监督学习作为运用最广泛的机器学习方法,一直以来都是从数据挖掘信息的重要手段。即便是在无监督学习兴起的近日,监督学习也依旧是入门机器学习的钥匙。

这篇监督学习教程适用于刚入门机器学习的小白。

当然了,如果你已经熟练掌握监督学习,也不妨快速浏览这篇教程,检验一下自己的理解程度。

一、什么是监督学习?

在监督学习中,我们首先导入包含有训练属性和目标属性的数据集。监督学习算法会从数据集中学习得出训练样本和其目标变量之间的关系,然后将学习到的关系对新样本(未被标记的样本)进行分类。

为了阐明监督学习的工作原理,我们用根据学生学习时间预测其考试成绩的例子来说明。

用数学表示,即Y = f(X)+ C,其中

f表示学生学习时间和考试成绩之间的关系

X表示输入(学习小时数)

Y表示输出(考试分数)

C表示随机误差

监督学习算法的终极目标是给出新的输入X,使得预测结果Y的准确率最大。有很多方法可以实现有监督学习,我们将探讨几种最常用的方法。

根据给定的数据集,机器学习可以分为两大类:分类(Classification)和回归(Regression)。如果给定的数据集的输出值是类别,那么待解决是分类问题。如果给定的数据集的输出值是连续的,那么该问题是回归问题。

举两个例子

分类:判断是猫还是狗。

回归:房子的售价是多少?

二、分类

考虑这样一个例子,医学研究员想要分析乳腺癌数据,用于预测患者使用三种治疗方案中的哪一种。该数据分析问题就属于分类问题,通过建立分类模型来预测类别标签,例如“治疗方案A”、“治疗方案B”或者“治疗方案C”。

分类是一个预测类别标签的预测问题,这些类别标签都是离散和无序的。分类包含两个步骤:学习步骤和分类步骤。

1. 分类方法和选择最优方法

一些常见的分类算法:

K近邻

决策树

朴素贝叶斯

支持向量机

在学习步骤中,分类模型通过分析训练集数据建立一个分类器。在分类步骤中,分类器对给定的数据进行分类。用于分析的数据集(包含数据和其对应的标签)被划分为训练集和测试集。训练集从分析用的数据集中随机抽取。剩下的数据集构成测试集。测试集和训练集相互独立,即测试集中的数据不会被构建于分类器。

测试集用于评价分类器的预测精度。分类器的精度用测试集中预测正确的百分比表示。为了获得更高的精度,最好的方法是测试多个不同的算法,同时,对每个算法尝试不同的参数。可以通过交互检验选择最好的算法和参数。

对于给定问题,在选取算法时,算法的精度、训练时间、线性、参数数目以及特殊情况都要考虑在内。

在IRIS数据集上实现sklearn中的KNN,并对给定的输入进行花卉类型分类。

首先,要应用机器学习算法,我们需要了解给定数据集的组成。在这个例子中,我们使用内置在sklearn包中的IRIS数据集。现在让我们使用代码查看IRIS数据集。

请确保你的电脑上成功安装了Python。然后,通过PIP安装下面这些python库:

pip install pandas 

pip install matplotlib 

pip install scikit-learn 

在下面这段代码中,我们使用pandas中的一些方法查看IRIS数据集的一些属性。

from sklearn import datasets 

import pandas as pd 

import matplotlib.pyplot as plt 

 

# Loading IRIS dataset from scikit-learn object into iris variable. 

iris = datasets.load_iris() 

 

# Prints the type/type object of iris 

print(type(iris)) 

<class 'sklearn.datasets.base.Bunch'> 

 

# prints the dictionary keys of iris data 

print(iris.keys()) 

 

# prints the type/type object of given attributes 

print(type(iris.data), type(iris.target)) 

 

# prints the no of rows and columns in the dataset 

print(iris.data.shape) 

 

# prints the target set of the data 

print(iris.target_names) 

 

# Load iris training dataset 

X = iris.data 

 

# Load iris target set 

Y = iris.target 

 

# Convert datasets' type into dataframe 

df = pd.DataFrame(X, columns=iris.feature_names) 

 

# Print the first five tuples of dataframe. 

print(df.head()) 

2. 输出:

<class ‘sklearn.datasets.base.Bunch’> 

dict_keys([‘data’, ‘target’, ‘target_names’, ‘DESCR’, ‘feature_names’])] 

相关推荐
新闻聚焦
猜你喜欢
热门推荐
  • 全球最聪明的大脑怎么看AI?他们预测了

      2017年AI领域取得了诸多成果。2018年AI又将何去何从?以下是来自世界顶级研究人员和行业领军人物对2018年AI领域发展作......

    02-20    来源:虎嗅网

    分享
  • 2017JavaScript框架战报 - React分战场

      我们来看看与React有关的软件包的生态系统。当Facebook构建React时,就有许多来自开源社区的第三方软件包。为提供完......

    02-27    来源:湖北新闻网

    分享
  • 小白学数据:教你用Python实现简单监督学

      监督学习作为运用最广泛的机器学习方法,一直以来都是从数据挖掘信息的重要手段。即便是在无监督学习兴起的近......

    03-05    来源:今日头条

    分享
  • 央企Car Hacking Team诚招各路安全大咖

      传统安全行业做腻了?这里有新鲜、有趣、好玩的岗位等你来挑战!“数”驱产业变革“智”领汽车未来中国汽车技......

    02-24    来源:西安新闻网

    分享
  • 轻量web日志扫描工具 xlog

      一、介绍用过二进制扫描工具yara的安全人,都喜欢其简洁的语法,其规则由字符串和布尔型表达式组成,可用于标示某......

    02-08    来源:金华新闻网

    分享
  • 谈谈从连接池到内存池

      AI赋能万物,老码农的伙伴们也曾经开发了一个基于图数据库的知识问答系统,在压力测试的时候发现随着并发数的增......

    02-21    来源:西安新闻网

    分享
  • 【微博直播中】盘古越狱团队主办:第一

      微博直播传送门http://weibo.com/fbliveMOSEC移动安全技术峰会由盘古团队和POC共同举办,第一届会议于2015年在中国上海举办......

    03-18    来源:永川新闻网

    分享
  • Dgraph宣布其第一个生产就绪图数据库发布

      从2015年的只有一个贡献者开始,开源图数据库Dgraph在过去两年已经有了46个贡献者,2190个GitHub提交,277个分支和25次......

    03-18    来源:东北新闻网

    分享
  • 法媒谈中国入足吉布提港:海洋战略兵家

      法媒称,法国和美国的海军刚刚结束在吉布提塔朱拉海湾的联合军事训练。法新社称,这表明,世界各大国,包括中......

    04-05    来源:新浪新闻

    分享
  • IT168文库APP上线,文末三重好礼送不停!

      随着信息技术的发展,IT从业者成为了市场的宠儿,程序员更是成为了高薪的代名词。当越来越多的人选择进入IT行业......

    02-03    来源:玉林新闻网

    分享
返回列表
Ctrl+D 将本页面保存为书签,全面了解最新资讯,方便快捷。