NLP Academy · レッスン

scikit-learn パイプラインを最初から最後まで

ベクトライザーとモデルをきれいに連結する

レッスン 2/413 ステップ

「scikit-learn パイプラインを最初から最後まで」はCoddyKit上の無料NLP Academyレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはNLP Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 NLP Academyコースには全4レッスンが含まれています。

パイプラインとは

パイプラインは、データのクリーニング、ベクトル化、分類という手順を1つのオブジェクトにつなぎます。1回呼び出すだけで、すべての手順が正しい順序で実行されます。🔗

手順をまとめる理由

ベクトル化や学習を手作業で行うと、バグが入りやすくなります。パイプラインを使えば手順が一体化され、互いにずれることがありません。

部品をインポートする

ベクトル化器と分類器が必要です。Pipelineクラスと、つなげたい2つのコンポーネントをインポートしてください。

from sklearn.pipeline import Pipeline
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.linear_model import LogisticRegression

パイプラインを構築する

stepsを名前付きのペアとして列挙します。最初の手順でテキストを特徴量に変換し、最後の手順で予測を行います。

pipe = Pipeline([
    ("tfidf", TfidfVectorizer()),
    ("clf", LogisticRegression())
])

生テキストで学習する

生テキストとラベルを指定してfitを呼び出します。パイプラインがベクトル化と学習を1行で行うため、手作業の手順は必要ありません。

pipe.fit(X_train, y_train)

1回の呼び出しで予測する

新しいテキストを分類するにはpredictを呼び出します。同じベクトル化器が自動的に再利用されるため、学習データとテストデータの処理が完全に一貫します。

preds = pipe.predict(X_test)

データリークを防ぐ

パイプラインは学習データだけから語彙を学習します。これにより、テストデータの情報が学習に紛れ込み、スコアを実際より高くしてしまうデータリークを防げます。

パイプラインを評価する

scoreを使うと、保持しておいたデータに対する正解率を1回の呼び出しで取得できます。テストテキストのベクトル化はパイプラインが行います。

acc = pipe.score(X_test, y_test)
print(acc)

チェーン全体を調整する

グリッドサーチでは、どの手順のパラメーターでも調整できます。コンポーネントの内部にアクセスするには、手順名に続けて二重アンダースコアを付けてパラメーター名を指定します。

params = {"tfidf__ngram_range": [(1,1), (1,2)],
          "clf__C": [0.1, 1, 10]}

安全に交差検証する

パイプライン全体を交差検証に渡します。各フォールドでベクトル化器が再学習されるため、すべてのスコアが本当に未知のデータを反映します。

from sklearn.model_selection import cross_val_score
scores = cross_val_score(pipe, X, y, cv=5)

デプロイする1つのオブジェクト

最大の利点は、学習済みパイプラインが単一のオブジェクトになることです。1つの単位として保存・読み込みでき、推論は学習時と完全に一致します。

簡単な確認

パイプラインがもたらす主な安全上の利点を考えてみてください。

まとめ

ベクトル化器と分類器を1つのパイプラインにつなぎ、生テキストで学習し、1行で予測し、チェーンを調整して、データリークを防ぎました。🎉

無料で開始

AI チューターと学ぶ Python — 無料

ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。

コース
30
レッスン
120

よくある質問

「scikit-learn パイプラインを最初から最後まで」レッスンは無料ですか?

はい。「scikit-learn パイプラインを最初から最後まで」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、NLP Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 NLP Academyコースには全4レッスンが含まれています。

「scikit-learn パイプラインを最初から最後まで」で何を学びますか?

ベクトライザーとモデルをきれいに連結する ブラウザで直接実行するハンズオンコードでNLP Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

NLP Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのNLP Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。

「scikit-learn パイプラインを最初から最後まで」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このNLP Academyレッスンでコードを書いて実行できますか?

はい。すべてのNLP Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. 実際の NLP プロジェクトを構成する
  2. scikit-learn パイプラインを最初から最後まで
  3. モデルを保存して読み込む
  4. まったく新しいテキストを予測する
← NLP Academyに戻る