机器学习概述

简介: 机器学习概述

一、机器学习的概述

机器学习是入门人工智能必修的一科,说实话来说也就是我们的算法。这机器学习中我们一般分为两类:

  • 监督学习: 给定某些特征去估计因变量,即因变量存在的时候,我们称这个机器学习任务为有监督学习。如:我们使用房间面积,房屋所在地区,环境等级等因素去预测某个地区的房价。
  • 无监督学习: 给定某些特征但不给定因变量,建模的目的是学习数据本身的结构和关系。如:我们给定某电商用户的基本信息和消费记录,通过观察数据中的哪些类型的用户彼此间的行为和属性类似,形成一个客群。注意,我们本身并不知道哪个用户属于哪个客群,即没有给定因变量。

后面我们还可以继续加上机器学习的扩展: 深度学习、强化学习。

至于什么是监督学习和非监督学习我们是根据他们是否有目标(也就是结果)

在这一块内容中,我觉得西瓜书(其中详细介绍机器的)是入门机器学习的神书了,有想法的人可以买来看看。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-spmiR22T-1615813860544)(attachment:image.png)]

#导入一些有必要的科学计算与可视化的库
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
%matplotlib inline
plt.style.use("ggplot") #使用可视化风格比较好的类型
import seaborn as sns

1.1 、回归

首先,我们先来看看有监督学习中回归的例子,我们使用sklearn内置数据集Boston房价数据集。

sklearn中所有内置数据集都封装在datasets对象内: 返回的对象有:

  • data:特征X的矩阵(ndarray)
  • target:因变量的向量(ndarray)
  • feature_names:特征名称(ndarray

在这里我们将使用sklearn中自带的波士顿房价数据集进行描述回归问题

from sklearn import datasets
boston = datasets.load_boston() # 返回一个类似于字典的类
X = boston.data
y = boston.target
features = boston.feature_names
boston_data = pd.DataFrame(X,columns=features)
boston_data.head()
CRIM ZN INDUS CHAS NOX RM AGE DIS RAD TAX PTRATIO B LSTAT
0 0.00632 18.0 2.31 0.0 0.538 6.575 65.2 4.0900 1.0 296.0 15.3 396.90 4.98
1 0.02731 0.0 7.07 0.0 0.469 6.421 78.9 4.9671 2.0 242.0 17.8 396.90 9.14
2 0.02729 0.0 7.07 0.0 0.469 7.185 61.1 4.9671 2.0 242.0 17.8 392.83 4.03
3 0.03237 0.0 2.18 0.0 0.458 6.998 45.8 6.0622 3.0 222.0 18.7 394.63 2.94
4 0.06905 0.0 2.18 0.0 0.458 7.147 54.2 6.0622 3.0 222.0 18.7 396.90 5.33
features
array(['CRIM', 'ZN', 'INDUS', 'CHAS', 'NOX', 'RM', 'AGE', 'DIS', 'RAD',
       'TAX', 'PTRATIO', 'B', 'LSTAT'], dtype='<U7')
boston_data["Price"] = y
boston_data.head()
CRIM ZN INDUS CHAS NOX RM AGE DIS RAD TAX PTRATIO B LSTAT Price
0 0.00632 18.0 2.31 0.0 0.538 6.575 65.2 4.0900 1.0 296.0 15.3 396.90 4.98 24.0
1 0.02731 0.0 7.07 0.0 0.469 6.421 78.9 4.9671 2.0 242.0 17.8 396.90 9.14 21.6
2 0.02729 0.0 7.07 0.0 0.469 7.185 61.1 4.9671 2.0 242.0 17.8 392.83 4.03 34.7
3 0.03237 0.0 2.18 0.0 0.458 6.998 45.8 6.0622 3.0 222.0 18.7 394.63 2.94 33.4
4 0.06905 0.0 2.18 0.0 0.458 7.147 54.2 6.0622 3.0 222.0 18.7 396.90 5.33 36.2

我们可以看到,数据给定任务所需要的因变量,因变量为波士顿房价Price是一个连续型变量,所以这

是一个回归的例子。

各个特征的相关解释:

CRIM:各城镇的人均犯罪率

ZN:规划地段超过25,000平方英尺的住宅用地比例

INDUS:城镇非零售商业用地比例

CHAS:是否在查尔斯河边(=1是)

NOX:一氧化氮浓度(/千万分之一)

RM:每个住宅的平均房间数

AGE:1940年以前建造的自住房屋的比例

DIS:到波士顿五个就业中心的加权距离

RAD:放射状公路的可达性指数

TAX:全部价值的房产税率(每1万美元)

PTRATIO:按城镇分配的学生与教师比例

sns.scatterplot(boston_data['NOX'],boston_data['Price'],color="r",alpha=0.6)
plt.title("Price~NOX")
plt.show()

1.2 、分类

对于分类的例子我们使用鸢尾花数据集进行探测

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
0 5.1 3.5 1.4 0.2 0
1 4.9 3.0 1.4 0.2 0
2 4.7 3.2 1.3 0.2 0
3 4.6 3.1 1.5 0.2 0
4 5.0 3.6 1.4 0.2 0
# 可视化特征
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)"])
plt.xlabel("sepal length (cm)")
plt.ylabel("sepal width (cm)")
plt.legend()
plt.show()   

我们可以看到:每种不同的颜色和点的样式为一种类型的鸢尾花,数据集有三种不同类型的鸢尾花。

因此因变量是一个类别变量,因此通过特征预测鸢尾花类别的问题是一个分类问题。

相关文章
|
9月前
|
机器学习/深度学习 人工智能 自然语言处理
【机器学习】人工智能概述
【机器学习】人工智能概述
129 0
|
机器学习/深度学习 人工智能 算法
【机器学习-黑马程序员】人工智能、机器学习概述
机器学习和人工智能、深度学习的关系 机器学习是人工智能的一个实现途径 深度学习是机器学习的一个方法发展而来的 机器学习的应用场景非常多,主要有下图三种领域:
150 0
|
机器学习/深度学习 人工智能 安全
Azure - 机器学习企业级服务概述与介绍
Azure - 机器学习企业级服务概述与介绍
95 0
|
4月前
|
机器学习/深度学习 算法 API
机器学习入门(五):KNN概述 | K 近邻算法 API,K值选择问题
机器学习入门(五):KNN概述 | K 近邻算法 API,K值选择问题
|
6月前
|
机器学习/深度学习 算法 TensorFlow
【人工智能】TensorFlow和机器学习概述
TensorFlow的性能优化将是持续的工作重点。这包括更高效的GPU和TPU支持、更快速的模型训练与推理、以及优化的内存使用。同时,随着硬件的发展,TensorFlow将不断优化其代码库以充分利用新型硬件的能力。
46 0
|
6月前
|
机器学习/深度学习 人工智能 自然语言处理
【机器学习】GLM4-9B-Chat大模型/GLM-4V-9B多模态大模型概述、原理及推理实战
【机器学习】GLM4-9B-Chat大模型/GLM-4V-9B多模态大模型概述、原理及推理实战
653 0
|
机器学习/深度学习 人工智能 算法
机器学习概述(三)
机器学习概述(三)
|
机器学习/深度学习 人工智能 算法
|
机器学习/深度学习 人工智能 算法
【机器学习】人工智能概述3
3.机器学习算法分类 4.机器学习开发流程
127 0
|
9月前
|
机器学习/深度学习 人工智能 算法
【人工智能】机器学习概述(二)
【1月更文挑战第26天】【人工智能】机器学习概述(二)