一些样本数据集
我会使用一些数据集来说明不同的算法。其中一些数据集很小,而且是模拟的,其目的就是强调算法的某个特定方面。
一个模拟的二分类数据集示例是forge数据集,它有两个特征。下列代码将绘制一个散点图,将此数据集上的点可视化。图像以第一个特征为x轴,第二个特征为y轴。正如其它散点图那样,每个数据点对应对应图像中的一点。每个点的颜色和形状对应其类别。
# 生成数据集
X, y = mglearn.datasets.make_forge() # X和y是forge返回的两个特征
print("X.shape: {}".format(X.shape)) # X.shape: (26, 2)
# 数据集绘图
mglearn.discrete_scatter(X[:,0],X[:,1],y) # 输入X第0列和第1列作为x轴,将y作为y轴
plt.legend(["Class 0", "Class 1"], loc=4) # 设置图像的分类名称
plt.xlabel("First feature") # 设置图像x轴的名称
plt.ylabel("Second feature") # 设置图像的y轴的名称
我们可以看出这个数据集包含26个数据点和2个特征。
我们用模拟的wave数据集来说明回归算法。
wave数据集只有一个输入特征和一个连续的目标变量,后者是模型想要预测的对象。
X, y = mglearn.datasets.make_wave(n_samples=40) # 生成40个数据,X.shape是(40,1),y.shape是(40,)
plt.plot(X, y, 'o') # 图中的点使用圆点表示
plt.ylim(-3, 3) #设置y轴的区间显示范围
plt.xlabel("Feature")
plt.ylabel("Target")
wave数据集只有一个输入特征和一个连续的目标变量(x轴表示特征,y轴表示输出
出了上面的两个小的入门的数据集,这里还简介的说明现实中的两个数据集,它们都在scikit-learn中,一个是cancer(关于乳腺癌的数据集),里面每个肿瘤都标为良性(benign,表示无害肿瘤)或恶性(malignant 癌性肿瘤),这个数据集的母的是基于人体组织的测量数据进行学习预测肿瘤是否为恶性。
from sklearn.datasets import load_breast_cancer
cancer=load_breast_cancer()
print("cancer.keys():\n{}".format(cancer.keys()))
#打印数据集的形状
print("shape of cancer data:{}".format(cancer.data.shape))
这个数据集一共有569个点,每个数据点有30个特征。
通过答应数据中的相关信息,我们可以发现在569个点中,212被标记为恶性,357被标记为良性。
这里是对一些简单的数据集进行了概述,后面我会一一的说明一些关于机器学习的相关的一些算法,还有很多的例子。
create by 0125c