Dataframe欠落値(NaN)処理


Dataframe欠落値(NaN)処理
    機械学習の特徴工学を行う際には,選択した機械学習アルゴリズムに基づいて適切なデータプリプロセッシング方式を採用することがしばしば必要であり,特に空値(NaN)の処理に対しては,しばしば困惑する.プルトニウムプルトニウムプルトニウムプルトニウムプルトニウムプルトニウムプルトニウムプルトニウムプルトニウムプルトニウムプルトニウムプルトニウムプルトニウムプルトニウムプルトニウムプルトニウムプルトニウムプルトニウムプルトニウムプルトニウムプルトニウムプルトニウムプルトニウムプルトニウムプルトニウムプルトニウムプルトニウム1つ目は、埋めることです.2つ目は処理しないことですsklearnライブラリを使用して機械学習訓練を行う場合、欠落値に対する要求は一般的に厳しいため、埋め込みが必要であり、なぜ値を埋めたのかは、ビジネスニーズに応じて行う必要があります.lightgbmライブラリのクラスライブラリを使用して機械学習訓練を行う場合、欠落値を処理する必要はありません.このようなアルゴリズムは、欠落値処理を天然にサポートし、欠落値を個別にクラスに分けます.本人は、データの欠如は、実際には一定の業務意味が存在し、例えば月収の欠如は、自分の収入に対する自信がないことを反映しているため、風制御分野では期限を超えやすい現象があると考えている.しかし、このとき平均値の欠落値の補填を行うと、その業務の意味が消えてしまうので、望ましくないと思います.データの特徴工程はデータ品質を決定し、データ品質はモデル効果の上限を決定し、モデルパラメータは訓練のモデルが理論モデルに近づくかどうかを決定し、特徴工程の難易度はモデルが最終的にオンラインになる仕事量を決定する.(以上は本人のわずかな見解である)
欠落値を判断する関数はnp.isnan()/pd.isna()/pd.isnull().     np.isnan():一般的に単一の値に用いられ、SeriesまたはDataFrameにも用いることができるが、ここにはピット、npが存在する.isnan()はdatetimeタイプのSeriesまたはDataFrameが間違っていると判断します.
    pd.isna()とpd.isnull():使うことが多いので、pdを使うことをお勧めします.isna()
s1 = pd.Series([1,2,3,np.nan])
np.isnan(s1)
>>> 0    False
	1    False
	2    False
	3     True
	dtype: bool

pd.isna(s1)
>>> 0    False
	1    False
	2    False
	3     True
	dtype: bool

pd.isnull(s1)
>>> 0    False
	1    False
	2    False
	3     True
	dtype: bool


以上の方法に加えて、欠落値を判断し、非欠落値を取り出して処理するのに便利で万能な方法がある(本人も一般的にこの方法を採用している).ジルコニウムはnp.nan==np.nan発見np.nanはnpに等しくない.nan,従って,非欠落値を以下の方法で取り出すことができる.
np.nan==np.nan
>>> False
s1 = pd.Series([1,2,3,np.nan])
s1==s1
>>> 0     True
	1     True
	2     True
	3    False
	dtype: bool
#      
s1[s1==s1]
>>> 0    1.0
	1    2.0
	2    3.0
	dtype: float64
#         
len(s1[s1==s1])
>>>3
#        (  fillna    )
s1[~(s1==s1)]=0
s1
>>> 0    1.0
	1    2.0
	2    3.0
	3    0.0
	dtype: float64