第1关:引言-根深之树不怯风折,泉深之水不会涸竭

第2关:数据清理-查漏补缺

任务描述
本关任务:模型的基线取决于数据的好坏,本关将学习数据处理的常用处理。

编程要求
请仔细阅读右侧代码,结合相关知识,在 Begin-End 区域内进行代码补充,通过上图可视化的方式可以发现在最右边有一个离群点,请将数据中的离群点去除,并将清洗数据可视化展示。

具体绘图要求如下:

数据文件为 Task1/diabetes_null.csv;

figsize 设置为 (10,10);

图形保存到 Task1/img/T1.png。

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
def student():
    train = pd.read_csv('Task1/diabetes_null.csv', na_values=['#NAME?'])
    train['Insulin'] = train['Insulin'].fillna(100)
    train['SkinThickness'] = train['SkinThickness'].fillna(train['SkinThickness'].median())
    train['BloodPressure'] = train['BloodPressure'].fillna(train['BloodPressure'].median())
    train['BMI'] = train['BMI'].fillna(train['BMI'].mean())
    train['Glucose'] = train['Glucose'].fillna(train['Glucose'].mean())
    #********* Begin *********#
    max_age = train['Age'].max()  
    train = train[train['Age'] < max_age]  
    plt.figure(figsize=(10, 10))  
    plt.scatter(train['Age'], train['Pregnancies'])  
    plt.savefig('Task1/img/T1.png')  
    #********* End *********#    

第3关:数据集成-海纳百川

任务描述
本关任务:编写一个能够将两个数据集合并的程序。

编程要求
请仔细阅读右侧代码,结合相关知识,在 Begin-End 区域内进行代码补充,读入数据 Task2/diabetes_null.csv 和 Task2/diabetes_zero.csv ,合并两个数据并输出 shape。

import numpy as np
import pandas as pd

def student():
    #********* Begin *********#
    df1 = pd.read_csv('Task2/diabetes_null.csv')
    df2 = pd.read_csv('Task2/diabetes_zero.csv')
    df = pd.concat([df1,df2])
    print(df.shape)

    #********* End *********#    

第4关:数据变换-同源共流

任务描述
本关任务:学习掌握常见的数据变换,完成给定数据的规范化的输出。

编程要求
请仔细阅读右侧代码,结合相关知识,在 Begin-End 区域内进行代码补充,计算并输出数据集 diabetes_null.csv 的 z-score 规范化和最小-最大规范化。( z-score 需设置参数 axis=0 ,以标准化每个特征)

import numpy as np
import pandas as pd
from sklearn.preprocessing import normalize,MinMaxScaler

def student():
    train = pd.read_csv('Task3/diabetes_null.csv', na_values=['#NAME?'])
    train['Insulin'] = train['Insulin'].fillna(100)
    train['SkinThickness'] = train['SkinThickness'].fillna(train['SkinThickness'].median())
    train['BloodPressure'] = train['BloodPressure'].fillna(train['BloodPressure'].median())
    train['BMI'] = train['BMI'].fillna(train['BMI'].mean())
    train['Glucose'] = train['Glucose'].fillna(train['Glucose'].mean())
    #********* Begin *********#
    data_normalized = normalize(train,axis=0)
    print("z-score规范化:\n",data_normalized)
    data_scaler = MinMaxScaler()

    data_scaled = data_scaler.fit_transform(train)
    print("\n最小-最大规范化:\n",data_scaled)


    #********* End *********#    

 

Logo

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

更多推荐