HiÐΞWeb3

Google Colaboratory からSignateを使うメモ

SHOGAKU
1年前
APIトークン作成Google ColabでSIGNATE APIを使う で導入を丸コピー使える機能チェックlistfiledownoadデータの中身を確認するhead()メソッドを使用して、最初の5行のデータを表示shape属性を使用して、データの行数と列数を確認info()メソッドやdescribe()メソッド

Google Colaboratory から、Signate使ったことがなかったので備忘録として残す

そして、こちらがとてもためになった


APIトークン作成

https://signate.jp/account_settings

ここで作成。グーグルドライブへ保管


Google ColabでSIGNATE APIを使う で導入を丸コピー

!pip install signate

from googleapiclient.discovery import build
import io, os
from googleapiclient.http import MediaIoBaseDownload
from google.colab import auth


auth.authenticate_user()

drive_service = build('drive', 'v3')
results = drive_service.files().list(
        q="name = 'signate.json'", fields="files(id)").execute()
signate_api_key = results.get('files', [])

filename = "/root/.signate/signate.json"
os.makedirs(os.path.dirname(filename), exist_ok=True)

request = drive_service.files().get_media(fileId=signate_api_key[0]['id'])
fh = io.FileIO(filename, 'wb')
downloader = MediaIoBaseDownload(fh, request)
done = False
while done is False:
    status, done = downloader.next_chunk()
    print("Download %d%%." % int(status.progress() * 100))
os.chmod(filename, 600)

これはGoogle Colab上でSignate APIキーを使用するためのPythonコードです。
このコードは、Google Driveから名前が'signate.json'のファイルを検索し、それをダウンロードし、それを使用してSignate APIに接続するために必要な準備をします。

  • pip install signate:
    これは、Signate Pythonクライアントライブラリをインストールするためのコマンドです。
  • auth.authenticate_user():
    Google Driveにアクセスするための認証を行う。
  • drive_service = build('drive', 'v3') :
    Google Drive APIのサービスを構築する。
  • results = drive_service.files().list(q="name = 'signate.json'", fields="files(id)").execute() :
    指定された名前のファイルを検索する。
  • request = drive_service.files().get_media(fileId=signate_api_key[0]['id']) :
    検索したファイルを取得する。
  • fh = io.FileIO(filename, 'wb') :
    ダウンロードしたファイルを保存するためのFileIOオブジェクトを作成する。
  • downloader = MediaIoBaseDownload(fh, request) :
    ダウンロードを開始する。
  • os.chmod(filename, 600) :
    ダウンロードしたファイルに適切なアクセス権を設定する。

使える機能チェック

!signate --help
Usage: signate [OPTIONS] COMMAND [ARGS]...

Options:
  --help  Show this message and exit.

Commands:
  download  Download the file of competition
  files     List file of competition
  list      List competition
  submit    Submit a result file to the competition
  token     Download the API Token

コマンドを確認していく

list

!signate list
  competitionId  title                                                                             closing     prize             submitters
