自分のキャリアをあれこれ考えながら、Pythonで様々なデータを分析していくブログです

MacでSIGNATEのデータをターミナルでやり取りする

Python
Python

Kaggleの日本語版のようなサービスでSIGNATEというサービスがあります。

何か違う名前だったような気がするので調べたら、昔はDeepAnalyticsという名称だったようです。どうやらヒノマルクはDeepAnalyticsという名称のときにサービスを使い始めていたようです。

SIGNATEは、現在データサイエンスラボが運営する「DeepAnalytics」 を 2018年4月1日より、サイト名称を「SIGNATE」としてリニューアルオープンします。
引用:https://prtimes.jp/main/html/rd/p/000000446.000014848.html

時系列分析をするために、アップル引越センターの引越し需要予測のコンペでデータをターミナルからダウンロードとアップロード出来ると楽なので手順をまとめておこうと思います。

SIGNATE CLIの説明画面


https://signate.jp/competitions/269/data のページに記載がありました。

  1. アカウント登録
  2. https://signate.jp/profile でプロフィールの必須項目を入力する。
  3. pip install signate でライブラリをインストール
  4. APIトークンの取得と配置
  5. SMS認証
  6. Terms of useの許可

で使い始めることが出来ました。

スポンサーリンク

アカウント登録

https://signate.jp/register から登録してください。

スポンサーリンク

プロフィールの必須項目を入力する

プロフィールの必須項目を入力しておかないとそもそもコンペのデータをダウンロードする画面に到達できませんでした。

下記が必須項目のようです。(22年8月現在)

・ユーザ名※
・誕生年※
・社会人/学生※
・最終学位(学生の方は取得予定) ※
・卒業区分 ※
・卒業(予定)年月または中途退学年月※

スポンサーリンク

Pipでsignateライブラリをインストールする

下記にインストール手順が載っています。

signate
SIGNATE CLI

※SIGNATE CLIの動作にはPython3.6 以降の環境が必要です。
※当CLIはβ版であり、予告なく変更させていただく可能性がございます。予めご了承ください。
※SIGNATE CLIはMac OSおよびLinuxをサポートしております。

MacかLinuxのみサポートしているようですので、Windowsをお使いの方は期待通りの動作をしない場合がありますのでご注意ください (22年8月現在)

# 仮想環境に入る
source my-venv/bin/activate

# signateライブラリのインストール
(my-venv) python3 -m pip install signate
Out[0]
Collecting signate
  Downloading signate-0.9.9-py3-none-any.whl (37 kB)
・・・省略・・・
Successfully installed click-8.1.3 signate-0.9.9 tabulate-0.8.10 wget-3.2
スポンサーリンク

トークンの発行と配置

  1. https://signate.jp/account_settings にアクセス
アカウント設定画面

  1. API Token -> 作成 -> 新規作成
API Token作成画面

signate.jsonが自動的にダウンロードされますので、~/.signate以下に配置する。

新規作成ボタン押下後の画面

# 隠しフォルダの作成
mkdir -p ~/.signate

# signate.jsonの配置
mv ~/Downloads/signate.json ~/.signate 
スポンサーリンク

signateコマンドの確認

(my-venv) signate list
Out[0]
 competitionId  title                                                                             closing     prize        submitters
