机器学习处理缺失值任务

方法一 删除缺失值

import pandas as pd

df = pd.read_csv('data.csv')

#删除包含缺失值的行
df_dropna = df.dropna()


方法二 使用前一行或者后一行的值填充

import pandas as pd

df = pd.read_csv('data.csv')

#前一行的值填充
df_ffill = df.fillna(method='ffill')
#后一行的值填充
df_bfill = df.fillna(method='bfill')

方法三 使用均值 中位数 或者众数填充

import pandas as pd
from sklearn.impute import SimpleImputer

df = pd.read_csv('data.csv')

# 用均值填充缺失值
impute = SimpleImputer(strategy='mean')
df_imputed = pd.DataFrame(imputer.fit_transform(df))

方法四 用预测模型填充缺失值

import pandas as pd
from sklearn.ensemble import RandomForestRegressor

df= pd.read_csv('data.csv')

#拆分缺失值行
train = df[df['feature'].notna()]
test = df[df['feature'].isna()]

#特征和目标向量
X_trian = train.drop(columns=['feature'])
y_train = train['feature']
X_test = test.drop(columns=['feature'])

#使用随机森林预测缺失值
model = RandomForestRegressor()
model.fit(X_train, y_train)
predicted_values = model.predict(X_test)

#填充预测的缺失值
df.loc[df['feature'].isna(), 'feature'] = predicted_values

使用k邻近填充

import pandas as pd
from sklearn.impute import KNNImputer

# 假设df是你的数据框
df = pd.read_csv('your_data.csv')

# 使用K近邻填充缺失值
imputer = KNNImputer(n_neighbors=5)
df_imputed = pd.DataFrame(imputer.fit_transform(df), columns=df.columns)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值