第L1周:机器学习|数据预处理

  •   🍨 本文為🔗365天深度學習訓練營 中的學習紀錄博客
  • 🍖 原作者:K同学啊 | 接輔導、項目定制
  • 学习要点:

  • 1. 学习如何处理缺损数据
  • 2. 尝试进行Label编码
  • 3. 使用train_test_split进行数据划分
  • 4. 学习特征标准化
  • 在开始本周的学习任务前,需要先安装好numpy、Pandas、sklearn三个包,安装方法如下:

  • 第1步:导入库

  • pip install numpy
  • pip install Pandas
  • pip install scikit-learn
  • (我利用Anaconda3配置好环境),用VSCODE
  • 第2步:导入数据集

  • 导入数据集
  • df = pd.read_csv('G:/train/L/L1/data1.csv')
    df
  • X = df.iloc[ : , :-1].values
  • 将df数据除最后一行转化成numpy数据,存在X
    Y = df.iloc[ : , 3].values
  • 将df数据最后一行即第四行转化成numpy数据,存在Y
  • 第3步:处理丢失数据

  • from sklearn.impute import SimpleImputer

    imputer  =  SimpleImputer(strategy='mean')
    imputer  =  imputer.fit(X[  :  ,  1:3])

    X[ : , 1:3]  =  imputer.transform(X[  :  ,  1:3])
    结果输出

  • array([['France', 44.0, 72000.0],
           ['Spain', 27.0, 48000.0],
           ['Germany', 30.0, 54000.0],
           ['Spain', 38.0, 61000.0],
           ['Germany', 40.0, 63777.77777777778],
           ['France', 35.0, 58000.0],
           ['Spain', 38.77777777777778, 52000.0],
           ['France', 48.0, 79000.0],
           ['Germany', 50.0, 83000.0],
           ['France', 37.0, 67000.0]], dtype=object)

  • 第4步:进行Label编码(标签转化成数据)

  • from sklearn.preprocessing import LabelEncoder, OneHotEncoder

    labelencoder_X = LabelEncoder()
    X[ : , 0]      = labelencoder_X.fit_transform(X[ : , 0]) 
    X

  • 结果输出

  • array([[0, 44.0, 72000.0],
           [2, 27.0, 48000.0],
           [1, 30.0, 54000.0],
           [2, 38.0, 61000.0],
           [1, 40.0, 63777.77777777778],
           [0, 35.0, 58000.0],
           [2, 38.77777777777778, 52000.0],
           [0, 48.0, 79000.0],
           [1, 50.0, 83000.0],
           [0, 37.0, 67000.0]], dtype=object)

  • labelencoder_Y = LabelEncoder()
    Y =  labelencoder_Y.fit_transform(Y)
    Y

  • 上述代码:将Y替换成整数并传送给Y(作用:将分类值转化为数值标签,便于训练和预测)

  • 第5步:拆分为训练集和测试集

  • from sklearn.model_selection import train_test_split

    X_train, X_test, Y_train, Y_test = train_test_split(X, 
                                                        Y, 
                                                        test_size = 0.2, 
                                                        random_state = 0)

  • random_state = 0:设置随机种子。这确保了每次运行代码时,数据集的划分都是相同的,有利于结果的复现和比较。如果不设置,每次运行结果可能会有所不同。

  • 第6步:特征标准化

  • from sklearn.preprocessing import StandardScaler

    sc_X    = StandardScaler()
    X_train = sc_X.fit_transform(X_train)
    X_test  = sc_X.transform(X_test)

  • 将特征数据转换为均值为 0,标准差为 1 的分布。

  • 结果输出

  • 10
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值