データ分析初心者でもプログラミングを用いずに SIGNATE のコンペに参加して 10 分でSIGNSTEの閾値を超えるモデルを構築する

シェアする

はじめに

この記事では機械学習や統計をやったことはないけどAIを使ってみたい、といった方に向けた記事になっています。
機械学習にはプログラムや統計など知識の壁が大きく、またモデルの差育成に対する時間の壁も大きいかと思います。
今回利用するAutoMLツール「ナレコムAI」を利用することで5分ほどで簡単にモデルを作成でき、モデルの評価についても作成されるレポートを読むことでMLの知識がなくともモデルの特性やよいモデルにするためのアプローチ内容を把握することができます。「データはあるけど、活用できるかわからない」「AIについて興味があるけど敷居が高そう」と考えている方が、少しでも前進するきっかけになれたら嬉しいです!

なぜ高い精度のモデルが作成できるのか

本来であればパラメータの選定やアルゴリズムについての学習、選定など知識や時間がかかってしまいます。
ナレコムAIでは事前に用意されたアルゴリズムやパラメータの組み合わせ数十種類をすべて試し、その中で最も良いモデルを提供しています。
そのため、パラメータの探索漏れなどがなく、精度の高いモデルの作成、提供を行うことができるのです。
さらに、データの登録からモデルの作成、モデルの解釈についてのレポートを作成するため、モデルの精度向上までを含めノーコードで行うことができます。

narekomuai.png

データを見てみる

今回はアメリカの都市エイムズの住宅の価格を予測してみようと思います。
データは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を押します。

registration.png dataset_list.png

登録するとデータの詳細を確認することができます。
ここではデータの種類やデータ同士の相関を確認することができます。
どのようなデータが含まれているか確認したいときに便利です。

dataset_view.png

モデルを作成してみる

モデル作成ページからモデルを登録します。
先ほどのデータから予測したいカラムを選択します。
今回はSalePriceを選択しました。また、不要なカラムはここでチェックを外すことで学習から除外することができます。
今回はindexというカラムを除外しておきました。

create_model01.png create_model02.png
model_list1.png model_list2.png

実行するとモデルの作成が開始され、上記のようになると作成が終了したことになります。
作成したモデルをクリックすることでモデルの評価を確認することができます。
ナレコムAIでは、グラフや解説文などを表示しているので、初めてAIを利用する人でもモデルの特徴を理解しやすくなっています。

モデルを評価してみる

それでは今回のモデルを評価してみましょう。
まず精度に関してですがあまり思わしくない結果になっているようです。
データの集まっている1万~1.7万当たりの精度はそこそこあるようですが、そのほかのサンプルが少ない箇所のデータの予測が苦手なようです(散布図を参照)
誤差についてのグラフを確認してみると、誤差の平均は低いものになっているので、大部分の予測には問題ないと考えられます。(誤差率、数量グラフを参照)

scaterplot.png rmse.png

続いてデータについて見てみたいと思います。
データ量に関しては十分量が集まっているようです。
データの質につてグラフを見てみると、両サイドのデータが不足しており、その個所の誤差が大きくなっていることがわかります。
そのため精度を上げるためにはこの部分のデータを集めるか、予測範囲を狭める当を行うことで精度の向上が計れるかと思います。

datarank.png datarank2.png

ナレコムAIで予測してみる

実際にナレコムAIで予測してみましょう。
モデルの評価画面の右上の「このモデルを使用する」をクリックして右上の「予測を行う」をクリックしてください。
予測用のデータをアップロードし、送信をします。これだけで予測を行うことができます!
数分すると、ステイタスに結果のダウンロードと出てくるのでダウンロードして結果を確認してみましょう。もしくは

use.png use2.png
use3.png

SIGANTEで結果を確認する。

先程ダウンロードした結果をSIGNATEに投稿して精度を見ていきましょう。SIGNATEにアップロードするようにデータを整えて、アップロードします。結果は26,282.6850651でした。なんと元のデータだけでかなりいいスコアが出ました(コンペの閾値はRMSE=27062です)。最初からかなりいいデータだったみたいです。

signate_score.png

まとめ

今回はアメリカの都市エイムズの住宅価格を予測するモデルを作ってみました。
データさえあれば、ナレコムAIを使ってすぐにモデルを作成することができました。また、詳細を見てデータを消したり、前処理の内容を決めることができました。
今回は精度は良かったものの、精度ランクと分析ランクがあまり良くないことから学習データが少なかった可能性があるので今度はもっと学習データが多いデータを使ってみたいと思います。