本关必读

scikit-learn包括一些标准数据集,不需要从外部下载,可直接导入使用,比如与分类问题相关的Iris数据集和digits手写图像数据集,与回归问题相关的波士顿房价数据集。
以下列举一些简单的数据集,括号内表示对应的问题是分类还是回归:  

     #加载并返回波士顿房价数据集(回归)
    load_boston([return_X_y])
    #加载并返回iris数据集(分类)
    load_iris([return_X_y])             
    #加载并返回糖尿病数据集(回归)
    load_diabetes([return_X_y])          
    #加载并返回数字数据集(分类)
    load_digits([n_class, return_X_y])
    #加载并返回linnerud数据集(多分类)   
    load_linnerud([return_X_y])      

这些标准数据集采用类字典的对象格式存储,比如.data表示原始数据,是一个(n_samples,n_features)二维数组,通过.shape可以得到二维数组大小,.target表示存储数据类别即标签。
下面我们将利用datasets加载数据集digits作为示例,如下图所示:

在命令行输入python进入python终端,>>>表示python终端提示符,输入python命令即可执行。y.[:5]表示标签的前5个数据。
本关任务

本关任务是使用scikit-learn的datasets模块导入iris数据集,并打印前5条原数据、前5条数据标签及原数据的数组大小。
即编程实现step1/importData.py 的getIrisData()函数:

    from sklearn import datasets
    def getIrisData():
        '''
        导入Iris数据集
        返回值:
        X - 前5条训练特征数据
        y - 前5条训练数据类别
        X_shape - 训练特征数据的二维数组大小
        '''
        #初始化
        X = []
        y = []
        X_shape = ()
        #   请在此添加实现代码   #
        #********** Begin *********#
     
        #********** End **********#
        return X,y,X_shape

测试说明

本关的测试文件是step1/testImportData.py该代码负责对你的实现代码进行测试,注意step1/testImportData.py 不能被修改,该测试代码具体如下:

    import importData
    X,y,X_shape = importData.getIrisData()
    print(X)
    print(y)
    print(X_shape)

测试函数将直接调用step1/importData.py 的getIrisData()得到实际输出,平台通过比较预期输出与实际输出来判断createSVMmodel函数是否实现正确。

from sklearn import datasets
def getIrisData():

    '''
    导入Iris数据集

    返回值:
    X - 前5条训练特征数据
    y - 前5条训练数据类别
    X_shape - 训练特征数据的二维数组大小
    '''
    #初始化
    X = [] 
    y = [] 
    X_shape = () 

    #   请在此添加实现代码   #
    #********** Begin *********#
    iris = datasets.load_iris()
    X = iris.data[:5]
    y = iris.target[:5]
    X_shape = iris.data.shape
    #********** End **********#

    return X,y,X_shape

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