求めたい情報や分類したいものになります。P(rain)=0.1P(rain)=0.1」になりますね!ナイーブベイズとは「ナイーブベイズアルゴリズム」とは、ベイズの定理を元に与えられたデータから、最も確からしいものはどれかを検証するアルゴリズムです。わかりやすく、文書の分類で考えてみましょう。与えられた文書を、「経済・スポーツ・芸能」などのカテゴリに分けるとします。これら各カテゴリの文書に、あらかじめ、出現する単語の頻度を学習させておくのです。ビジネス」などの単語が、出現しやすくなります。単語が、文書に出現しやすくなりますね。与えられた文書に出現する単語を解析し、このデータを元に、どのカテゴリの文書に最もふさわしいかを出力していくわけです。ナイーブベイズアルゴリズムには課題もただし、ナイーブベイズアルゴリズムは、現実世界の問題へは応用しにくいです...。いうのも、「それぞれのデータは独立である」という、仮定に基づいているため。比較的簡単なアルゴリズムで、計算リソースも少なく済むので、条件を満たすようなデータに対しては十分に使えます。迷惑メール分類では実際に、迷惑メールの分類を行います。「sms-spam-collection-dataset.zip」。kaggle:学習データ】https://www.kaggle.com/uciml/sms-spam-collection-dataset以下にコードを載せます。予測結果の表示45print(model.predict(input_vec))46print(cut_data['label'])まずは与えられたデータで、「スパムメール」と「通常メール」に含まれる、単語の頻度を数えます。それを元に、単語のベクトル化を行います。単語の出現頻度に関するデータをベクトル化させることで、実際に学習をして、分類器を作成していくのです。作成した分類器に、あらかじめ分離しておいた、予測用のデータを渡します。結果は、「5/5」で正解となりました。パーセプトロン「パーセプトロン」とは、現在のディープラーニング分野の大元となるアルゴリズムです。このアルゴリズムでは、複数の入力に対し、重みをつけて学習させておいたバイアスを加算します。「0」か「1」を出力する、単層ニューラルネットワークです。式で表すと、以下のようになります。(出力)=b+x1w1+x1w1+x1w1+......(出力)=b+x_1w_1+x_1w_1+x_1w_1+......それぞれの意味は、次の通り。b:バイアスx_n:入力w_n:x_nにかかる重み迷惑メール分類では、パーセプトロンを使って、迷惑メールの分類をしていきましょう!以下にコードを載せます。予測結果の表示9print(model.predict(input_vec))10print(cut_data['label'])今回は、ナイーブベイズの時に整えたデータを、そのまま流用しました。上で説明した通り、ベクトル化した単語を入力として重みを学習し、分類器を作成します。こちらも、「5/5」で正解でした。ロジスティック回帰ロジスティック回帰は、一般化線形モデルのひとつです。基本的には、パーセプトロンと同じモデルを利用します。入力に対して、重みをつけバイアスを加えて、出力を決定するのです。具体的に、パーセプトロンとの違いは、次のとおり。予測結果の表示7print(model.predict(input_vec))8print(cut_data['label'])データは、上2つと同じものを使っています。予測テストという流れです。こちらは正解率が「4/5」で、1問だけスパムメールを、通常のメールと間違えていました...。さいごに今回は、「ナイーブベイズ」「パーセプトロン」「ロジスティック回帰」という3つの単純なアルゴリズムで、迷惑メールの分類(文書分類)を行いました!どれも簡単で扱いやすく、理解もしやすいアルゴリズムだったかと思います。精度も良かったので、2種類の文書分類程度なら、このぐらい簡単なものを使ってもいいかもしれませんね。技術力で世の中をもっと面白くエンジニア積極採用中!ライトコードでは、エンジニアを積極採用中!ライトコードでは、エンジニアを積極採用しています!社長と一杯しながらお話しする機会もご用意しております。そのほかカジュアル面談等もございますので、くわしくは採用情報をご確認ください。4拠点で事業展開するIT企業です。現在は、国内を代表する大手IT企業を取引先にもち、ITシステムの受託事業が中心。いずれも直取引で、月間PV数1億を超えるWebサービスのシステム開発・運営、インフラの構築・運用に携わっています。インターンや新卒採用も行っております。Studioモリ(エンジニア)2024.10.31immichを知ってほしいIT技術immichキムくん(エンジニア)2024.10.31ブログ一覧エンジニア大募集中!ライトコードでは、エンジニアを積極採用中です。WEBエンジニアとモバイルエンジニアは是非ご応募お待ちしております!また、フリーランスエンジニア様も大募集中です。