はじめに
この記事では機械学習や統計をやったことはないけどAIを使ってみたい、といった方に向けた記事になっています。
機械学習にはプログラムや統計など知識の壁が大きく、またモデルの差育成に対する時間の壁も大きいかと思います。
今回利用するAutoMLツール「ナレコムAI」を利用することで5分ほどで簡単にモデルを作成でき、モデルの評価についても作成されるレポートを読むことでMLの知識がなくともモデルの特性やよいモデルにするためのアプローチ内容を把握することができます。「データはあるけど、活用できるかわからない」「AIについて興味があるけど敷居が高そう」と考えている方が、少しでも前進するきっかけになれたら嬉しいです!
なぜ高い精度のモデルが作成できるのか
本来であればパラメータの選定やアルゴリズムについての学習、選定など知識や時間がかかってしまいます。
ナレコムAIでは事前に用意されたアルゴリズムやパラメータの組み合わせ数十種類をすべて試し、その中で最も良いモデルを提供しています。
そのため、パラメータの探索漏れなどがなく、精度の高いモデルの作成、提供を行うことができるのです。
さらに、データの登録からモデルの作成、モデルの解釈についてのレポートを作成するため、モデルの精度向上までを含めノーコードで行うことができます。
データを見てみる
今回はアメリカの都市エイムズの住宅の価格を予測してみようと思います。
データはSIGNATEの「【第5回_Beginner限定コンペ】アメリカの都市エイムズの住宅価格予測」のを利用します。
データの内容はアメリカの都市エイムズの住宅情報データです。各データについては下記を参照してください。
カラム名 | 内容 |
---|---|
Index | 一意の値 |
Order | 観測番号 |
MS SubClass | 住居タイプ |
MS Zoning | 地域分類 |
Lot Area | 敷地面積(単位:平方フィート) |
Lot Shape | 敷地形状 |
Land Contour | 土地傾斜具合 |
Lot Config | 敷地状況 |
Neighborhood | エイムス市域内の地域名 |
Bldg Type | 住居のタイプ |
House Style | 建物スタイル |
Overall Qual | 全体の品質評価 |
Overall Cond | 全体の状態評価 |
Year Built | 建築日 |
Year Remod/Add | 改築日(改造や追加がない場合は建設日と同じ) |
Roof Style | 屋根のタイプ |
Exterior 1st | 外装 |
Exterior 2nd | 家の外装(複数回答用) |
Exter Qual | 外装素材品質 |
Foundation | 建物基礎の種類 |
BsmtFin SF 1 | 地下室の広さ(単位:平方フィート) |
Bsmt Unf SF | 未完成地下室の広さ(単位:平方フィート) |
Total Bsmt SF | 地下室の全面積(単位:平方フィート) |
Heating QC | 暖房品質&状態 |
Central Air | セントラルエアコン |
Electrical | 配電施設 |
1st Flr | 1階広さ(単位:平方フィート) |
2nd Flr SF | 2階広さ(単位:平方フィート) |
Gr Liv Area | 地上リビングの広さ |
Bsmt Full Bath | 地下の浴室 |
Full Bath | 地上の浴室 |
Half Bath | 地上の簡易バス |
Bedroom AbvGr | 地上の寝室(除く:地下) |
Kitchen AbvGr | 地上のキッチン |
Kitchen Qual | キッチンの品質 |
TotRms AbvGrd | :地上の部屋数(除く:浴室) |
Fireplaces | 暖炉数 |
Garage Cars | ガレージ容量 |
Garage Area | ガレージサイズ(単位:平方委フィート) |
Paved Drive | 舗装私道 |
Wood Deck SF | ウッドデッキの広さ(単位:平方フィート) |
Open Porch SF | オープンポーチの広さ(単位:平方フィート) |
Mo Sold | 販売月(MM) |
Yr Sold | 販売年(YYYY) |
Sale Type | 販売タイプ |
Sale Condition | 販売条件 |
SalePrice | 住宅価格 |
今回はこれらのデータを使って、SalePrice(住宅価格)を予測します。敷地面積や建築日などは住宅価格を予測する上で、大切なデータのような気がします。
まずは何も処理せずにどのくらい予測できるかを確認したいと思います。
ナレコムAIを使って予測を行いたいので、ナレコムAIにデータを登録します。
まずはデータセット名をhousepricesとします。説明のところには登録するデータの説明を書きます。今回はアメリカの都市エイムズの住宅情報と入力しました。次に学習に使うファイルを選択します。signateからダウンロードしたtrainデータを
選び、登録を押し、実行してよろしいですか?とでてくるのでOKを押します。
登録するとデータの詳細を確認することができます。
ここではデータの種類やデータ同士の相関を確認することができます。
どのようなデータが含まれているか確認したいときに便利です。
モデルを作成してみる
モデル作成ページからモデルを登録します。
先ほどのデータから予測したいカラムを選択します。
今回はSalePriceを選択しました。また、不要なカラムはここでチェックを外すことで学習から除外することができます。
今回はindexというカラムを除外しておきました。
実行するとモデルの作成が開始され、上記のようになると作成が終了したことになります。
作成したモデルをクリックすることでモデルの評価を確認することができます。
ナレコムAIでは、グラフや解説文などを表示しているので、初めてAIを利用する人でもモデルの特徴を理解しやすくなっています。
モデルを評価してみる
それでは今回のモデルを評価してみましょう。
まず精度に関してですがあまり思わしくない結果になっているようです。
データの集まっている1万~1.7万当たりの精度はそこそこあるようですが、そのほかのサンプルが少ない箇所のデータの予測が苦手なようです(散布図を参照)
誤差についてのグラフを確認してみると、誤差の平均は低いものになっているので、大部分の予測には問題ないと考えられます。(誤差率、数量グラフを参照)
続いてデータについて見てみたいと思います。
データ量に関しては十分量が集まっているようです。
データの質につてグラフを見てみると、両サイドのデータが不足しており、その個所の誤差が大きくなっていることがわかります。
そのため精度を上げるためにはこの部分のデータを集めるか、予測範囲を狭める当を行うことで精度の向上が計れるかと思います。
ナレコムAIで予測してみる
実際にナレコムAIで予測してみましょう。
モデルの評価画面の右上の「このモデルを使用する」をクリックして右上の「予測を行う」をクリックしてください。
予測用のデータをアップロードし、送信をします。これだけで予測を行うことができます!
数分すると、ステイタスに結果のダウンロードと出てくるのでダウンロードして結果を確認してみましょう。もしくは
SIGANTEで結果を確認する。
先程ダウンロードした結果をSIGNATEに投稿して精度を見ていきましょう。SIGNATEにアップロードするようにデータを整えて、アップロードします。結果は26,282.6850651でした。なんと元のデータだけでかなりいいスコアが出ました(コンペの閾値はRMSE=27062です)。最初からかなりいいデータだったみたいです。
まとめ
今回はアメリカの都市エイムズの住宅価格を予測するモデルを作ってみました。
データさえあれば、ナレコムAIを使ってすぐにモデルを作成することができました。また、詳細を見てデータを消したり、前処理の内容を決めることができました。
今回は精度は良かったものの、精度ランクと分析ランクがあまり良くないことから学習データが少なかった可能性があるので今度はもっと学習データが多いデータを使ってみたいと思います。