01
データ前処理
まとめ
前処理は、CSV や SQL から取り出した生のデータを、モデルが受け取れる数値の表に変える工程です。この章では、総務省のオープンデータを
pandas.read_csv で読み込んで整形するところから始め、StandardScaler / MinMaxScaler / RobustScaler による数値のスケーリング、OneHotEncoder や Target Encoding によるカテゴリの数値化、全角半角の統一や和暦変換といった日本語データ固有の正規化までを順に扱います。どの処理も Pipeline や関数としてスクリプトに残す書き方で示すので、同じ手順を別のデータに再実行できます。読み終えると、「この列は数値かカテゴリかテキストか」を見た時点で、どの変換を選ぶべきかが決められるようになります。直感 #
モデルの精度はデータの品質で決まります。年収の列が 300 万〜1,500 万、年齢の列が 20〜60 のまま k-means に渡せば、距離はほぼ年収だけで決まり、年齢の情報は消えてしまいます。「元号」のような文字列の列は LinearRegression に渡した時点でエラーになり、0/1 の列に展開するか頻度に置き換えるかを決めなければ学習が始まりません。前処理はモデリングの前段でありながら、プロジェクト全体の成否を左右する工程です。このセクションでは、データの読み込みからスケーリング・エンコーディング・日本語固有の正規化までを一気通貫で扱い、どの案件でも再利用できるテンプレートを組み立てます。
CSV / Excel / SQL から読み込む
欠損・型・桁を確認する
数値列はスケーリング、カテゴリ列はエンコーディング
日本語の表記揺れを正規化
Pipeline にまとめてモデルへ
詳細な解説 #
このセクションで学べること #
- データ読み込みと整形 — CSV/Excelの取り込みからpandasの基本操作、SQLとの連携まで
- 数値データ前処理 — StandardScaler/MinMaxScaler/RobustScalerの使い分け、Box-Cox変換、外れ値処理
- カテゴリカルデータ前処理 — One-Hot/Count/Target Encodingの特性と、リーク防止の設計
- テーブルデータ全般 — 複数テーブルの結合やピボット、集計パターン
- 特殊なデータ — 画像・テキスト・時系列など表形式以外のデータの取り扱い
- 日本語データの前処理 — 全角半角正規化、和暦変換、住所分割、漢数字変換など10種のレシピ
- よくあるエラー — pandas read_csvで発生しやすい6つのエラーと対処法
これがわかるとできること #
- データ型(数値・カテゴリ・テキスト)に応じて適切な前処理手法を選択できる
- 前処理パイプラインをスクリプト化し、再現性のある分析基盤を構築できる
- 日本語データ固有の表記揺れや形式混在を体系的に処理できる
学習の進め方 #
まず「データの読み込みと整形」で、read_csv の encoding や dtype の指定、astype による型変換、agg による集計といった pandas の基本操作を押さえます。次に数値データとカテゴリカルデータの前処理に進み、StandardScaler で平均 0・分散 1 に揃える、OneHotEncoder で 0/1 の列に展開する、といったモデル投入前の変換パターンを理解します。そのうえで日本語データの前処理に取り組むと、unicodedata.normalize("NFKC", ...) による全角半角の統一や和暦→西暦の変換など、実務固有の課題への対応力が広がります。最後に「よくあるエラー」集で、UnicodeDecodeError や ParserError のような read_csv で頻出する 6 つのエラーの原因と直し方を確認し、実装時のトラブルシューティング力を身に付けます。