第14章. MLOpsと機械学習エンジニアリング
この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com
2020年に最も注目される職種のひとつがマシンラーニング・エンジニアだ。他にも、データエンジニア、データサイエンティスト、マシンラーニングサイエンティストなどが注目されている。 DevOpsのスペシャリストになることもできるが、DevOpsは振る舞いであり、DevOpsの原則は機械学習を含むあらゆるソフトウェアプロジェクトに適用できる。DevOpsの中核となるベストプラクティスを見てみよう:継続的インテグレーション、継続的デリバリ、マイクロサービス、コードとしてのインフラ、モニタリングとロギング、コミュニケーションとコラボレーションだ。どれがマシン学習に当てはまらないだろうか?
ソフトウェアエンジニアリングのプロジェクトが複雑であればあるほど、そしてマシン学習が複雑であればあるほど、DevOpsの原則が必要になる。 機械学習の予測を行うAPI以上にマイクロサービスの良い例があるだろうか? この章では、DevOpsの考え方を使って、プロフェッショナルで再現性のある方法でマシンラーニングを行うための細部に飛び込んでいこう。
マシンラーニングとは何か?
機械学習とは、アルゴリズムを使ってデータから自動的に学習するメソッドである。 主に、教師あり、半教師あり、教師なし、強化の4種類がある。
教師あり機械学習
教師ありマシン学習では、正解はすでに知られており、ラベル付けされている。 例えば、体重から身長を予測したい場合、人々の身長と重みの例を集めることができる。 身長がターゲットで、重みが特徴となる。
教師あり機械学習の例がどのようなものか見てみよう:
-
18歳の子供の身長と重量の合成記録25,000件
摂取
In[0]:
importpandasaspd
In[7]:
df=pd.read_csv("https://raw.githubusercontent.com/noahgift/\regression-concepts/master/\height-weight-25k.csv")df.head()
Out[7]:
| インデックス | 高さ-インチ | 重み-ポンド | |
|---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
電子データ処理
データを見て、何が探れるか見てみよう。
散布図
この例では、Pythonの有名なプロット・ライブラリであるseabornを使ってデータセットを可視化している。 もしインストールする必要があれば、いつでもノートブックの!pip install seaborn 。 !pip install <name of package> Colabノートブックを使っている場合は、これらのライブラリがインストールされている。高さ/重みlmプロットのグラフを見よ(図14-1)。
In[0]:
importseabornassnsimportnumpyasnp
In[9]:
sns.lmplot("Height-Inches","Weight-Pounds",data=df)
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access