クイック スタート:Azure Machine Learning Studio で初めてのデータ サイエンス実験を作成するQuickstart: Create your first data science experiment in Azure Machine Learning Studio

このクイック スタートでは、Azure Machine Learning Studio で、製造仕様や技術仕様などのさまざまな変数に基づいて自動車の価格を予測する機械学習の実験を作成します。In this quickstart, you create a machine learning experiment in Azure Machine Learning Studio that predicts the price of a car based on different variables such as make and technical specifications.

機械学習を初めて学ぶ場合は、ビデオ シリーズ「Data Science for Beginners (データ サイエンス入門)」をご覧になることをお勧めします。日常的な言語と概念を使用して、機械学習について説明しています。If you're brand new to machine learning, the video series Data Science for Beginners is a great introduction to machine learning using everyday language and concepts.

このクイック スタートは、次のような実験の既定のワークフローに従っています。This quickstart follows the default workflow for an experiment:

  1. モデルの作成Create a model
  2. モデルのトレーニングTrain the model
  3. モデルのスコア付けとテストScore and test the model

Studio アカウントを持っていない場合は、Studio ホームページに移動し、[Sign up here](ここでサインアップ) を選択して無料アカウントを作成します。If you don't have a Studio account, go to the Studio homepage and select Sign up here to create a free account. 無料のワークスペースには、このクイック スタートに必要なすべての機能があります。The free workspace will have all the features you need for this quickstart.

データを取得するGet the data

機械学習の実行にはまずデータが必要です。The first thing you need in machine learning is data. 使用できるサンプル データセットがいくつか Studio に含まれています。また、多数のソースからデータをインポートできます。There are several sample datasets included with Studio that you can use, or you can import data from many sources. この例では、ワークスペースに含まれているサンプル データセットであるAutomobile price data (Raw) を使用します。For this example, we'll use the sample dataset, Automobile price data (Raw), that's included in your workspace. このデータセットには、製造仕様、モデル仕様、技術仕様、価格などの情報を含む、さまざまな個別の自動車のエントリが含まれています。This dataset includes entries for various individual automobiles, including information such as make, model, technical specifications, and price.

ヒント

Azure AI Galleryには、次の実験の作業コピーがあります。You can find a working copy of the following experiment in the Azure AI Gallery. 初めてのデータ サイエンス実験 - 自動車価格の予測 」 にアクセスし、[Open in Studio](Studio で開く) をクリックして Machine Learning Studio ワークスペースに実験のコピーをダウンロードしてください。Go to Your first data science experiment - Automobile price prediction and click Open in Studio to download a copy of the experiment into your Machine Learning Studio workspace.

データセットを実験に取得する方法を次に示します。Here's how to get the dataset into your experiment.

  1. Machine Learning Studio ウィンドウの下部にある [+NEW](+新規) をクリックして新しい実験を作成します。Create a new experiment by clicking +NEW at the bottom of the Machine Learning Studio window. [EXPERIMENT](実験) > [Blank Experiment](空の実験) の順に選択します。Select EXPERIMENT > Blank Experiment.

  2. 実験には既定の名前が付いており、キャンバスの上部で確認できます。The experiment is given a default name that you can see at the top of the canvas. このテキストを選択し、「Automobile price prediction」(自動車価格の予測) など意味のある名前に変更します。Select this text and rename it to something meaningful, for example, Automobile price prediction. 名前は一意でなくてもかまいません。The name doesn't need to be unique.

    実験の名前の変更

  3. 実験キャンバスの左側には、データセットとモジュールのパレットがあります。To the left of the experiment canvas is a palette of datasets and modules. このパレットの上部にある検索ボックスに「automobile」と入力し、Automobile price data (Raw) というラベルが付いたデータセットを検索します。Type automobile in the Search box at the top of this palette to find the dataset labeled Automobile price data (Raw). このデータセットを実験キャンバスにドラッグします。Drag this dataset to the experiment canvas.

    automobile データセットの検索と実験キャンバスへのドラッグ

このデータの中身を確認するには、automobile データセットの下部にある出力ポートをクリックし、[Visualize](視覚化) を選択します。To see what this data looks like, click the output port at the bottom of the automobile dataset then select Visualize.

