アルゴリズムについて。Learningの中のAprioriについて。内容は、Udemyの「【世界で74万人が受講】基礎から理解し、Pythonで実装!機械学習26のアルゴリズムを理論と実践を通じてマスターしよう」で学んだ内容を自分用備忘録としてまとめたものです。(アソシエーション・ルール・ラーニング)とは、「ある特定の事象Aが起こったときに、事象Bが起こる確率」すなわち、事象Aと事象Bの相関性を分析する手法。マーケティング分野などで、たとえば、紙オムツを買う客はビールも買っている=紙オムツとビールには相関性がある、というような分析に使われる。Learningの手法の一つが、今回のAprioriである。あるお店に5人のお客さんが買い物に来る場合を想定し、それぞれ次のような買い物をしたとする。牛乳を買った人がたまごも買う牛乳を買った人がのりも買うたまごを買った人がのりも買う納豆を買った人がたまごも買うといった相関性があることが直感的にも理解できる。先程の例を、数式を用いてもう少し定量的に分析する。先程の例で、牛乳とたまごの相関性を牛乳を基準にして分析する場合を考える。supportたとえば、そのお店に100人の人が来店したとする。そのうち、10人が牛乳を買い、たまごを買った人も10人。牛乳とたまごの両方を買った人が3人いたとする。このとき、3つの指標は以下の通りになる。すべてのデータの数)*このとき、例えばあまり買われていない商品を基準とすると最終的な分析結果が不十分なものとなることがある。supportという値を設定し、一定の値以上のsupportになるデータを対象とするように絞り込みを行うことが一般的。confidenceの値からliftが下記のように求められる。support)このliftの値が大きければ大きいほど、牛乳を買った人がたまごも買う可能性が高い、という結果と言える。上記のような計算をPythonを用いて実装していく。データセットは、次のようなサンプルデータを用いる。サンプルcsvファイルまずは使用するライブラリのインストールから。apyori今回は、scikit-learnやkerasなどではなく、apyoriというライブラリを用いてAprioriを実装していく。次に必要なライブラリをインポートしていく。aprioriライブラリの準備ができたら、次にデータの前処理に入る。次にデータの前処理を行う。先程用意したサンプルcsvファイルを読み込み、それぞれのデータをPythonのリスト型に格納していく。Noneは対象のデータに見出しがなく、1行目からデータとして読み込んでいく場合に設定する。Apriori分析において必須というわけではない。#リスト内包表記を使ってpandasで読み込んだデータをリスト型に格納していく。これでデータの前処理は完了。–データの前処理ができたので、いよいよモデルの訓練を行う。min_supportは、上述の通り、ある一定水準以上の有効性を持つデータに絞るために設定する。min_supportの決め方は、データによって異なるが、たとえばデータがあるお店の1週間の売上データだとすると、1週間に1個しか売れていない商品は有効性が低いだろう。一方で、毎日朝昼晩それぞれの時間帯で1個以上売れている商品であれば、ある程度の有効性が認められる可能性がある、と判断されれば、21÷全データ数の値をmin_supportの値として設定する、というような感じで決めることもできる。min_confidenceは、confidenceの最小値。ある程度直感的に決めることも可能。今回は仮に0.2(=20%)と設定した。max_lengthは、データの数。max_lengthとも2を設定している。min_liftについては、最終的な結果を見ながら適宜調整していく方法もある。#結果をリスト型に変換これを実行し、結果を出力すると、次のような結果が得られる。lift=4.506672147735896)])]これで、モデルの訓練と結果の表示が完了。最後にモデル訓練の結果を整理して表示していく。'Lift'])このコードを実行することで、モデルが計算した結果をpandasのDataFrame型で整理して出力することができる。この整理した結果を用いて、マーケティングなどの分析に応用していく。機械学習アルゴリズム備忘録。今回はディープラーニングの実装編。Pythonによる実装方法を記載していきます。–Python機械学習Udemy学習備忘録。今回は線形判別分析を使った次元削減について。今回は、初心者でもできるPythonでの作業自動化について、Pythonを学習中の方、これからプログラミングやPythonを学ぼうと思っている方に向けて、実例を交えながらわかりやすく解説していきたいと思います。プログラミング【Python/Django】Ajaxと配列処理の実装方法について【備忘録】Python処理結果を配列を受け取り、jQueryで処理し、Ajaxを実装する方法についての備忘録。似ている画像トップ3!みたいなプログラムを作るのにも使えそう。コメントをキャンセルメールアドレスが公開されることはありません。※サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。上に表示された文字を入力してください。ホームプログラミングProfileクラケンバイク、バスケ、お酒、そして、ぶりぶりざえもんを愛する独身アラサーサラリーマンです。関西の国立大学を卒業。商社にてトレーディング業務に従事。アメリカ駐在で年間100億円以上の取扱高を持つチームでマネジメントも経験。アメリカ・ブラジルなどの北米・南米のみならず、アジアも含めて、世界を飛び回る商社マン。中心に日々の生活の中で学んだ様々なことを発信し、皆さんと一緒に自由で豊かな人生を目指します。Policyお問い合わせフォームホーム検索トップサイドバーProfileクラケンバイク、バスケ、お酒、そして、ぶりぶりざえもんを愛する独身アラサーサラリーマンです。関西の国立大学を卒業。商社にてトレーディング業務に従事。アメリカ駐在で年間100億円以上の取扱高を持つチームでマネジメントも経験。アメリカ・ブラジルなどの北米・南米のみならず、アジアも含めて、世界を飛び回る商社マン。中心に日々の生活の中で学んだ様々なことを発信し、皆さんと一緒に自由で豊かな人生を目指します。タイトルとURLをコピーしました。