DataWhale集成学习Task1--机器学习的三大主要任务

机器学习的三大主要任务

摘要:机器学习在人工智能中一直是一个很热门的概念,那么什么是机器学习呢?今天就来好好了解一下机器学习机器学习的三大主要任务吧

概论

机器学习的一个重要的目标就是利用数学模型来理解数据,发现数据中的规律,用作数据的分析和预测。这里说的数据数据,一般是由一组向量组成的,其中的每一个向量就是一个样本。一个样本通常包括p+1个维度,前p个维度 我们称之为特征,最后一个维度我们称之为因变量。而特征与因变量的关系是:特征是用来描述影响因变量的的因素,比如:我们研究温度对苹果成熟的影响时,温度就是一个特征,而苹果成熟就是一个因变量。通常一个数据表DataFrame里,一行表示一个样本,一列表示一个特征。

而根据是否有因变量,机器学习任务可以简单地划分为:有监督学习与无监督学习;而根据因变量是否连续,有监督学习又分为回归分类两类问题:

在学习机器学习中,我们经常使用scikit-learn简称sklearn工具库来探索机器学习项目,下面我们开始使用sklearn来演示这几个具体的概念:(在开始之前,需要先导入相应的科学计算包)

# 引入相关科学计算包
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
%matplotlib inline 
plt.style.use("ggplot")      
import seaborn as sns

回归

回归的因变量是连续型变量,如股票价格,身高等等,我们以sklearn内置数据集Boston房价数据集为例子

from sklearn import datasets
boston = datasets.load_boston()     # 返回一个类似于字典的类
X = boston.data						# data:特征X的矩阵(ndarray)
y = boston.target					# target:因变量的向量(ndarray)
features = boston.feature_names		# feature_names:特征名称(ndarray)
boston_data = pd.DataFrame(X,columns=features)
boston_data["Price"] = y
boston_data.head()
CRIMZNINDUSCHASNOXRMAGEDISRADTAXPTRATIOBLSTATPrice
00.0063218.02.310.00.5386.57565.24.09001.0296.015.3396.904.9824.0
10.027310.07.070.00.4696.42178.94.96712.0242.017.8396.909.1421.6
20.027290.07.070.00.4697.18561.14.96712.0242.017.8392.834.0334.7
30.032370.02.180.00.4586.99845.86.06223.0222.018.7394.632.9433.4
40.069050.02.180.00.4587.14754.26.06223.0222.018.7396.905.3336.2
sns.scatterplot(boston_data['TAX'],boston_data['Price'],color="r",alpha=0.6)
plt.title("Price~TAX")
plt.show()

在这里插入图片描述

我们可以看到,这里样本为TAX:全部价值的房产税率(每1万美元),因变量为波士顿房价Price是一个连续型变量,所以这是一个回归的例子。

分类

我们来看看一个分类的典型例子:iris鸢尾花数据集:

from sklearn import datasets
iris = datasets.load_iris()
X = iris.data
y = iris.target
features = iris.feature_names
iris_data = pd.DataFrame(X,columns=features)
iris_data['target'] = y
iris_data.head()
sepal length (cm)sepal width (cm)petal length (cm)petal width (cm)target
05.13.51.40.20
14.93.01.40.20
24.73.21.30.20
34.63.11.50.20
45.03.61.40.20

特征可视化,横纵坐标分别为花瓣的长度和宽度

# 可视化特征
marker = ['s','x','o']
for index,c in enumerate(np.unique(y)):
    plt.scatter(x=iris_data.loc[y==c,"sepal length (cm)"],y=iris_data.loc[y==c,"sepal width (cm)"],alpha=0.8,label=c,marker=marker[c])
plt.xlabel("sepal length (cm)")
plt.ylabel("sepal width (cm)")
plt.legend()
plt.show()

在这里插入图片描述

从可视化特征可以看出,数据集中有3种不同类型的鸢尾花。因此因变量是个类别变量,这是一个分类问题。

无监督学习

sklearn.datasets模块提供了用于加载数据集的实用程序,包括用于加载和获取流行的参考数据集的方法,以下面这一种为例:

#在2d平面中制作一个包含较小圆圈的大圆圈。
from sklearn import datasets
x, y = noisy_circles = datasets.make_circles(n_samples=1500, factor=.5,
                                      noise=.05)
for index,c in enumerate(np.unique(y)):
    plt.scatter(x[y==c, 0], x[y==c, 1],s=7)
plt.show()

在这里插入图片描述

总结

Task1深入浅出地讲解了机器学习的基础,有监督,无监督,回归,分类等等,必须准确把握这些概念,才能在接下来的学习中灵活运用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值