はじめに
前回の記事では Netflixの視聴データを分析 し、グラフや集計を通して「データを眺める楽しさ」を体験しました。
しかし同時に、「ただ見るだけ」ではデータサイエンスの本質には届かないのでは?と感じていました。
そこで今回は、Kaggleで有名な 住宅価格予測(House Prices) のデータセットに挑戦しました。
結果として「ただ眺める」だけではなく、考えて仮説を立て、試行錯誤する大切さを実感することができました。
最初の一歩:シンプルな線形回帰
まずは「線形回帰モデル」を使って住宅価格を予測してみました。
結果はというと、RMSE(誤差の指標)が 約50,000〜60,000 と、思ったほど精度が出ませんでした。
「データを入れて学習すれば勝手にうまくいく」と思っていた自分には少しショックでしたが、
ここで初めて「特徴量をどう選ぶか」「欠損をどう扱うか」といった判断が必要だと気づきました。
改善の試行錯誤
そこでいくつかの工夫を試しました。
特徴量を絞り込み
→ OverallQual や GrLivArea など住宅の質や広さを表す変数が重要と分かる
標準化やスケーリング
→ モデルの安定性が増した
ランダムフォレストを導入
→ 精度が一気に改善し、RMSEは 約28,000 まで下がりました
「なるほど、こういう特徴量が効くのか」「ランダムフォレストはこういうとき強いのか」と、
精度が上がる理由は少しずつ理解できるようになりました。
限界を感じた瞬間
一方で、別の壁にぶつかりました。
どのモデルを選ぶべきか?
どの特徴量を残すべきか?
モデル同士をどう比較すれば良いのか?
ここで思考が整理できず、コードと頭がぐちゃぐちゃになってしまう場面が多くありました。
一部はChatGPTにも相談しましたが、AIの提案をそのまま使うだけでは「なぜその選択をしたのか」を説明できずにモヤモヤが残りました。
このとき初めて、体系的に基礎を学ばないと、選択や比較の軸を持てないと痛感しました。
まとめと次の一歩
Netflix分析では「見るだけ」でも楽しかった
住宅価格予測では「考える必要」に気づいた
精度が上がる理由は理解できたが、モデル選択や特徴量選択で壁にぶつかった
ChatGPTを補助的に使いながらも、「自分の基準を持つ必要性」を感じた
今回の挑戦は「データサイエンティストの一歩」になりました。
ただ同時に、基礎を体系的に学んで理解を深めないと、自分の判断軸は持てないことも痛感しました。
今後はKaggleのコンペに挑戦しながら、ChatGPTをうまく活用して実践的に学んでいこうと思います。
そのうえで、必要に応じて基礎学習にも立ち返り、「実践と基礎」を行き来しながら力をつけていきたいです。
参考コード
フルコードはGitHubにまとめています。
📂 全コードはこちら 👉 https://github.com/hiro-57/house-price-analysis