上一篇是分类填补缺失值,用了循环函数。这此呢,我们利用随机森林补充缺失数据。
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
from sklearn.ensemble import RandomForestClassifier
df=pd.read_csv('E:\\Users\\Administrator\\Desktop\\pythonNotebook\\train.csv',index_col=0)
data=df[['Survived', 'Pclass', 'Sex', 'Age', 'SibSp', 'Parch','Fare', 'Cabin', 'Embarked']]
#更改分类变量对应的值
data.loc[data['Sex']=='male','Sex']=0
data.loc[data['Sex']=='female','Sex']=1
#同理,更改Embarked对应的值
data.loc[data['Embarked']=='S','Embarked']=0
data.loc[data['Embarked']=='C','Embarked']=1
data.loc[data['Embarked']=='Q','Embarked']=2
te=data[data['Embarked'].notnull()]#非空的embarked对应的行
te_X=t