---------------  --------------------------------------------------------------------------------  ----------  --------------  ------------
              1  【練習問題】銀行の顧客ターゲティング                                              -                                   6443
             24  【練習問題】お弁当の需要予測                                                      -                                   7823
             27  【練習問題】Jリーグの観客動員数予測                                               -                                   1863
            100  【練習問題】手書き文字認識                                                        -           Knowledge                283
            102  【練習問題】タイタニックの生存予測                                                -           Knowledge               1942
            103  【練習問題】音楽ラベリング                                                        -           Knowledge                115
            104  【練習問題】スパムメール分類                                                      -           Knowledge                174
            105  【練習問題】毒キノコの分類                                                        -           Knowledge                319
            106  【練習問題】アワビの年齢予測                                                      -           Knowledge                418
            107  【練習問題】国勢調査からの収入予測                                                -           Knowledge                658
            108  【練習問題】画像ラベリング(20種類)                                              -           Knowledge                289
            112  【練習問題】ワインの品種の予測                                                    -           Knowledge                370
            113  【練習問題】山火事の消失面積予測                                                  -           Knowledge                262
            114  【練習問題】レンタル自転車の利用者数予測                                          -           Knowledge                564
            115  【練習問題】アヤメの分類                                                          -           Knowledge                462
            116  【練習問題】活動センサーログからの動作予測                                        -           Knowledge                 69
            118  【練習問題】テニスの試合結果の予測                                                -           Knowledge                185
            121  【練習問題】自動車の走行距離予測                                                  -           Knowledge               1754
            122  【練習問題】自動車の評価                                                          -           Knowledge                363
            123  【練習問題】オゾンレベルの分類                                                    -           Knowledge                 85
            124  【練習問題】ボットの判別                                                          -           Knowledge                361
            125  【練習問題】ガラスの分類                                                          -           Knowledge                269
            126  【練習問題】林型の分類                                                            -           Knowledge                 73
            127  【練習問題】ゲーム選手のリーグ分類                                                -           Knowledge                 98
            128  【練習問題】ステンレス板の欠陥分類                                                -           Knowledge                133
            129  【練習問題】都市サイクルの燃料消費量予測                                          -           Knowledge                306
            130  【練習問題】天秤のバランス分類                                                    -           Knowledge                253
            132  【練習問題】ネット広告のクリック予測                                              -           Knowledge                161
            133  【練習問題】画像ラベリング(10種類)                                              -                                    405
            135  【練習問題】ネット画像の分類                                                      -                                     82
            262  国立国会図書館の画像データレイアウト認識                                          2100-12-31  -                        100
            263  産業技術総合研究所 衛星画像分析コンテスト                                         2100-12-31  -                         70
            264  マイナビ × SIGNATE Student Cup 2019: 賃貸物件の家賃予測                           2100-12-31  -                        516
            265  【練習問題】健診データによる肝疾患判定                                            -                                    668
            266  【練習問題】民泊サービスの宿泊価格予測                                            -                                    713
            267  海洋研究開発機構 熱帯低気圧(台風等)検出アルゴリズム作成                         2100-12-31  -                         32
            268  オプト レコメンドエンジン作成                                                     2100-12-31                            62
            269  アップル 引越し需要予測                                                           2100-12-31  -                        534
            270  Weather Challenge:雲画像予測                                                     2100-12-31  -                         14
            271  JR西日本 走行中の北陸新幹線車両台車部の着雪量予測                                 2100-12-31  -                         33
            288  Sansan 名刺の項目予測                                                             2100-12-31  -                         48
            294  【練習問題】債務不履行リスクの低減                                                -                                    337
            358  【練習問題】機械稼働音の異常検知                                                  -                                     98
            404  【練習問題】モノクロ顔画像の感情分類                                              -                                    138
            406  【練習問題】鋳造製品の欠陥検出                                                    -                                    279
            409  【練習問題】株価の推移予測                                                        -                                    245
            565  SIGNATE Student Cup 2021春:楽曲のジャンル推定チャレンジ!!                      2100-12-31  -                        172
            567  SIGNATE Student Cup 2021秋:オペレーション最適化に向けたシェアサイクルの利用予測  2100-12-31  -                        121
            595  医学論文の自動仕分けチャレンジ                                                    2100-12-31                            59
            657  SUBARU 画像認識チャレンジ                                                         2100-12-31                             9
            841  第1回 金融データ活用チャレンジ                                                   2023-03-05  総額¥1,000,000            66
            936  ブルーカーボン・ダイナミクスを可視化せよ!                                        2023-04-30  総額¥1,000,000            16

file

ID = 1 にするとき

!signate files --competition-id=1 
  fileId  name               title              size  updated_at
--------  -----------------  --------------  -------  -------------------
       1  train.csv          学習用データ    2345067  2016-05-31 20:19:48
       2  test.csv           評価用データ    1523536  2021-11-02 12:16:31
       3  submit_sample.csv  応募用サンプル   205890  2016-05-31 20:20:59

downoad

ID = 1 にするとき

!signate download --competition-id=1 
submit_sample.csv

test.csv

train.csv


Download completed.

データの中身を確認する

head()メソッドを使用して、最初の5行のデータを表示

import pandas as pd

submit_sample = pd.read_csv('submit_sample.csv')
test = pd.read_csv('test.csv')
train = pd.read_csv('train.csv')

print(submit_sample.head())
print(test.head())
print(train.head())
   1  0.236
0  2  0.128
1  3  0.903
2  4  0.782
3  5  0.597
4  6  0.555
   id  age            job  marital  education default  balance housing loan  \
0   1   30     management   single   tertiary      no     1028      no   no   
1   2   39  self-employed   single   tertiary      no      426      no   no   
2   3   38     technician   single   tertiary      no     -572     yes  yes   
3   4   34     technician   single  secondary      no     -476     yes   no   
4   5   37   entrepreneur  married    primary      no       62      no   no   

    contact  day month  duration  campaign  pdays  previous poutcome  