出力ポートをクリックし、[Visualize](視覚化) を選択

ヒント

データセットとモジュールには、小さな円で表される入力ポートと出力ポートがあります (入力ポートは上部、出力ポートは下部)。Datasets and modules have input and output ports represented by small circles - input ports at the top, output ports at the bottom. 実験を通じてデータのフローを作成するには、1 つのモジュールの出力ポートを別のモジュールの入力ポートに接続します。To create a flow of data through your experiment, you'll connect an output port of one module to an input port of another. いつでもデータセットまたはモジュールの出力ポートをクリックして、データ フローのその時点でデータがどのようになっているかを確認できます。At any time, you can click the output port of a dataset or module to see what the data looks like at that point in the data flow.

このデータセットでは、各行が自動車を表していて、各自動車に関連付けられている変数は列として表示されます。In this dataset, each row represents an automobile, and the variables associated with each automobile appear as columns. 特定の自動車の変数を使用して、右端の列で価格が予測されます ("price" という名前の列 26)。We'll predict the price in far-right column (column 26, titled "price") using the variables for a specific automobile.

データ視覚化ウィンドウでの自動車データの表示

右上隅の "x" をクリックして、視覚化ウィンドウを閉じます。Close the visualization window by clicking the "x" in the upper-right corner.

データを準備するPrepare the data

通常、データセットには、分析前にある程度の前処理が必要です。A dataset usually requires some preprocessing before it can be analyzed. さまざまな行の中に、値が不足している列があります。You might have noticed the missing values present in the columns of various rows. モデルがデータを正しく分析するには、これらの不足値を整理する必要があります。These missing values need to be cleaned so the model can analyze the data correctly. 値が不足している行をすべて削除します。We'll remove any rows that have missing values. また、不足している値の大部分は、normalized-losses 列にあります。したがって、モデルからこの列も一緒に除外します。Also, the normalized-losses column has a large proportion of missing values, so we'll exclude that column from the model altogether.

ヒント

不足している値を入力データから整理することが、ほとんどのモジュールを使用するための前提条件となっています。Cleaning the missing values from input data is a prerequisite for using most of the modules.

