scikit-learn パイプラインを最初から最後まで
ベクトライザーとモデルをきれいに連結する
「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フィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- 実際の NLP プロジェクトを構成する
- scikit-learn パイプラインを最初から最後まで
- モデルを保存して読み込む
- まったく新しいテキストを予測する