Learning関連の案件でデータの前処理をする機会が多かったので、一度整理してみました。データの前処理が必要なのかまず、何らかの手段で欲しいデータが手に入ったとして、そのデータが完璧である可能性はほぼありません。データ内には欠損、ノイズ、エラー値などがあります。これらは無視してもよい場合もありますが、データの欠けに対しては適切な値で埋めたり、好ましくないデータ値は除いたりする必要があります。Dataset)です。アメリカの国税局のデータベースをもとに作成されたデータセットになります。Datasetと表記されていますが怪しくはないです。ダウンロードUCI(様々なデータセットが登録なしで無料で公開されているサイト)https://archive.ics.uci.edu/ml/datasets/Adultから高収入判別データ(adult.data)をダウンロードします。インストール前処理をするうえで必要なライブラリをインストールしていきます。Python3.xxでの環境になります。scikit-learnデータ整形jupyter-notebook上で実行結果を確認しながら、データを整形していきます。データの読み込みダウンロードしたデータセットを読み込みます。必要なライブラリをインポートしてから、データフレームでヘッダーを指定しCSV形式で読み込み、読み込んだ結果を確認します。header)print(len(df))df.head()ヘッダー付きでCSVデータが読み込めていることが確認できます。今回のデータセットには欠損値[?]が含まれています。欠損値が1つでも含まれている行はすべて削除するように前処理をします。欠損値をNaNに置き換え、pandasの関数を使って欠損値が含まれる行を削除します。inplace=True)print(len(df))ラベルの置き換えDeepLearningに突っ込むためにデータをすべて数値に変換します。置き換え作業をするカラムを指定し、ラベルにユニークな数値を振っています。capital-gainとcapital-lossの値を0,1(有り無し)に変換します。0df.head()ラベルがすべて数値化されていることが確認できます。各クラスごとの数をseabornの棒グラフで表示します。1:<=50K')分布に偏りがあることが確認できます。クラス数の調整クラス数が一様になるように調整します。データをシャッフルし、一番少ないクラスの数に合わせます。x='y:class')データ数が減ってしまいましたが、クラス数を一様にすることができました。学習データの分割データセットを学習データと検証データに分割します。scikit-learnを使って、8:2にデータセットを分割し、それぞれCSVファイルに出力しています。データの整形をしました。データの整形は機械学習をする上で面倒ですが、避けられない作業です。この作業によってモデルの結果の良し悪しに大きく左右されます。今回欠損は削除する処理をしましたが、次回は補完をやっていきたいと思います。AFFINGER5.。