---------------  --------------------------------------------------------------------------------  ----------  ---------  ------------
              1  【練習問題】銀行の顧客ターゲティング                                              -                              5848
             24  【練習問題】お弁当の需要予測                                                      -                              7282
             27  【練習問題】Jリーグの観客動員数予測                                               -                              1762
            100  【練習問題】手書き文字認識                                                        -           Knowledge           226
            102  【練習問題】タイタニックの生存予測                                                -           Knowledge          1660
            103  【練習問題】音楽ラベリング                                                        -           Knowledge            97
            104  【練習問題】スパムメール分類                                                      -           Knowledge           159
            105  【練習問題】毒キノコの分類                                                        -           Knowledge           301
            106  【練習問題】アワビの年齢予測                                                      -           Knowledge           397
            107  【練習問題】国勢調査からの収入予測                                                -           Knowledge           587
            108  【練習問題】画像ラベリング(20種類)                                              -           Knowledge           276
            112  【練習問題】ワインの品種の予測                                                    -           Knowledge           349
            113  【練習問題】山火事の消失面積予測                                                  -           Knowledge           240
            114  【練習問題】レンタル自転車の利用者数予測                                          -           Knowledge           502
            115  【練習問題】アヤメの分類                                                          -           Knowledge           426
            116  【練習問題】活動センサーログからの動作予測                                        -           Knowledge            64
            118  【練習問題】テニスの試合結果の予測                                                -           Knowledge           168
            121  【練習問題】自動車の走行距離予測                                                  -           Knowledge          1632
            122  【練習問題】自動車の評価                                                          -           Knowledge           345
            123  【練習問題】オゾンレベルの分類                                                    -           Knowledge            73
            124  【練習問題】ボットの判別                                                          -           Knowledge           335
            125  【練習問題】ガラスの分類                                                          -           Knowledge           216
            126  【練習問題】林型の分類                                                            -           Knowledge            55
            127  【練習問題】ゲーム選手のリーグ分類                                                -           Knowledge            79
            128  【練習問題】ステンレス板の欠陥分類                                                -           Knowledge           110
            129  【練習問題】都市サイクルの燃料消費量予測                                          -           Knowledge           206
            130  【練習問題】天秤のバランス分類                                                    -           Knowledge           175
            132  【練習問題】ネット広告のクリック予測                                              -           Knowledge           159
            133  【練習問題】画像ラベリング(10種類)                                              -                               368
            135  【練習問題】ネット画像の分類                                                      -                                80
            262  国立国会図書館の画像データレイアウト認識                                          2100-12-31  -                    97
            263  産業技術総合研究所 衛星画像分析コンテスト                                         2100-12-31  -                    57
            264  マイナビ × SIGNATE Student Cup 2019: 賃貸物件の家賃予測                           2100-12-31  -                   440
            265  【練習問題】健診データによる肝疾患判定                                            -                               604
            266  【練習問題】民泊サービスの宿泊価格予測                                            -                               649
            267  海洋研究開発機構 熱帯低気圧(台風等)検出アルゴリズム作成                         2100-12-31  -                    27
            268  オプト レコメンドエンジン作成                                                     2100-12-31                       51
            269  アップル 引越し需要予測                                                           2100-12-31  -                   432
            270  Weather Challenge:雲画像予測                                                     2100-12-31  -                    11
            271  JR西日本 走行中の北陸新幹線車両台車部の着雪量予測                                 2100-12-31  -                    27
            288  Sansan 名刺の項目予測                                                             2100-12-31  -                    40
            294  【練習問題】債務不履行リスクの低減                                                -                               249
            358  【練習問題】機械稼働音の異常検知                                                  -                                87
            404  【練習問題】モノクロ顔画像の感情分類                                              -                               109
            406  【練習問題】鋳造製品の欠陥検出                                                    -                               245
            409  【練習問題】株価の推移予測                                                        -                               221
            565  SIGNATE Student Cup 2021春:楽曲のジャンル推定チャレンジ!!                      2100-12-31  -                   110
            567  SIGNATE Student Cup 2021秋:オペレーション最適化に向けたシェアサイクルの利用予測  2100-12-31  -                    81
            595  医学論文の自動仕分けチャレンジ                                                    2100-12-31                       29
            657  SUBARU 画像認識チャレンジ                                                         2100-12-31                        5
            735  SIGNATE Student Cup 2022【予測部門】                                              2022-08-25                      143

たくさん出てきます。

スポンサーリンク

SMS認証

# アップル引越しコンペのファイルを確認
(my-venv) signate files --competition-id=269
Out[0]
SMS verification has not been completed. Please complete the procedure via https://signate.jp/profile/sms#sms-verification

SMS認証が必要らしいので、https://signate.jp/profile/sms#sms-verification にてSMS認証を完了させます。
(Token発行の時一緒にやっておけば楽が出来たかも知れません)

SMS認証完了後

上記画像のようなメッセージが出ればSMS認証は完了です。

# もう一度アップル引越しのデータを確認してみます
(my-venv) signate files --competition-id=269
Out[0]
  fileId  name               title                     size  updated_at
--------  -----------------  ----------------------  ------  -------------------
     139  train.csv          学習用データ             48706
     140  test.csv           評価用データ              7351
     138  sample_submit.csv  応募用サンプルファイル   10921  2017-09-11 20:38:33

今度はファイルが表示されました。

スポンサーリンク

Terms of useの許可

(my-venv) signate download --competition-id=269
Out[0]
You have not accepted the competition terms of use!

Do you accept the competition terms of use?
Please read the terms of use before accepting: https://signate.jp/competitions/269#terms
 [y/N]: y
You have accepted the competition terms of use.

これで許可したことになります。(きちんと読んでから「y」を入力しましょうね 笑)

スポンサーリンク

データのダウンロード

(my-venv) signate download --competition-id=269
Out[0]
test.csv
100% [................................................................................] 7351 / 7351
sample_submit.csv
100% [..............................................................................] 10921 / 10921
train.csv
100% [..............................................................................] 48706 / 48706

Download completed.
# ダウンロード出来ているのか確認
(my-venv) ls -lth | head -4
Out[0]
total 136
-rw-r--r--   1 hinomaruc  staff    48K  8  9 21:15 train.csv
-rw-r--r--   1 hinomaruc  staff    11K  8  9 21:15 sample_submit.csv
-rw-r--r--   1 hinomaruc  staff   7.2K  8  9 21:15 test.csv

ダウンロード出来ていそうです。

スポンサーリンク

データのアップロード

精度確認のためスコアを付与したファイルをSIGNATEにアップロードします。

(my-venv) signate submit --competition-id=269 sample_submit.csv --note テスト
Out[0]
You have successfully submitted your predictions.We will send you the submission result to your email address.

メールに結果が届くようです。

メールの内容

届いていました。

タイトルとURLをコピーしました