AI研究所 - AI(人工知能)に脅かされないために、AI(人工知能)を作る側の人間になる -

HOME  >  Kaggleとは?Kaggle入門者のための知っておくべき3つのこと

公開日:2020.10.19 [最終更新日]2020.10.20

Kaggleとは?Kaggle入門者のための知っておくべき3つのこと

AI(人工知能)の知識

機械学習を勉強したい方にとって、Kaggleはとても有益なプラットフォームです。機械学習のスキルを上げることもできますし、最新の技術を世界のデータサイエンティストから学んだり、質問したりすることができます。
初心者の方に優しい機能も備えており、これから機械学習を学びたい方にも必須のプラットフォームです。この記事では、Kaggleの基本的な内容について紹介しています。これから機械学習の分野の理解を深めたい方は是非御覧ください。

Kaggleとは?

一見すると読み方がわかりにくいですが、Kaggle(カグル)と読みます。
機械学習やデータサイエンスに携わっている方が参加しているコミュニティです。機械学習とは自発的に学習することができるメカニズム、いわゆるAIの事を指し、データサイエンスとは、統計学やビックデータのことを指します。
データサイエンスの分析はAIの判断を支えるものとなり、近年ビックデータをAI学習に活用することががさかんになり、需要が高まっています。
Kaggleはデータサイエンティストと政府や企業をつなぐ役割があり、コンペにて政府や企業の希望に沿う形の分析モデルを提出します。
最も精度が高い分析モデルを買い取る形で賞金が支払われます。

Kaggleでの提案内容

参加者が提案するのは、機械学習モデルの内容と質です。
教師あり学習の課題が多く出されており、その内容はいくつかの問題と答えのセットをAIに教えることで、他の問題の答えを予測して答えるという学習の事です。
Xtrain→ Ytrainという問に対する答えを学び、Xtest→ytestというもう一つの問に対する答えを関連つけて予測学習するというものです。
この技術は、迷惑メール判定などで活用されており、一つのケースを元に学習を深めていきます。

Kaggleの機能

Kaggleには分析モデルを競うコンペの他に、初心者向け機能としてKernels(カーネル)、データサイエンティストたちが集うコミュニティのDiscussion(ディスカッション)が用意されています。

Kernels(カーネル)

kernelssは初心者の学習教材として最適な機能です。
kernelsは各データセットに対して、使ったモデル、精度の結果を示したものです。プログラミングやAPIのオープンソースのようなイメージでしょうか。公開されたコードをブラウザ上で実際に確認し、動かすことができます。環境準備が必要ないという点がポイントです。

Discussion(ディスカッション)

参加者同士で色々な事を議論できる場所です。コンペの分析内容、初心者からの質問、コンペのデータについて発見したことなど、活発な議論が交わされていて、初心者の方にも十分有益な機能となっています。

Kaggleのコンペに参加してみよう

Kaggleのコンペは登録完了したら初心者でも参加できます。何もわからない状態で参加するのは難しいので、ある程度学習を進めたら初心者の段階でも参加してみてはいかがでしょうか。

コンペの概要

コンペにはカテゴリ分けがされています。レベルが高いカテゴリから初心者向けのカテゴリまで一通り揃っています。初心者向けのカテゴリがあるのはありがたいですね。

Featured:賞金がある、メインとなるコンペ

Research:主に実験的要素が強いコンペ。賞金はなし

Getting Started:初心者向け。期限なし

Playground:脱初心者的カテゴリ。楽しむことが目的

Recruitment:採用の可能性があるカテゴリ

Annual:年2回の大会があるカテゴリ

Limited Participation:マスターとグランド・マスター以外参加できないコンペ

 

コンペの利用規約に同意すると、データセットダウンロードすることができます。自分で処理を行い、最適な予測モデルを構築します。
これから学習を始める方は、日本語のチュートリアルや練習データの記事がWeb上に存在しますので、参考にしながら学習を進めていきましょう。有料のデータセットもありますので、こちらも活用するといいですね。

商用利用可能な機械学習用教師データセットの共同販売開始へ!

チュートリアルはメルカリの価格予想、タイタニックで生き残るのは誰?という内容のものがあります。初心者向けで学びながら知識を得ることができるので、オススメです。使用言語は主にPython 3.Xとなります。
基本的にデータセットは英語表記となっています。Google翻訳を使っての作業は難しいかもしれません。基本的な英語は理解できるようにしておいたほうがいいと思います。
EvaluationページのSubmissionFileに形式項目がまとめられています。提出ファイルの形式が指定されていますので、正しい形式で提出するようにしましょう。守られていないと評価の対象外となります。
提出が完了するとリアルタイムで評価がつきます。自分が苦労して作成したデータセットにリアルタイムで評価がついていくのはちょっと緊張しますが、モチベーション向上にもつながりますしいい機能ですね。

初心者はkernelsで学習する

いきなりコンペに参加するのは敷居が高すぎるし、何から初めていいのかわからないという方はkernelsを使って学習しましょう。
kernelsはNotebookとも呼ばれ、構築に必要なパッケージが最初から導入されており、初心者がもっともつまづきやすい環境構築を行う必要がありません。
kernelsでは、モデルやデータセットに対して、処理のコードが公開されています。そのため、そのコードを書き写しながらなぜこのような動きになるのか?検証しながら自習を進めることができます。プログラミングの写経と同じですね。
データ処理の仕方がわからない、予測モデルの基本しか使えない場合は、まずkernelsで基礎の学習を進め知識を固めましょう。

kernelsの使い方については以下の動画にて解説されています。

Discussion(ディスカッション)に参加する

kernelsで初心者レベルの知識を固めることができたら、Discussionに参加してみましょう。英語でのやり取りになりますので、基本的な英語の理解は必要になります。ただ、拙い英語でも最低限意味が通じれば、参加する価値はあります。
世界中のデータサイエンティストが集う場になりますので、格好の情報収集の場にもなります。また、わからない事を質問できる機能もありますので、自学自習を進める方には必須の機能といえます。
初心者の方はDiscussionとkernelsをうまく活用して自習を進めていきましょう。

Kaggleを始める前に知っておくべき3つのポイント

Kaggleを始める前に知っておくべき3つのポイントを以下に記します。

  1. Kaggleとはどういうものか、何ができるのか、理解を深める
  2. Kaenelやチュートリアルをしっかりと使いこなし、データセットの使い方を学ぶ
  3. Discussionで情報収集や問題解決を行う

スキルの浅い初心者はまずこの3点をしっかりと抑えて学習を進めていきましょう。AIや機械学習に強いプログラミング教室もありますが、Pythonの独学からスタートし、Kaggleの機能をうまく使いこなせば自力での習得も可能です。
有料、無料のチュートリアルがWeb上で公開されていますので、Kaggleと合わせてうまく活用しスキルアップを目指していきましょう。

 


参考になったら「いいね!」と「シェア」をお願いします!!

このエントリーをはてなブックマークに追加
AI(人工知能)セミナー開催中