官术网_书友最值得收藏!

Using a regression or another simple model to predict the values of missing variables

This is the approach that we will use for the Age feature of the Titanic example. The Age feature is an important step towards predicting the survival of passengers, and applying the previous approach by taking the mean will make us lose some information.

In order to predict the missing values, you need to use a supervised learning algorithm that takes the available features as input and the available values of the feature that you want to predict for its missing value as output. In the following code snippet, we are using the random forest classifier to predict the missing values of the Age feature:

# Define a helper function that can use RandomForestClassifier for handling the missing values of the age variable
def set_missing_ages():
global df_titanic_data

age_data = df_titanic_data[
['Age', 'Embarked', 'Fare', 'Parch', 'SibSp', 'Title_id', 'Pclass', 'Names', 'CabinLetter']]
input_values_RF = age_data.loc[(df_titanic_data.Age.notnull())].values[:, 1::]
target_values_RF = age_data.loc[(df_titanic_data.Age.notnull())].values[:, 0]

# Creating an object from the random forest regression function of sklearn<use the documentation for more details>
regressor = RandomForestRegressor(n_estimators=2000, n_jobs=-1)

# building the model based on the input values and target values above
regressor.fit(input_values_RF, target_values_RF)

# using the trained model to predict the missing values
predicted_ages = regressor.predict(age_data.loc[(df_titanic_data.Age.isnull())].values[:, 1::])

    # Filling the predicted ages in the original titanic dataframe
age_data.loc[(age_data.Age.isnull()), 'Age'] = predicted_ages
主站蜘蛛池模板: 合肥市| 姚安县| 洮南市| 宜丰县| 满城县| 鹤庆县| 瓦房店市| 岢岚县| 巴青县| 丰县| 绥阳县| 白水县| 扎赉特旗| 修水县| 靖边县| 延边| 新田县| 太原市| 二连浩特市| 廉江市| 洪雅县| 黔东| 寻乌县| 文成县| 衡山县| 高碑店市| 灯塔市| 徐州市| 嘉荫县| 永嘉县| 双柏县| 肇庆市| 远安县| 清远市| 岢岚县| 贡山| 长海县| 山阳县| 乐昌市| 邯郸市| 宝坻区|