まえがき
Signateではコンペティションの成績で7段階で称号が割り当てられていますが、1つ上げるだけでもかなりハードルが高いものだと思っていました。レベルが高いのはもちろんのこと、コンペが数多くあるわけではないので昇格するのに時間がかかるものだと決めつけていましたが、意外とそうではありませんでした。
称号付きコンペやSOTA Challengeなど、昇格する機会を設けてくれており、運営の方々には感謝です。
試しに称号付きコンペに参加をし、初手でAutoMLを使ってみた所、案外すんなり閾値を超えることができ、Intermediateに昇格しました。
30分かからずにできたのでせっかくと思い、記事を作成しました。
↓SignateHPから引用(https://signate.jp/users/rankings/help)
参加コンペティション
2021年10月のみ開催されているコンペです。
コード
ライブラリのインポート
import pandas as pd
!pip install pycaret
from pycaret.classification import *
データの読み込み
train_data = pd.read_csv("train.csv")
train_data
test_data = pd.read_csv("test.csv")
test_data
学習データの正解ラベルの割合
len(train_data[train_data["loan_status"]==1])/len(train_data)
Pycaret
model = setup(data=train_data, target="loan_status")
compare_models()
個人的にLightGBMが好きなので、とりあえず使っています。
model = create_model("lightgbm")
F1スコアが最適になるようにパラメーターをチューニング
tuned_model = tune_model(model, optimize="F1")
evaluate_model(tuned_model)
とりあえず、学習データの正解ラベルの割合を閾値として採用
test_pred = predict_model(tuned_model, probability_threshold= 0.2148, data=test_data)
test_pred
提出
sample = pd.read_csv("submit.csv", header=None)
submission = sample.drop(columns=[1])
submission[0] = test_pred["Label"]
submission.to_csv("submission.csv", header=None)
あとがき
Intermediateに昇格したことによって自己アピールにつながればいいなと思っています。
次は、AdvancedやExpertに昇格できるようにSOTA Challengeに参加してメダル獲得できるように頑張りたいと思います。