Quvotha / aiquest2021-assesment

1 stars 0 forks source link

1st EDA #1

Closed Quvotha closed 3 years ago

Quvotha commented 3 years ago

Be familiar with competition's dataset, get inspiration of feature engineering.

Quvotha commented 3 years ago

お題:民泊サービスにおける物件データを利用した宿泊価格予測モデルの作成 コンペティションサイトによるとデータの説明は次の通り。

カラム | ヘッダ名称 | データ型 | 説明 -- | -- | -- | -- 0 | id | int | インデックスとして使用 1 | accommodates | int | 収容可能人数 2 | amenities | char | アメニティ 3 | bathrooms | float | 風呂数 4 | bed_type | char | ベッドの種類 5 | bedrooms | float | ベッドルーム数 6 | beds | float | ベッド数 7 | cancellation_policy | char | キャンセルポリシー 8 | city | char | 都市 9 | cleaning_fee | int | クリーニング料金を含むか 10 | description | char | 説明 11 | first_review | char | 最初のレビュー日 12 | host_has_profile_pic | int | ホストの写真があるかどうか 13 | host_identity_verified | int | ホストの身元確認が取れているか 14 | host_response_rate | char | ホストの返信率 15 | host_since | char | ホストの登録日 16 | instant_bookable | char | 即時予約可能か 17 | last_review | char | 最後のレビュー日 18 | latitude | float | 緯度 19 | longitude | float | 経度 20 | name | char | 物件名 21 | neighbourhood | char | 近隣情報 22 | number_of_reviews | int | レビュー数 23 | property_type | char | 物件の種類 24 | review_scores_rating | float | レビュースコア 25 | room_type | char | 部屋の種類 26 | thumbnail_url | char | サムネイル画像リンク 27 | zipcode | int | 郵便番号 28 | y | float | 宿泊価格
Quvotha commented 3 years ago

zipcode について

Wikipediaによると1桁目, 2-3 桁目, 4-5 桁目という風に地域を階層化するためのコードらしい。

コンペのデータについて、以下の点を確認。

物件の所在地の特定に役に立つ項目なので特徴量にできるよう前処理を組みたい。

Quvotha commented 3 years ago

amenities について

特定のアメニティの有無を特徴としてモデルに入力したい。あるいはアメニティの組み合わせを Tf-IDF 等で特徴量にするなど。

Quvotha commented 3 years ago

民泊のレビューについて

Quvotha commented 3 years ago

カテゴリ項目について

property_typezipcode は訓練データとテストデータとで共有していない値があるので注意。

categorical = ['bed_type', 'cancellation_policy', 'city', 'property_type', 'room_type', 'zipcode']
for c in categorical:
    if train[~train[c].isin(test[c])].shape[0] == 0 and test[~test[c].isin(train[c])].shape[0] == 0:
        continue
    else:
        print(c, train[~train[c].isin(test[c])][c].nunique(), test[~test[c].isin(train[c])][c].nunique())

property_type 8 1 zipcode 117 32

Quvotha commented 3 years ago

フラグ項目は True="t", False="f" になっている模様 train['cleaning_fee'].unique(), train['host_has_profile_pic'].unique(), train['host_identity_verified'].unique(), train['instant_bookable'].unique() (array(['t', 'f'], dtype=object), array(['t', nan, 'f'], dtype=object), array(['f', 't', nan], dtype=object), array(['f', 't'], dtype=object))

Quvotha commented 3 years ago

いったん満足したのでおしまい。