Python 填补缺失值 Pandas SimpleImputer 随机森林模型 (机器学习)

本文涉及的产品
交互式建模 PAI-DSW,5000CU*H 3个月
简介: Python 填补缺失值 Pandas SimpleImputer 随机森林模型 (机器学习)

✌ 填补缺失值

1、✌ 导入相关库

import pandas as pd
import numpy as np
from sklearn.impute import SimpleImputer
from sklearn.ensemble import RandomForestRegressor

2、✌ 创建数据

x=np.random.randint(1,100,(10000,5))
y=np.random.randint(1,10,10000)
rows=np.random.randint(0,1000,20)
cols=np.random.randint(0,5,20)
x=pd.DataFrame(x)
x.iloc[rows,cols]=np.nan

3、✌ 利用Pandas填补数据

x1=x.copy()
for i in x1.columns:
    x1[x1.isnull()]=x1[i].mean()
x1.isnull().sum()

4、✌ sklearn库填补

from sklearn.impute import SimpleImputer
sim=SimpleImputer(missing_values=np.nan,strategy='constant',fill_value=0)
x2=x.copy()
x2=sim.fit_transform(x2)
pd.DataFrame(x2).isnull().sum()

5、✌ 利用模型预测

from sklearn.ensemble import RandomForestRegressor  
x3= x.copy()
sortindex = np.argsort(x3.isnull().sum(axis=0)).values
for i in sortindex:
    #构建我们的新特征矩阵和新标签
    df = x3
    fillc = df.iloc[:,i]
    df = pd.concat([df.iloc[:,df.columns != i],pd.DataFrame(y)],axis=1)
    #在新特征矩阵中,对含有缺失值的列,进行0的填补
    df_0 =SimpleImputer(missing_values=np.nan,
                        strategy='constant',
                        fill_value=0).fit_transform(df)
    #找出我们的训练集和测试集
    y_train = fillc[fillc.notnull()]
    y_test = fillc[fillc.isnull()]
    x_train = df_0[y_train.index,:]
    x_test = df_0[y_test.index,:]
    clf = RandomForestRegressor(n_estimators=100)
    clf = clf.fit(x_train, y_train)
    y_pred = clf.predict(x_test)
    #将填补好的特征返回到我们的原始的特征矩阵中
    x3.loc[x3.iloc[:,i].isnull(),i] = y_pred
x3.isnull().sum()


目录
相关文章
|
3天前
|
数据处理 Python
如何使用Python的Pandas库进行数据排序和排名
【4月更文挑战第22天】Pandas Python库提供数据排序和排名功能。使用`sort_values()`按列进行升序或降序排序,如`df.sort_values(by='A', ascending=False)`。`rank()`函数用于计算排名,如`df['A'].rank(ascending=False)`。多列操作可传入列名列表,如`df.sort_values(by=['A', 'B'], ascending=[True, False])`和分别对'A'、'B'列排名。
14 2
|
3天前
|
机器学习/深度学习 算法 数据挖掘
PYTHON银行机器学习:回归、随机森林、KNN近邻、决策树、高斯朴素贝叶斯、支持向量机SVM分析营销活动数据|数据分享-2
PYTHON银行机器学习:回归、随机森林、KNN近邻、决策树、高斯朴素贝叶斯、支持向量机SVM分析营销活动数据|数据分享
24 1
|
1天前
|
人工智能 自然语言处理 Python
使用Python实现自然语言处理模型
使用Python实现自然语言处理模型
7 1
|
2天前
|
机器学习/深度学习 算法 搜索推荐
Python用机器学习算法进行因果推断与增量、增益模型Uplift Modeling智能营销模型
Python用机器学习算法进行因果推断与增量、增益模型Uplift Modeling智能营销模型
28 12
|
2天前
|
机器学习/深度学习 算法 vr&ar
PYTHON用时变马尔可夫区制转换(MARKOV REGIME SWITCHING)自回归模型分析经济时间序列
PYTHON用时变马尔可夫区制转换(MARKOV REGIME SWITCHING)自回归模型分析经济时间序列
13 4
|
2天前
|
API vr&ar Python
Python 用ARIMA、GARCH模型预测分析股票市场收益率时间序列(上)
Python 用ARIMA、GARCH模型预测分析股票市场收益率时间序列
29 5
|
2天前
|
人工智能 Python
【AI大模型应用开发】【LangChain系列】实战案例1:用LangChain写Python代码并执行来生成答案
【AI大模型应用开发】【LangChain系列】实战案例1:用LangChain写Python代码并执行来生成答案
6 0
|
2天前
|
数据挖掘 数据处理 索引
python常用pandas函数nlargest / nsmallest及其手动实现
python常用pandas函数nlargest / nsmallest及其手动实现
15 0
|
2天前
|
机器学习/深度学习 数据采集 人工智能
构建高效机器学习模型的最佳实践
【4月更文挑战第23天】在数据驱动的时代,机器学习已成为创新的核心动力。本文深入探讨了构建高效机器学习模型的关键步骤,包括数据预处理、特征工程、模型选择、训练技巧以及性能评估。通过实例分析与经验总结,旨在为从业者提供一套实用的技术指南,帮助他们在复杂数据环境中提升模型的准确性和泛化能力。
|
2天前
|
数据挖掘 数据处理 索引
如何使用Python的Pandas库进行数据筛选和过滤?
Pandas是Python数据分析的核心库,提供DataFrame数据结构。基本步骤包括导入库、创建DataFrame及进行数据筛选。示例代码展示了如何通过布尔索引、`query()`和`loc[]`方法筛选`Age`大于19的记录。
10 0

相关产品

  • 人工智能平台 PAI