まず、normalized-losses 列を完全に削除するモジュールを追加します。First, we add a module that removes the normalized-losses column completely. 次に、データが不足している行を削除する別のモジュールを追加します。Then we add another module that removes any row that has missing data.

  1. モジュールのパレットの上部にある検索ボックスに「select columns」と入力し、Select Columns in Dataset (データセットの列を選択する) モジュールを見つけます。Type select columns in the search box at the top of the module palette to find the Select Columns in Dataset module. その後、それを実験キャンバスにドラッグします。Then drag it to the experiment canvas. このモジュールを使用すると、モデルに含める、またはモデルから除外するデータの列を選択できます。This module allows us to select which columns of data we want to include or exclude in the model.

  2. Automobile price data (Raw) データセットの出力ポートを、Select Columns in Dataset の入力ポートに接続します。Connect the output port of the Automobile price data (Raw) dataset to the input port of the Select Columns in Dataset.

    実験キャンバスへの "Select Columns in Dataset" モジュールの追加と接続

  3. Select Columns in Dataset モジュールを選択し、[Properties](プロパティ) ウィンドウの [Launch column selector](列セレクターの起動) をクリックします。Click the Select Columns in Dataset module and click Launch column selector in the Properties pane.

    • 左側の [With rules](規則を使用) をクリックしますOn the left, click With rules

    • [Begin With](次で始まる)[All columns](すべての列) をクリックします。Under Begin With, click All columns. これらの規則により、Select Columns in Dataset では、すべての列がフィルターを通過します (これから除外する列を除く)。These rules direct Select Columns in Dataset to pass through all the columns (except those columns we're about to exclude).

    • ドロップダウンから [Exclude](除外)[column names](列名) を選択し、テキスト ボックスの内側をクリックします。From the drop-downs, select Exclude and column names, and then click inside the text box. 列の一覧が表示されます。A list of columns is displayed. [normalized-losses] を選択すると、テキスト ボックスに追加されます。Select normalized-losses, and it's added to the text box.

    • (右下の) チェック マーク (OK) ボタンをクリックして列セレクターを閉じます。Click the check mark (OK) button to close the column selector (on the lower right).

      列セレクターの起動と "normalized-losses" 列の除外

      これで、Select Columns in Datasetのプロパティ ウィンドウに、normalized-losses 以外のデータセットのすべての列がフィルターを通過することが示されます。Now the properties pane for Select Columns in Dataset indicates that it will pass through all columns from the dataset except normalized-losses.

      "normalized-losses" 列が除外されたことを示すプロパティ ウィンドウ

      ヒント

      モジュールをダブルクリックして、テキストを入力すると、モジュールにコメントを追加できます。You can add a comment to a module by double-clicking the module and entering text. これで、実験でモジュールがどのような処理をするのかがひとめでわかります。This can help you see at a glance what the module is doing in your experiment. この例では、Select Columns in Dataset モジュールをダブルクリックして、「Exclude normalized losses」(normalized losses を除外する) というコメントを入力します。In this case double-click the Select Columns in Dataset module and type the comment "Exclude normalized losses."

      モジュールをダブルクリックしてコメントを追加

  4. Clean Missing Data (不足しているデータを整理する) モジュールを実験キャンバスにドラッグして、Select Columns in Dataset モジュールに接続します。Drag the Clean Missing Data module to the experiment canvas and connect it to the Select Columns in Dataset module. [Properties](プロパティ) ウィンドウで、[Cleaning mode](整理モード) の下の [Remove entire row](行全体を削除) を選択します。In the Properties pane, select Remove entire row under Cleaning mode. これらのオプションにより、Clean Missing Data では値が不足している行が削除され、データが整理されます。These options direct Clean Missing Data to clean the data by removing rows that have any missing values. モジュールをダブルクリックして、「Remove missing value rows」(値が不足している行を削除する) というコメントを入力します。Double-click the module and type the comment "Remove missing value rows."

    "Clean Missing Data" モジュールの [Cleaning Mode](整理モード) を [Remove entire row](行全体を削除) に設定

  5. ページの下部の [RUN](実行) をクリックして、実験を実行します。Run the experiment by clicking RUN at the bottom of the page.

    実験の実行が終了すると、すべてのモジュールに緑色のチェック マークが付けられ、正常に完了したことが示されます。When the experiment has finished running, all the modules have a green check mark to indicate that they finished successfully. 右上隅にも [Finished running](実行が完了しました) というステータスが表示されます。Notice also the Finished running status in the upper-right corner.

    実行後の実験の状態

ヒント

ここで実験を実行したのはなぜでしょうか。Why did we run the experiment now? 実験を実行することで、データの列の定義がデータセットからSelect Columns in Dataset モジュールとClean Missing Data モジュールを介して渡されます。By running the experiment, the column definitions for our data pass from the dataset, through the Select Columns in Dataset module, and through the Clean Missing Data module. これにより、Clean Missing Data に接続するすべてのモジュールに、この同じ情報が設定されることになります。This means that any modules we connect to Clean Missing Data will also have this same information.

これで、データが整理されました。Now we have clean data. 整理したデータセットを表示するには、Clean Missing Data モジュールの左側の出力ポートをクリックし、[Visualize](視覚化) を選択します。If you want to view the cleaned dataset, click the left output port of the Clean Missing Data module and select Visualize. normalized-losses 列がもう含まれていないことと、値が不足していないことが確認できます。Notice that the normalized-losses column is no longer included, and there are no missing values.

データが整理できたので、予測モデルで使用する特徴を指定する準備が整いました。Now that the data is clean, we're ready to specify what features we're going to use in the predictive model.

特徴を定義するDefine features

機械学習において 「特徴」 とは、関心のある項目を個別に測定できるプロパティです。In machine learning, features are individual measurable properties of something you’re interested in. この例のデータセットでは、各行が 1 台の車を表し、各列がその車の特徴に対応します。In our dataset, each row represents one automobile, and each column is a feature of that automobile.

予測モデルの作成に役立つ特徴を見つけるには、解決する問題に関する実験と知識が必要です。Finding a good set of features for creating a predictive model requires experimentation and knowledge about the problem you want to solve. 対象を予測するにあたり、一部の特徴は他のものよりも有益です。Some features are better for predicting the target than others. 他の特徴と強い相関関係があって削除できる特徴もあります。Some features have a strong correlation with other features and can be removed. たとえば、city-mpg と highway-mpg は密接に関連しているため、予測に大きな影響を及ぼすことなく一方を残して他方を削除することができます。For example, city-mpg and highway-mpg are closely related so we can keep one and remove the other without significantly affecting the prediction.

ここでは、データセット内の特徴のサブセットを使用するモデルを構築します。Let's build a model that uses a subset of the features in our dataset. 後でこの手順に戻って別の特徴を選択し、もう一度実験を実行して、より優れた結果が得られるかどうかを確認できます。You can come back later and select different features, run the experiment again, and see if you get better results. しかしまずは、次の特徴を試してみましょう。But to start, let's try the following features:

make, body-style, wheel-base, engine-size, horsepower, peak-rpm, highway-mpg, price
  1. 別のSelect Columns in Dataset モジュールを、実験キャンバスにドラッグします。Drag another Select Columns in Dataset module to the experiment canvas. Clean Missing Data モジュールの左側の出力ポートを、Select Columns in Dataset モジュールの入力に接続します。Connect the left output port of the Clean Missing Data module to the input of the Select Columns in Dataset module.

    "Select Columns in Dataset" モジュールを "Clean Missing Data" モジュールに接続

  2. モジュールをダブルクリックして、「Select features for prediction」と入力します。Double-click the module and type "Select features for prediction."

  3. [Properties](プロパティ) ウィンドウで、[Launch column selector](列セレクターの起動) をクリックします。Click Launch column selector in the Properties pane.

  4. [With rules](規則を使用) をクリックします。Click With rules.

  5. [Begin With](次で始まる)[No columns](列なし) をクリックします。Under Begin With, click No columns. フィルター行で、[Include](含める)[column names](列名) を選択してから、テキスト ボックス中の列名の一覧を選択します。In the filter row, select Include and column names and select our list of column names in the text box. このフィルターによりこのモジュールでは、指定した列を除いて列 (特徴) が渡されなくなります。This filter directs the module to not pass through any columns (features) except the ones that we specify.

  6. チェック マーク (OK) ボタンをクリックします。Click the check mark (OK) button.

    予測に含める列 (特徴) の選択

このモジュールにより、フィルター処理されたデータセットが生成されます。このデータセットには、次の手順で使用する学習アルゴリズムに渡す特徴のみが含まれます。This module produces a filtered dataset containing only the features we want to pass to the learning algorithm we'll use in the next step. 後でこの手順に戻り、別の特徴を選択して再度実行することができます。Later, you can return and try again with a different selection of features.

アルゴリズムを選択して、適用するChoose and apply an algorithm

データが準備できました。予測モデルの構築に必要なのは、トレーニングとテストです。Now that the data is ready, constructing a predictive model consists of training and testing. このデータを使用してモデルのトレーニングとテストを行い、価格を予測する精度を確認します。We'll use our data to train the model, and then we'll test the model to see how closely it's able to predict prices.

"分類" と "回帰" は、2 種類の教師あり機械学習アルゴリズムです。Classification and regression are two types of supervised machine learning algorithms. 分類は、色 (赤、青、または緑) のような定義された一連のカテゴリから答えを予測するものです。Classification predicts an answer from a defined set of categories, such as a color (red, blue, or green). 回帰は、数値を予測する目的で使用されます。Regression is used to predict a number.

予測したい価格は数値であるため、回帰アルゴリズムを使用することになります。Because we want to predict price, which is a number, we'll use a regression algorithm. この例では "線形回帰" モデルを使用します。For this example, we'll use a linear regression model.

価格が含まれた一連のデータを指定してモデルをトレーニングします。We train the model by giving it a set of data that includes the price. モデルによってデータがスキャンされ、自動車の特徴と価格の相関関係が検出されます。The model scans the data and look for correlations between an automobile's features and its price. 次にモデルのテストを行います。よく知っている自動車の特徴のセットをモデルに与え、モデルがその既知の価格をどの程度の精度で予測できるか確認します。Then we'll test the model - we'll give it a set of features for automobiles we're familiar with and see how close the model comes to predicting the known price.

データは別個のトレーニング データセットとテスト データセットに分割して、モデルのトレーニングとテストの両方に使用します。We'll use our data for both training the model and testing it by splitting the data into separate training and testing datasets.

  1. Split Data (データを分割する) モジュールを選択して実験キャンバスにドラッグし、最後のSelect Columns in Dataset モジュールに接続します。Select and drag the Split Data module to the experiment canvas and connect it to the last Select Columns in Dataset module.

  2. Split Data モジュールをクリックして選択します。Click the Split Data module to select it. (キャンバス右側の [Properties](プロパティ) ウィンドウにある) [Fraction of rows in the first output dataset](最初の出力データセットにおける列の割合) を探して 0.75 に設定します。Find the Fraction of rows in the first output dataset (in the Properties pane to the right of the canvas) and set it to 0.75. このようにして、データの 75% をモデルのトレーニングに使用し、25% をテスト用に保持しておきます。This way, we'll use 75 percent of the data to train the model, and hold back 25 percent for testing.

    "Split Data" モジュールの分割の割合を 0.75 に設定

    ヒント

    [Random seed](ランダム シード) パラメーターを変更して、トレーニング用とテスト用に異なるランダムなサンプルを作成できます。By changing the Random seed parameter, you can produce different random samples for training and testing. このパラメーターでは、擬似乱数ジェネレーターによる生成を制御できます。This parameter controls the seeding of the pseudo-random number generator.

  3. 実験を実行します。Run the experiment. 実験を実行すると、Select Columns in Dataset モジュールとSplit Data モジュールによって、次に追加するモジュールに列定義が渡されます。When the experiment is run, the Select Columns in Dataset and Split Data modules pass column definitions to the modules we'll be adding next.

  4. 学習アルゴリズムを選ぶには、キャンバスの左側にあるモジュールのパレットの [Machine Learning](機械学習) カテゴリを展開してから、[Initialize Model](モデルの初期化) を展開します。To select the learning algorithm, expand the Machine Learning category in the module palette to the left of the canvas, and then expand Initialize Model. これにより、機械学習アルゴリズムの初期化に使用できるモジュールのカテゴリが複数表示されます。This displays several categories of modules that can be used to initialize machine learning algorithms. この実験では、[Regression](回帰) カテゴリにあるLinear Regression (線形回帰) モジュールを選択し、実験キャンバスにドラッグします For this experiment, select the Linear Regression module under the Regression category, and drag it to the experiment canvas. (パレットの検索ボックスで「linear regression」と入力してモジュールを探すこともできます)。(You can also find the module by typing "linear regression" in the palette Search box.)

  5. Train Model (モデルをトレーニングする) モジュールを見つけて、実験にドラッグします。Find and drag the Train Model module to the experiment canvas. Linear Regression モジュールの出力を、Train Model モジュールの左側の入力に接続します。次に、Split Dataモジュールのトレーニング データ出力 (左側のポート) を、Train Model モジュールの右側の入力に接続します。Connect the output of the Linear Regression module to the left input of the Train Model module, and connect the training data output (left port) of the Split Data module to the right input of the Train Model module.

    "Linear Regression" モジュールと "Split Data" モジュールの両方に "Train Model" モジュールを接続

  6. Train Model モジュールを選択して、[Properties](プロパティ) ウィンドウの [Launch column selector](列セレクターの起動) をクリックし、price 列を選択します。Click the Train Model module, click Launch column selector in the Properties pane, and then select the price column. price が、作成しているモデルで予測する値です。Price is the value that our model is going to predict.

    列セレクターで [Available columns](使用できる列) の一覧から [Selected columns](選択した列) の一覧に price 列を移動させることで選択します。You select the price column in the column selector by moving it from the Available columns list to the Selected columns list.

    "Train Model" モジュールで price 列を選択

  7. 実験を実行します。Run the experiment.

新しい自動車のデータをスコア付けして価格を予測するのに使用できる、トレーニング済みの回帰モデルができました。We now have a trained regression model that can be used to score new automobile data to make price predictions.

実行後の実験の状態

新しい自動車の価格を予測するPredict new automobile prices

これまでにデータの 75% を使用してモデルをトレーニングしました。ここからは残りの 25% のデータにスコアを付け、モデルの精度を確認します。Now that we've trained the model using 75 percent of our data, we can use it to score the other 25 percent of the data to see how well our model functions.

  1. Score Model (モデルをスコア付けする) モジュールを探して、実験キャンバスにドラッグします。Find and drag the Score Model module to the experiment canvas. Train Model モジュールの出力を、Score Model の左側の入力ポートに接続します。Connect the output of the Train Model module to the left input port of Score Model. Split Data モジュールのテスト データの出力 (右側のポート) をScore Model の右側の入力ポートに接続します。Connect the test data output (right port) of the Split Data module to the right input port of Score Model.

    "Train Model" モジュールと "Split Data" モジュールの両方に "Score Model" モジュールを接続

  2. 実験を実行し、Score Model の出力ポートをクリックして、[Visualize](視覚化) を選択します。Score Model モジュールの出力が表示されます。Run the experiment and view the output from the Score Model module by clicking the output port of Score Model and select Visualize. 出力に、予測された価格の値と、テスト データからの既知の値が表示されます。The output shows the predicted values for price and the known values from the test data.

    "Score Model" モジュールの出力

  3. 最後に、結果の品質をテストします。Finally, we test the quality of the results. Evaluate Model (モデルを評価する) モジュールを選択して実験キャンバスにドラッグし、Score Model モジュールの出力を、Evaluate Model の左側の入力に接続します。Select and drag the Evaluate Model module to the experiment canvas, and connect the output of the Score Model module to the left input of Evaluate Model. 最終的な実験は次のようになります。The final experiment should look something like this:

    最終的な実験

  4. 実験を実行します。Run the experiment.

Evaluate Model モジュールの出力を表示するには、出力ポートをクリックして、[Visualize](視覚化) を選択します。To view the output from the Evaluate Model module, click the output port, and then select Visualize.

実験の評価結果

作成したモデルに対して、以下の統計値が表示されます。The following statistics are shown for our model:

  • Mean Absolute Error (MAE、平均絶対誤差):絶対誤差の平均です (誤差 とは、予測された値と実際の値との差です)。Mean Absolute Error (MAE): The average of absolute errors (an error is the difference between the predicted value and the actual value).
  • Root Mean Squared Error (RMSE、二乗平均平方根誤差):テスト データセットに対して実行した予測の二乗誤差平均の平方根です。Root Mean Squared Error (RMSE): The square root of the average of squared errors of predictions made on the test dataset.
  • Relative Absolute Error (相対絶対誤差):実際の値とすべての実際の値の平均との絶対差を基準にした絶対誤差の平均です。Relative Absolute Error: The average of absolute errors relative to the absolute difference between actual values and the average of all actual values.
  • Relative Squared Error (相対二乗誤差):実際の値とすべての実際の値の平均との二乗差を基準にした二乗誤差の平均です。Relative Squared Error: The average of squared errors relative to the squared difference between the actual values and the average of all actual values.
  • Coefficient of Determination (決定係数):R-2 乗値ともいいます。どの程度モデルが高い精度でデータと適合するかを示す統計指標です。Coefficient of Determination: Also known as the R squared value, this is a statistical metric indicating how well a model fits the data.

この誤差の統計情報は、それぞれ小さいほど良いとされます。For each of the error statistics, smaller is better. 値が小さいほど、予測が実際の値により近いことを示します。A smaller value indicates that the predictions more closely match the actual values. Coefficient of Determinationでは、値が 1 (1.0) に近づくほど、予測の精度が高くなります。For Coefficient of Determination, the closer its value is to one (1.0), the better the predictions.

リソースのクリーンアップClean up resources

この記事を使用して作成したリソースが不要になった場合は、料金の発生を避けるために削除してください。If you no longer need the resources you created using this article, delete them to avoid incurring any charges. 方法については、製品内ユーザー データのエクスポートと削除に関するページを参照してください。Learn how in the article, Export and delete in-product user data.

次の手順Next steps

このクイック スタートでは、サンプル データセットを使用して、簡単な実験を作成しました。In this quickstart, you created a simple experiment using a sample dataset. モデルを作成してデプロイするプロセスをさらに詳しく調べるには、予測ソリューションのチュートリアルに進んでください。To explore the process of creating and deploying a model in more depth, continue to the predictive solution tutorial.