100天机器学习算法-Day1: 数据预处理

机器学习界的网红程序员Avik-Jain 发起了一个100天机器学习的项目,英文原版在此: 英文原版

 网友提供的中文翻译版在此: 中文译版

我在跟随这个项目学习, 对代码中一些需要更新地方(由于版本更新造成)进行了修改, 并发布博客作为对自己的鼓励.

Day 1: Data Processing

# modified of code from 100-Days-of-ML-Code
# day 1 , data processing

# importing libraries
import numpy as np
import pandas as pd

# importing dataset
dataset = pd.read_csv('Data.csv')
X = dataset.iloc[:, :-1].values
Y = dataset.iloc[:, 3].values

# handing the missing data
from sklearn.preprocessing import Imputer
imputer = Imputer(missing_values="NaN", strategy = "mean", axis=0)
imputer = imputer.fit(X[:, 1:3])

X[:, 1:3] = imputer.transform(X[:, 1:3])

print('original X:\n', X)

# encoding categorical data
from sklearn.preprocessing import LabelEncoder, OneHotEncoder
labelencoder_X = LabelEncoder()
X[:, 0] = labelencoder_X.fit_transform(X[:, 0])
print('X after labelencoder')
print (X)
#createing a dummy variable
onehotencoder = OneHotEncoder(categorical_features =  [0])
X = onehotencoder.fit_transform(X).toarray()
labelencoder_Y = LabelEncoder()
Y = labelencoder_Y.fit_transform(Y)
print('X after OneHotEncoder')
print(X)
print('Y after OneHotEncoder')
print(Y)
# splitting the dataset into training sets and test sets
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)

# feature scaling
# 均值方差归一化,通过删除平均值和缩放到单位方差来标准化特征,  标准分数计算如下: z = (x - u) / s
from sklearn.preprocessing import StandardScaler
sc_X = StandardScaler()
X_train = sc_X.fit_transform(X_train)
X_test = sc_X.fit_transform(X_test)

print('X_train afterStandardScaler :\n', X_train)
print('X_test after StandardScaler:\n', X_test)

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

曼车斯基

如果内容对你有用,赏杯咖啡吧!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值