データの前処理 - 欠損値

A.ペイントが欠落しているの分布の値を参照してください

方法1

輸入 msnoとしてmissingno     ピップインストールmissingno 
msno.matrix(train_data)。

方法2

    欠損値が強調表示しました

matplotlibのビデオ欠損値は、 
(train_data.isna()、=アスペクトplt.imshow ' オート');

II。欠損値の処理

    ビジネスロジックと欠損値の割合に基づいて、目標が予測された結果への影響を確実にするために小さく、より良いです

1.より多くを占める:80%以上は、欠損値の列を削除した場合(フィールドのための特別なニーズがある場合は、その後、サンプルを削除し、サンプルが十分前提です)

削除欠損値のNODサンプル 
train_data.dropna(インプレース=真)

train_data.shape

2.一般的な割合:30%-80%、別のクラスとして、欠損値が
3未満の割合:10%-30%、多重代入:機能によって相互予測

      ランダムフォレスト回帰いっぱい(連続データ)     

方法1      

多重代入:ランダムフォレスト回帰が満たされている
から sklearn.ensemble インポートRandomForestRegressor

デフ(データ、to_fill)をfill_missing:
     ''」
    データ:データセット
    to_fill:列の特性を充填します
    '' ' 
    ビルドの新機能とラベル 
    DFは= data.copyを() = [* train_data.columns]
    columns.remove(to_fill)    予測ラベル除去する必要がある
    #は、値が欠落しているカラムを用いて除去される 
    (columns.remove NumberOfDependents #の抽出機能とラベル、およびトレーニングセットとテストセットの分割を、トレーニングセットは、数ヶ月を指しサンプル値が欠落しない利益は、テスト・セットが欠落したサンプルの値が必要と予想されない 
    :[カラム] X-df.loc =   特徴 
    :[to_fill] Y = df.loc   #1 タブ 
    [Xtrain = X.locをDF [to_fill] .notnull()]   訓練データの 
    XTEST = X.loc [DF [to_fill] .isnull()]    #のテストデータ 
    Ytrain = y.loc [DF [to_fill] .notnull()]
    モデル = RandomForestRegressor(n_estimators = 200、MAX_DEPTH = 3、n_jobs = -1、random_state = 0)
    model.fit(Xtrain、Ytrain)
    予測 
    PRED = model.predict(XTEST).round()
    パディング 
    df.loc [DF [to_fill] .isnull()、to_fill] = PRED
     リターンDF


train_data = fill_missing(train_data、' MonthlyIncome ' 

train_data.info()

    方法2

方法2:ランダムフォレストは、欠損値の予測関数充填
DEF (DF)をset_missingを:
     従来の数値機能を取り出し 
    process_df = df.iloc [:[5,0,1,2,3,4 、 6,7,8,9 ]
     未知へと二部の機能の既知の特性 
    知ら= process_df [process_df.MonthlyIncome.notnull()]
    未知 = process_df [process_df.MonthlyIncome.isnull()]
     #のX値は、特性属性である 
    X-known.iloc = [:、1 :]
     Y結果タグ値として 
    Y = known.iloc [:0]
    フィットRandomForestRegressorにで 
    RFR = RandomForestRegressor(random_state = 0、
    n_estimators。= 200は、MAX_DEPTH = 3、n_jobs = -1)であるCPUの性能に応じて行わ- 、n_jobs = 
    rfr.fit(X、Y)
    未知特徴値取得した予測モデルの 
    予測= rfr.predict(unknown.iloc [:、1 :])を丸(0)
     印刷(予測)
    予測結果とは、生パディングデータ欠落得 
    df.locを[(df.MonthlyIncome.isnull())、' MonthlyIncomeは' ] = 予測
     リターン DF

 

      データ型カイ二乗またはビン

4.以下を占めて10%以上、あるいは単一値:中央値(連続)、平均(連続)モード(タイプtype)

      左偏右偏,用中位数

      それはあまりにも平均と分布であります

     公共とカテゴリ変数の数

決定木5.欠落値アルゴリズムに融合され得る:特定の重力を割り当てます

 

 

 

 

 

 

 

 

おすすめ

転載: www.cnblogs.com/jing-yan/p/12337600.html