LoginSignup
2
1

Kaggleに続いて、SIGNATEに参加してみました。

公式サイトによると、SIGNATEは、「テクノロジーによってあらゆるものが進化していく時代の中で、AI/データ分析人材をエンパワーする国内唯一のプラットフォーム」です。
私は、データ分析スキルを向上させたいと思い、SIGNATEに登録しました。
この記事では、SIGNATE登録から、コンペ参加、投稿までの流れを紹介します。

SIGNATE登録

下記の記事を参考にしました。

まずSIGNATEのサイトにアクセスします。
https://signate.jp
スクリーンショット 2023-12-03 14.59.18.png

無料で会員登録または右上の会員登録をクリックし、メールアドレス、パスワード、ユーザ名を入力します。
また、誕生年、社会人/学生、最終学位(学生の方は取得予定)、卒業区分、卒業(予定)年月または中途退学年月を入力する必要があります。
コンペに参加する際には、電話番号の入力が求められます。
ユーザ名とプロフィール写真を除く情報は、本人の許可なくSIGNATEのサイト上に公開されることはないとのことです。

SIGNATEに登録することで、Registeredの称号を獲得することができました。
SIGNATEには7つの称号があり、それぞれ獲得条件があります。

  • Grandmaster
    金メダル3個以上(うち1個は個人参加で獲得)
  • Master
    メダル合計3個以上(うち1個は金メダル)
  • Expert
    メダル合計2個以上(うち1個は銀メダル以上)
  • Advanced
    メダル合計1個以上
  • Intermediate
    上位60%を1回以上、称号限定コンペ指定閾値以上
  • Beginner
    投稿1回以上
  • Registered
    本登録会員

投稿1回以上でBeginnerを獲得できるということで、今回はBeginner獲得を目指しました。

コンペ参加

公式サイトでおすすめされていたため、タイタニックの生存予測に参加しました。

まず、データタブから学習用データ(train.tsv)、評価用データ(test.tsv)、応募用サンプルファイル(sample_submit.tsv)をダウンロードしました。
解析環境にGoogle Colaboratoryを用いるため、ダウンロードしたデータはGoogle Driveに移動します。
私は、Google Driveにtitanicディレクトリを作成し、titanicディレクトリにtrain.tsv、test.tsv、sample_submit.tsvを移動しました。

そして、Google Colaboratoryを起動し、コードを書いていきます。
u++さんのKaggleのNotebookを参考にさせていただきました。
https://www.kaggle.com/code/sishihara/upura-kaggle-tutorial-01-first-submission/notebook

# NumPyとpandasのインポート
import numpy as np
import pandas as pd
# データの読み込み
train = pd.read_csv("/content/drive/MyDrive/titanic/train.tsv", sep='\t')
test = pd.read_csv("/content/drive/MyDrive/titanic/test.tsv", sep='\t')
sample_submit = pd.read_csv("/content/drive/MyDrive/titanic/sample_submit.tsv", sep='\t', header=None)
# trainとtestの連結
data = pd.concat([train, test], sort=False)
# 欠損値の確認
data.isnull().sum()
# データ前処理
# sex
data['sex'].replace(['male','female'], [0, 1], inplace=True)

# embarked
data['embarked'].fillna(('S'), inplace=True)
data['embarked'] = data['embarked'].map( {'S': 0, 'C': 1, 'Q': 2} ).astype(int)

# age
data['age'].fillna(data['age'].median(), inplace=True)
# 学習データとテストデータの抽出
train = data[:len(train)]
test = data[len(train):]

y_train = train['survived']
X_train = train.drop('survived', axis = 1)
X_test = test.drop('survived', axis = 1)
# 機械学習
from sklearn.pipeline import make_pipeline
from sklearn.preprocessing import StandardScaler
from sklearn.svm import SVC

clf = make_pipeline(StandardScaler(), SVC())
clf.fit(X_train, y_train)
y_pred = clf.predict(X_test)
clf.score(X_train, y_train)

スコアは0.8426966292134831でした。

# データの出力
sub = sample_submit
sub[1] = list(map(int, y_pred))
sub.to_csv("/content/drive/MyDrive/titanic/submit.tsv", sep='\t', index=False, header=False)

submit.tsvが出力されたことを確認したら、コンペのサイトに移動します。
https://signate.jp/competitions/102
スクリーンショット 2023-12-03 15.43.52.png

右下の投稿をクリックし、ファイルを選択からsubmit.tsvをアップロードします。
これにより、結果を提出することができました。

スクリーンショット 2023-12-03 15.48.21.png

このように、投稿済みファイルタブに、アップロードしたファイルが表示されました。
暫定評価(0.8005918)も表示されています。

コンペに参加し、投稿を行ったことにより、Beginnerを獲得することができました。
次はIntermediate獲得を目指します。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1