机器学习(machine learning)是从数据中提取知识,是统计学、人工智能和计算机科学交叉的研究领域,也被成为预测分析(predictive analytics)或统计学习(statistical learning)。

人为制订决策规则的两个主要缺点:
从输入/输出对中进行学习的机器学习算法叫作监督学习算法(supervised learning algorithm)。
监督机器学习任务的示例:
无监督学习算法(unsupervised learning algorithm),只有输入数据是已知的,没有为算法提供输出数据。
无监督学习示例:
在机器学习中,每个实体或数据表格中的每一行被称为一个样本(sample)或数据点,每一列(用来描述这些实体的属性)被称为特征(feature)。
构建良好的数据表征被称为特征提取(feature extraction)或特征过程(feature engineering)。
在机器学习过程中,最重要的部分很可能是理解你正在处理的数据,以及这些数据与你想要解决的任务之间的关系。
下面是在构建机器学习解决方案过程中应该回答的问题:
Python现在是许多科学应用的通用语言。
机器学习和数据分析本质上都是迭代过程,由数据驱动分析。这些过程必须要有快速迭代和易于交互的工具。
# install scikit-learn
> pip install numpy scipy matplotlib ipython scikit-learn pandas mglearn
scikit-learn是基于NumPy和SciPy科学计算库的,还会用到pandas和matplotlib。
Create *.ipynb file in VS Code.
numpy.ipynb 显示了ndarray类的创建与输出。
scikit-learn利用SciPy中的函数集合来实现算法。
SciPy中最重要的是scipy.sparse:它可以给出稀疏矩阵(sparse matrice),稀疏矩阵是scikit-learn中数据的另一种表示方法。
这个例子用稀疏矩阵来保存一个大部分元素都是0的二维数组:scipy1.ipynb
若直接创建稀疏表示(sparse representation),使用COO格式:scipy2.ipynb
matplotlib是Python主要的科学绘图库。
在Jupyter Notebook中,可以使用%matplotlib notebook(可以提供交互环境)和%matplotlib inline命令,将图像直接显示在浏览器中。见示例代码:matplotlib.ipynb
pandas是用于处理和分析数据的Python库,基于DataFrame数据结构,模仿了R语言中的DataFrame。这个代码使用字典数据结构创建DataFrame:pandas.ipynb
默认需要导入如下的库:
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
import mglearn
如果不使用Jupyter Notebook,就需要调用plt.show来显示图像。
本教程使用Python 3。
点击lib-version.ipynb查看各个库的版本。
典型的监督学习中的分类(classification)问题。具体为三分类问题 - setosa, versicolor, virginica。
单个数据点(一朵鸢尾花)的预期输出是这朵花的品种,对于一个数据点来说,其品种叫作标签(label)。
问题分析可以从这个文件中参考:iris.ipynb
Last updtaed at 2026-02-22