機械学習データ分析2017年12月02日じょんすみす(130)19この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。こんにちは、小澤です。2017」の2日目のエントリです。今回は、もっとも基本的な分類の1つであるロジスティック回帰を実装してみます。分類問題では、データを分類するための線(決定境界という)ものを決めます。これはどういうことかというと、正解が「◯」か「×」かの二値分類を考えてみましょう。以下のデータはx軸とy軸の2つの特徴量(テーブルデータ中の列)で表されるとします。このデータに対して、例えば以下のように線を引きます。上側は0を出力するような関数を作って、0なら「◯」、1なら「×」というような出力を行うのが分類問題になります。分類問題では、この線をどのように引くかが手法ごとの特徴となります。手法によっては以下のデータのような直線ではあらわせないものを曲線などで分けるものあります。実際のデータでは、以下のような完全に分離できない状況のものがほとんどです。これを曲線で分離できる手法を使って無理やり全部分類できるようにしようとすると、学習時に利用したデータしか使えない「過学習」という状況に陥ります。機械学習では、すでに手に入っているデータで学習を行って作成したモデルを、これから入力される未知のデータに適用することでその結果を予測するということが行われます。そのため、過学習していないモデルを作成することも重要になります。ロジスティック回帰についてロジスティック回帰がどのようなものなのかは、以前解説しているので、そちらも合わせてご覧ください。Developers.IO実装してみるさて、実装してみましょう。利用するデータ今回利用するデータは、前回の冒頭でも紹介したirisとなります。ロジスティック回帰は二値分類となりますが、データセット中の品種は3種類ありますので、そのうち2種類のみを利用します(one-versus-rest法や多項ロジットモデルは利用しません)。データを確認してみます。2のいずれかが入っています。iris_data[50:]続いて、今回用に二値分類にするために、データを一部のみにします。このデータセットは50個ずつ並んでいるので、先頭50行を読み飛ばすことで後半2つの二値分類にできます。1次に、学習データとテストデータにします。先ほども書いた通り、このデータセットは正解ラベルごとに並んでいるので、分割に際して適当な位置で切ってしまうと、偏りが発生します。今回は、一度ランダムにならべかえてから前半70個を学習用、後半30個をテスト用に分割しています。iris_target[index[70:]]そのあとは、線形回帰の時と同様、データの正規化をしています。iris_sigma[j]学習さて、いよいよ学習です。言っても、ほとんどは線形回帰の時と同じです。weightをランダムな値で初期化します。1)続いて、現在のweightでの予測をします。w)))この値を元に、損失関数の計算をするのですが、今回もループ回数を固定にするため、この計算はしていません。正則化にはL2正則化を利用しています。\]をイテレーションします。最後にテストデータでの性能評価をしてみましょう。f_measure)結果は以下のようになりました(初期値がランダムのため、異なる結果になる可能性もあります)。0.8571428571428571おわりに今回は、ロジスティック回帰の実装をしてみました。一度やってみると、他の手法を実装するに際しても必要となる一連の流れが理解できるようなないようになっているかと思います。明日は、主成分分析を実装してみます。ACEの人やってます。機械学習をしたりHadoopをいじったりしてるエンジニア。〜ITエンジニアのお仕事とホンネ〜2月19日に新卒向けの会社説明会〜ITエンジニアのお仕事とホンネ〜を開催します。リモート】クラスメソッドの会社説明会を開催しますクラスメソッドでは、AWS・AI・ビッグデータ・モバイルなどの技術職や営業のメンバーとして一緒にお仕事をする仲間を大募集しています。#cmdevio新型コロナウイルスの感染拡大を受け、本イベントを延期させていただくことになりました(開催時期未定)。お申し込みいただいた皆様には大変申し訳ございませんが、何卒ご理解いただけますようよろしくお願いいたします。AWSについてライトに色んな情報交換をしましょう。カフェ店長のオカノです。使いたいときの注意点を書きました。EC2)環境において、不要な踏み台サーバをなくすことができる便利なアップデートです。環境をDockerで構築してみました。臼田佳祐295ワークフロー自動化OSSのn8nをAWS環境で建てて検証してみました。非常に期待できるサービスです。Fargateの勉強をしています。使ってみたい方は参考にしてください。洋介252SnowflakeがAWSの東京リージョン上で稼働するようになりました。データを日本に置けます。芳賀健231こんにちは!猫様の忠実なるしもべ、芳賀健です。Tokyoで開催されました。クラスメソッド株式会社が運営するAWS・iOS・HTML5に関する技術情報サイトです。