ログイン後格納用テーブルを作成します。ラベル情報のカラムは末尾に追加したと想定しています。ファイルを取り込みます。用いて文書ベクトル化します。基本的に流れは前回と同じですが、使用する品詞は名詞に加え、動詞、形容詞も利用します。動詞については終止形に直したものを用います。いうデータ処理用ライブラリもデータ加工に利用します。以下のコマンドでインストールしましょう。pandasデータの前処理部分サンプルコード前処理を行うための関数部分を切り出したものを紹介します。後の処理で必要になるライブラリもここですべて読み込んでいます。count_vectorizer.get_feature_names()ここまでで、素性ベクトルへの変換ができました。次は機械学習の手法の選択です。昨今ではディープラーニングが話題になっていますが、対象とするデータ量が比較的小さい場合は選択するメリットがあまりありません。試すべき候補となります。今回はとりあえずサポートベクターマシンで実験してみましょう。その後、未知のデータが与えられた際にどちらのグループに帰属するかをを判断します。教師あり学習で、上記の例だと黒マル、白バツが学習データです。上記の例のように線形でしか境界線を決定できませんでした。カーネル法と呼ばれる手法を用いて高次元空間に写像すれば、非線形なものも直線で切ることが可能になります。今回は非線形データでも対応できるRBFカーネルを用います。モデルの学習では実際に学習データにより学習を行ってみましょう。ここではパラメータチューニングとその評価方法について説明します。パラメータチューニングコストパラメータ問題を解く際にはどの程度誤りを許容するかが問題となります。小さい場合は誤りを許容するようになります。低下する、つまり過学習を起こしてしまうので、未知の要素に対して高精度になるようにコストパラメータにしてやる必要があります。次の図のような場合だと、人間が見た場合右の方が自然な境界に見えると思います。チューニングする必要があります。このときにグリッドサーチと呼ばれる手法を用います。次の図のように、それぞれのパラメータを増減させ、全ての組み合わせを試します。荒い探索を行い、その後細かい探索を行うと良いでしょう。カーネルの場合、以下の様な範囲を探索すると良いでしょう。過学習を避けるための学習データとテストデータの分割方法です。セット分類した場合の結果を得ることができます。することで、未知のデータに対する性能を保証することができます。機械学習の場合、既知のデータが正しく分類できることよりも、未知のデータが正しく分類できるかが性能指標として重要なのです。学習部分のサンプルコードグリッドサーチ、クロスバリデーションを用いて、学習を行いモデルを構築するためのサンプルコードは以下のようになります。行った前処理済みのデータをそのまま用います。verbose=False)未知データの分類では学習結果を用いて、「ポジティブ」、「ネガティブ」という情報が未知のツイートを分類してみましょう。セットしてやらないと、同一構造の文書ベクトルにならないので、エラーとなってしまいます。u"BABYMETAL、CDショップ大賞おめでとうございます。これからも沢山の方がBABYMETALに触れる事でしょうね。音楽ってこんなにも楽しいって教えられましたもん。NHKニュース",u"BABYMETAL、CDショップ大賞おめでとうございます。これからも沢山の方がBABYMETALに触れる事でしょうね。音楽ってこんなにも楽しいって教えられましたもん。1]これでツイートのポジティブ・ネガティブを自動で判別できるようになりました。後は気になる任意の対象のツイート群に対して適用してやれば、ポジティブなツイート、ネガティブなツイートの比率が分かります。おわりに今回は機械学習によりポジティブ・ネガティブなツイートを識別することによりテキストマイニングを行うための方法を解説しました。