0  cellular    4   feb      1294         2     -1         0  unknown  
1   unknown   18   jun      1029         1     -1         0  unknown  
2   unknown    5   jun        26        24     -1         0  unknown  
3   unknown   27   may        92         4     -1         0  unknown  
4  cellular   31   jul       404         2     -1         0  unknown  
   id  age           job  marital  education default  balance housing loan  \
0   1   39   blue-collar  married  secondary      no     1756     yes   no   
1   2   51  entrepreneur  married    primary      no     1443      no   no   
2   3   36    management   single   tertiary      no      436      no   no   
3   4   63       retired  married  secondary      no      474      no   no   
4   5   31    management   single   tertiary      no      354      no   no   

    contact  day month  duration  campaign  pdays  previous poutcome  y  
0  cellular    3   apr       939         1     -1         0  unknown  1  
1  cellular   18   feb       172        10     -1         0  unknown  1  
2  cellular   13   apr       567         1    595         2  failure  1  
3  cellular   25   jan       423         1     -1         0  unknown  1  
4  cellular   30   apr       502         1      9         2  success  1  

shape属性を使用して、データの行数と列数を確認

print(submit_sample.shape)
print(test.shape)
print(train.shape)
(18082, 2)
(18083, 17)
(27128, 18)

info()メソッドやdescribe()メソッド

print(submit_sample.info())
print(test.describe())
print(train.describe())
<class 'pandas.core.frame.dataframe'="">
RangeIndex: 18082 entries, 0 to 18081
Data columns (total 2 columns):
 #   Column  Non-Null Count  Dtype  
---  ------  --------------  -----  
 0   1       18082 non-null  int64  
 1   0.236   18082 non-null  float64
dtypes: float64(1), int64(1)
memory usage: 282.7 KB
None
                 id           age       balance           day      duration  \
count  18083.000000  18083.000000  18083.000000  18083.000000  18083.000000   
mean    9042.000000     40.914008   1371.980092     15.806725    254.340264   
std     5220.256794     10.634331   3105.985293      8.299509    253.591981   
min        1.000000     18.000000  -8019.000000      1.000000      0.000000   
25%     4521.500000     33.000000     72.000000      8.000000    102.000000   
50%     9042.000000     39.000000    447.000000     16.000000    178.000000   
75%    13562.500000     48.000000   1427.000000     21.000000    314.000000   
max    18083.000000     95.000000  98417.000000     31.000000   3881.000000   

           campaign         pdays      previous  
count  18083.000000  18083.000000  18083.000000  
mean       2.781950     39.702428      0.581209  
std        3.054651     99.747634      1.965265  
min        1.000000     -1.000000      0.000000  
25%        1.000000     -1.000000      0.000000  
50%        2.000000     -1.000000      0.000000  
75%        3.000000     -1.000000      0.000000  
max       50.000000    854.000000     58.000000  
                 id           age        balance           day      duration  \
count  27128.000000  27128.000000   27128.000000  27128.000000  27128.000000   
mean   13564.500000     40.951010    1355.800870     15.806215    260.711295   
std     7831.323388     10.608542    3003.305272      8.337904    260.091727   
min        1.000000     18.000000   -6847.000000      1.000000      0.000000   
25%     6782.750000     33.000000      72.000000      8.000000    104.000000   
50%    13564.500000     39.000000     449.000000     16.000000    182.000000   
75%    20346.250000     48.000000    1428.000000     21.000000    323.000000   
max    27128.000000     95.000000  102127.000000     31.000000   4918.000000   

           campaign         pdays      previous             y  
count  27128.000000  27128.000000  27128.000000  27128.000000  
mean       2.751769     40.528052      0.579733      0.117001  
std        3.126594    100.382462      2.503653      0.321427  
min        1.000000     -1.000000      0.000000      0.000000  
25%        1.000000     -1.000000      0.000000      0.000000  
50%        2.000000     -1.000000      0.000000      0.000000  
75%        3.000000     -1.000000      0.000000      0.000000  
max       63.000000    871.000000    275.000000      1.000000  
</class>

データを提出する段階に来たら、また備忘録を残したいと思う


コメント
いいね
投げ銭
最新順
人気順
SHOGAKU
1年前
コメント
いいね
投げ銭
最新順
人気順
トピック
アプリ

Astar Network

DFINITY / ICP

NFT

DAO

DeFi

L2

メタバース

BCG

仮想通貨 / クリプト

ブロックチェーン別

プロジェクト

目次
Tweet
ログイン