#为了方便学习,我们使用Scikit-learn机器学习模块自带的数据集进行数据的加载练习。 #Scikit-learn机器学习模块提供了一些自带的数据集。 #第一步 启动一个Python解释器,然后加载iris和digits数据集。 #导入数据集模块 from sklearn import datasets #分别加载iris和digits数据集 iris = datasets.load_iris() digits = datasets.load_digits() #数据集是一个类似字典的对象,它保存有关数据集的所有数据和一些样本特征数据,通常存储在.data成员中。 #而在有监督的学习中,一个或多个标记类别存储在.target成员中。 #分别加载digits数据集样本特征数据 print(digits.data) #而digits.target表示数据集内每个数字的真是类别,也就是我们期望从每个手写数字图像中学得的相应的数字标记。 digits.target #通常,在训练有监督的学习的机器学习模型的时候,会将数据划分为训练集和测试集,划分比例一般为0.75:0.25。 #对原始数据进行两个集合的地方,是为了能够选出效果(可以理解为准确率)最好的、泛化能力最佳的模型。 #机器学习是从数据的属性中学习经验,并将它们应用到新数据的过程。 #这就是为什么机器学习中评估算法的普遍实践是把数据分割成训练集(我们从中学习数据的属性)和测试集(我们测试这些性质)。 #训练集(Training Set)的作用是用来拟合模型,通过设置分类器的参数来训练分类模型。 #通过训练,得出最优模型后,使用测试集(Test Set)进行模型预测,以衡量该最优模型的性能和分类能力。 #即可以把测试集视为从来不存在的数据集,当已经确定模型后,再使用测试集进行模型性能评价。 #接下来介绍如何将数据合理地分割成训练数据集和测试数据集,这里把参数test_size设置成0.4,表示分配了40%的数据给测试数据集,剩下60%的数据将用于训练数据集 from sklearn.model_selection import train_test_split from sklearn import datasets x = iris.data y = iris.target iris.data.shape, iris.target.shape X_train,X_test,y_train,y_test=train_test_split(iris.data,iris.target,test_size=0.4,random_state=0) X_train.shape, y_train.shape X_test.shape, y_test.shape