# 機械学習リポジトリーデータのサンプリング

このセクションでは、このチュートリアルで使われるデータのサンプルについて詳しく説明します。

このチュートリアルでは、データサイエンスを教えること、または正式なデータ分析について詳しく説明することを目的としていませんが、データのサンプルを確認するのに役立ちます。

このデータセットに関する詳細は、[UCI Machine Learning Repository(UCI機械学習リポジトリー)](https://archive.ics.uci.edu/ml/datasets/Bank+Marketing)をご覧ください。

![サンプルデータの例。](https://help.qlik.com/talend/ja-JP/components/8.0/Resources/images/developing_a_machine_learning_routine_with_talend_and_spark_04.png)

データセットには変数が10個含まれており、そのうち9個が独立変数で、1個が依存変数です:

* 独立: age、jobtype、 maritalstatus、 educationlevel、 indefault、 hasmortgage、 haspersonalloan、 numcampaigncalls、priorcampaignoutcome
* 依存: conversion

独立変数(機能変数としても知られている)は、結果の予測に使用されます。依存変数(またはターゲット変数)は、予測したいものです。上記のデータサンプルは、デシジョンツリーモデルの学習に必要な特徴とターゲット変数が含まれるタプルを示しています。データに機能の出力ベクターと既知の出力値が両方含まれることから、この学習方法は[監視学習](http://machinelearningmastery.com/supervised-and-unsupervised-machine-learning-algorithms/)と呼ばれます。

次のステップでは、トレーニングデータを使い、Sparkの機械学習ライブラリー(MLlib)を使用するデシジョンツリーモデルをビルドします。簡単に言えば、1546個のデータポイントからなるトレーニングデータを使って、特徴がどれだけターゲット変数の変換を予測できるかを判断することが目標です。

データのシェイプとディストリビューション全体を理解して、ダウンストリーム前提条件ができるだけ正確であることを確認する必要があります。以下は、この記事で使われるトレーニングデータセットの集計統計です。

![](https://help.qlik.com/talend/ja-JP/components/8.0/Resources/images/developing_a_machine_learning_routine_with_talend_and_spark_05.png)

各カテゴリー変数のレベル(はい、いいえ、失敗など)がレポートされます。数値データの場合は、四分位数がレポートされます。ターゲット変数の変換にはyesとnoという2つのレベルがあり、noの方がyesより多く表示されていることがわかります。このバランスの悪さによって、今回のデシジョンツリーのような分類器モデルを構築する際に課題がいくつかもたらされます。ただし、これらの課題とそれに関連する緩和策はこのチュートリアルの範囲外なので、ここでは説明しません。詳細は、[Decision tree accuracy: effect of unbalanced data (デシジョンツリーの精度: 不均衡データの効果)](http://www.simafore.com/blog/bid/111124/Decision-tree-accuracy-effect-of-unbalanced-data)をご覧ください。

言及しなければならない点は、構築したモデルが(conversion = no)をtrueかfalseのいずれかとして予測するということです。モデルのコンテキストで(conversion = no)をfalseと解釈すると、 (conversion = yes)はtrueになります。