- 🍨 本文為🔗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 的分布。
-
结果输出
01-04
4742
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
04-12
377
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)