注目キーワード

【機械学習】LinearSVCを使って配列の合計値を判定してみた➀

今回は、「Pythonによる AI・機械学習・深層学習アプリのつくり方」のアウトプットとして「LinearSVC」の使い方を紹介します。

書籍では、AND演算の機械学習について説明されていました。具体的には、以下のテーブルのようにXとYが1の場合のみ1を返すといった処理について説明されていました。

XYX and Y
000
100
010
111

学んだことをすこーしだけ応用して、二つの要素を足した結果が「10」以上だったら「1」を返すといった処理を実装してみました。

細かく解説していくと結構なボリュームになりそうなので今回は以下の3つについて触れていきたいと思います。

  • サンプルソースを理解するにあたって読んでおいたほうがよい記事
  • 実装したソース
  • 実行結果

対象レベル

Pythonの環境設定が整っており、Pythonの基本構文が理解出来ること。

詳しくは「【Python入門】〜初級編〜環境構築・基本構文まとめ」にまとめてあります。興味のある方はご覧ください。

サンプルソースを読むうえで理解しておきたいこと

基本的にこの章の内容は読み飛ばしてOKです。サンプルソースでわからないところがあれば参照してみてください。

実装してみた

実装したサンプルソースが以下になります。

処理の概要はこんなかんじです。

  1. 学習用のデータを用意する
  2. データに対する答えを用意する
  3. 学習させる
  4. テストデータを用意する
  5. テストデータを使って回答を求める
  6. テストデータの回答を作成する
  7. 結果の出力

実行結果

実行結果は以下になります。

sample_linearsvc.pyの実行結果

見やすいように実行結果を整形しました。

10より小さい場合は「0」を10以上は「1」が設定されていますね。

スポンサーリンク

[9, 8, 4, 10, 8, 10, 6, 11, 15, 9][0, 0, 0,  1, 0,  1, 0,  1,  1, 0]