整体逻辑
- 首先对数据进行清洗:数据标准化、数据集的切分、删除空数据行等。
- 数据中存在空缺,进行填充,使用的方法是用平均值的方法对数据进行填充
- 使用smote算法实现数据集的拟合
- 调用pandas库绘制每个类别的数据个数图
- 保存数据为excel文件,注意:测试集不用传入模型训练!
代码实现
import pandas as pd
import matplotlib.pyplot as plt
'''---------------------使用平均值的方法对数据进行填充-----------------------'''
def mean_train_method(data):
'''平均值的计算方法'''
fill_values = data.mean()
return data.fillna(fill_values)
def mean_train_fill(train_data,train_label):
'''使用平均值的方法对数据进行填充'''
data = pd.concat([train_data, train_label], axis=1)
data = data.reset_index(drop=True)
A = data[data['矿物类型'] == 0]
B = data[data['矿物类型'] == 1]
C = data[data['矿物类型'] == 2]
D = data[data['矿物类型'] == 3]
A = mean_train_method(A)
B = mean_train_method(B)
C = mean_train_method(C)
D = mean_train_method(D)
df_filled = pd.concat([A, B, C, D])
df_filled = df_filled.reset_index(drop=True)
return df_filled.drop('矿物类型', axis=1