开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第10天,点击查看活动详情
数据集:一组样本的集合
样本:数据集的一行,一个样本包含一个或多个特征,此外还可能包含一个标签
特征:在进行预测试时使用的输入变量
机器学习的基本方法
- 有监督学习
- 无监督学习
- 深度学习
- 强化学习(人工智能里面用的最多)
训练集:用于训练模型的数据集
测试集:用于测试模型的数据集
模型:建立数据的输入 X 和 输出 Y 之间的映射关系
损失函数:L(f(xi),yi) = (f(xi)-yi)2
1.4 下载 jupyter 及国内源
安装 jupyter 插件
国内的常用的源有:
阿里云: mirrors.aliyun.com/pypi/simple…
中国科技大学: pypi.mirrors.ustc.edu.cn/simple/
清华大学: pypi.tuna.tsinghua.edu.cn/simple/
中国科学技术大学: pypi.mirrors.ustc.edu.cn/simple/
修改源方法(以下修改为清华大学源为例):
1)
临时使用:
可以在使用 pip 的时候在后面加上-i 参数,指定 pip 源。
pip install pandas -i pypi.tuna.tsinghua.edu.cn/simple
从清华源下载安装 pandas 包,但每次安装都要指定源,比较麻烦
2)
Windows 永久有效
在当前用户目录中创建一个 pip 目录,如:C:\Users\abc\pip(abc 为当前用户
名),在 pip 目录下新建文件 pip.ini,添加如下内容:
[global]
timeout = 6000
index-url = pypi.tuna.tsinghua.edu.cn/simple
trusted-host = pypi.tuna.tsinghua.edu.cn
或直接运行以下命令
pip config set global.index-url pypi.tuna.tsinghua.edu.cn/simple
实现永久换源。
在命令提示符下输入:
pip install jupyter_contrib_nbextensions
jupyter contrib nbextension install --user
pip install jupyter_nbextensions_configurator
jupyter nbextensions_configurator enable --user
重新运行 jupyter notebook,浏览器界面会多出选项卡“nbextensions”,将其打
开,按需选中对应的复选框
常用快捷键
Ctrl + Enter: 执行单元格代码
Shift + Enter: 执行单元格代码并且移动到下一个单元格
Alt + Enter: 执行单元格代码,新建并移动到下一个单元格
命令模式常用命令
按 esc 进入命令模式
dd 删出当前单元格
shift+向上箭头/向下箭头 同时选中上面或下面的单元格
shift+m 合并选中的单元格
a 当前单元格前增加单元格
b 当前单元格后增加单元格
z 撤回删除的单元格
1.5 常用数据集来源
网站数据集
UCI 机器学习库网址:archive.ics.uci.edu/ml/datasets… 该网站出于教育目的按问题分类,可以轻松找到分类、回归和聚类数据集。
Kaggle 是世界领先的平台,涉及所有数据科学相关的编程。它允许用户查找和发布数据集,更重要的是与其他数据科学人员就如何从数据集中提取价值进行工作和竞争。其网址:www.kaggle.com/datasets。
阿里天池:阿里天池提供数据集供研究使用,目前已有 700 多篇顶级学术论文使用天池数据集进行研究。阿里天池数据集网址:tianchi.aliyun.com/dataset
其它
- 亚马逊数据集:https://registry.opendata.aws
- 谷歌的数据集:https://toolbox.google.com/datasetsearch
- 微软数据集:https://msropendata.com
- Awesome 公共数据集:https://github.com/awesomedata/awesome-public-datasets
- 欧洲政府数据集:data.europa.eu/euodp/data/…
- 新西兰政府数据集:catalogue.data.govt.nz/dataset
- 印度政府数据集:data.gov.in/
- 计算机视觉数据集:https://www.visualdata.io
- 斯坦福大型网络数据集:snap.stanford.edu/data/
1.6 Python 工具包提供的数据集
- Sklearn 自带的数据集:sklearn 提供的小数据集可通过
load_xx()方法直接获取。大的数据集通过fetch_xx()方法在线下载。以下介绍部分常用的数据集以及获取方法。 - 手写数字数据集:该数据集共有 1797 个样本,每个样本有 64 的元素,对应到一个 8x8 像素点组成的矩阵,每一个值是其灰度值,target 值是 0-9,适用于分类任务。通过 sklearn的
datasets.load_digits()方法获取 - 鸢尾花数据集:该数据集包含了 150 个鸢尾花样本,对应 3 种鸢尾花,各 50 个样本,以及它们各自对应的 4 种关于鸢尾花外形的数据 ,适用于分类任务。通过 sklearn 的
datasets.load_iris()方法获取。 - 体能数据集:data 和 target 都是 20x3,data 的特征包括 Chins, Situps and Jumps(引体向上 仰卧起坐 跳跃),target 的三维分别是 Weight, Waist and Pulse(体重 腰围 脉搏),适用于回归问题。通过 sklearn 的
datasets.load_linnerud()方法获取 - 人脸数据集:打好标签的人脸数据集。通过 sklearn 的
datasets.fetch_lfw_people()方法获取。通过datasets.fetch_lfw_pairs()方法可以实现人脸验证:给定一对两张图片,二分类器可以预测这两个图片是否来自同一个人 - 森林植被类型数据集:森林植被类型数据集,总计 581012 个样本,每个样本由 54 个维度表示(12个属性,其中 2 个分别是 one-hot4 维和 one-hot40 维),以及 target 表示植被类型1-7,所有属性值均为数值型。通过 sklearn 的
datasets.fetch_covtype()方法获取
1.7 sklearn 生成数据集
make_blobs 方法生成聚类数据集
datasets.make_blobs(n_samples=1000,n_features=2,centers=4,cluster_std=1)
其中的参数:
n_samples:样本数
n_features:特征数(维度)
centers:中心数,也可以是中心的坐标
cluster_std:簇的方差
make_circles 方法生成同心圆数据集
datasets.make_circles(n_samples=5000, noise=0.04, factor=0.7)
noise:噪声
factor:内圆与外圆的距离 为 1 的时候最小
make_moons 方法生成月亮数据集
datasets.make_moons(n_samples=3000, noise=0.05)
noise:噪声
make_classification 方法生成类别数据集
datasets.make_classification(n_classes=4,n_samples=1000,n_features=2,n_infor
mative=2 , n_redundant=0, n_clusters_per_class=1,n_repeated=0, random_state=22)
其中的参数:
n_classes:类的数目
n_informative:有效的特征数
n_redundant:冗余特征数 有效特征数的线性组合
n_repeated:有效特征数和冗余特征数的有效组合
n_informative + n_redundant + n_repeated < = n_features
n_clusters_per_class:每一类的簇数
n_classes * n_clusters_per_class <= 2**n_informative
利用 fetch_openml() 方法从 openml.org 下载的数据集
openml.org 是一个用于机器学习数据和实验的公共存储库,它允许个人上传开放的数据集,可以通过 sklearn 的 datasets.fetch_openml()方法从 openml.org 下载数据集。
Tensorflow 自带的数据集
tensorflow 主要包含图片分类、文本主题分类以及情感分析等任务练习的数
据集。具体有:
Boston_housing:波士顿房价数据集,用于回归任务。
cifar10:10 类 60000 张,32x32 的彩色图片数据集,用于多分类的数据集。
cifar100:100 类 60000 张,600 张/类,32x32 的彩色图片数据集,用于多分
类的数据集。
fashion_mnist:10 类 70000 张运动鞋、衬衫等服装的 28x28 灰度图集,用
于多分类的数据集。
imdb:5 万条 IMDB 影评数据集,常用于情感分析。
mnist:10 类 70,000 张 28x28 灰度手写数字数据集,用于分类任务的数据
集。
reuters:路透社新闻数据集,文本分类的基准数据集。
Tensorflow 自带的数据集,通过 tf.keras.datasets.xxx.load_data()方法获取。其
中 xxx 为以上数据集的名称