机器学习(一)

数据预处理

数据处理可谓是机器学习的重中之重,接下来我所用到的数据集和代码如下:数据集,代码

导入库

首先需要导入python库函数:

##下面两个库都是机器学习最常用的2个库
import numpy as np
import pandas as pd
## 以下的库是数据预处理需要的库
from sklearn.impute import SimpleImputer
from sklearn.preprocessing import LabelEncoder, OneHotEncoder
from sklearn.compose import ColumnTransformer
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler

导入数据集

原本的数据集为:

然后开始经过以下处理: ```python dataset = pd.read_csv('Data.csv') ##导入数据集,注意是相对路径 X = dataset.iloc[ : , : -1 ].values ## X一直取数据集的最后一列(除了最后一列) Y = dataset.iloc[ : , 3 ].values ## Y取第4列 ``` 其中X为:
Y为:

处理丢失数据

很多时候,我们得到的数据集中会有数据丢失的部分,通过以下处理,在丢失数据的部分给与平均值

imputer = SimpleImputer(missing_values = np.nan, strategy = "mean")
imputer = imputer.fit(X[ : , 1:3])
X[ : , 1:3] = imputer.transform(X[ : , 1:3])

处理后的X如下,我们可以发现空白的部分被填上了平均值:

数据分类

将数据集中的数据进行分类,相同的数字代表同一类

labelencoder_X = LabelEncoder()
labelencoder_Y = LabelEncoder()

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

ct1 = ColumnTransformer([("country" , OneHotEncoder() , [1])], 'drop')
ct2 = ColumnTransformer([("country" , OneHotEncoder() , [1])], 'drop')
X = ct1.fit_transform(X).toarray()
Y = labelencoder_Y.fit_transform(Y)

处理后的X如下,我们可以发现数据集都变成了数字,其中相同的类别数字相同:

拆分数据集

用train_test_split拆分数据集,其中test_size表示测试集所占数据集的比例

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

处理后的X_train(训练集)如下,占80%:

X_test(数据集)如下,占20%:

特征量化

用特征标准化或Z值归一化实现特征量化,解决其他模型算法的特征在幅度,单位和范围姿态问题上变化很大的问题

sc_X = StandardScaler()
X_train = sc_X.fit_transform(X_train)
X_test = sc_X.transform(X_test)
 = StandardScaler()
X_train = sc_X.fit_transform(X_train)
X_test = sc_X.transform(X_test)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值