Logistic-regression-in-python-restructuring-data

提供:Dev Guides
移動先:案内検索

Pythonでのロジスティック回帰-データの再構築

組織が調査を実施するときはいつでも、顧客から可能な限り多くの情報を収集しようとします。この情報は、後で何らかの形で組織に役立つと考えています。 現在の問題を解決するには、問題に直接関連する情報を取得する必要があります。

すべてのフィールドを表示する

ここで、便利なデータフィールドを選択する方法を見てみましょう。 コードエディターで次のステートメントを実行します。

In [6]: print(list(df.columns))

次の出力が表示されます-

['age', 'job', 'marital', 'education', 'default', 'housing', 'loan',
'contact', 'month', 'day_of_week', 'duration', 'campaign', 'pdays',
'previous', 'poutcome', 'emp_var_rate', 'cons_price_idx', 'cons_conf_idx',
'euribor3m', 'nr_employed', 'y']

出力には、データベース内のすべての列の名前が表示されます。 最後の列「y」は、この顧客が銀行に定期預金を持っているかどうかを示すブール値です。 このフィールドの値は、「y」または「n」のいずれかです。 データの一部としてダウンロードされたbanks-name.txtファイルの各列の説明と目的を読むことができます。

不要なフィールドを排除する

列名を調べると、一部のフィールドが目前の問題にとって重要ではないことがわかります。 たとえば、 month、day_of_week 、campaignなどのフィールド。 役に立たない これらのフィールドをデータベースから削除します。 列をドロップするには、以下に示すようにドロップコマンドを使用します-

In [8]: #drop columns which are not needed.
   df.drop(df.columns[[axis = 1, inplace = True)

このコマンドは、列番号0、3、7、8などをドロップすることを示しています。 インデックスが適切に選択されていることを確認するには、次のステートメントを使用します-

In [7]: df.columns[9]
Out[7]: 'day_of_week'

これは、指定されたインデックスの列名を出力します。

不要な列を削除した後、headステートメントでデータを調べます。 画面出力はここに示されています-

In [9]: df.head()
Out[9]:
      job   marital  default  housing  loan  poutcome    y
0     blue-collar    married  unknown yes no nonexistent 0
1     technician     married  no    no    no nonexistent 0
2     management     single   no    yes   no success     1
3     services       married  no    no    no nonexistent 0
4     retired        married  no    yes   no success     1

現在、データの分析と予測に重要であると感じるフィールドのみがあります。 *データサイエンティスト*の重要性は、このステップで明らかになります。 データサイエンティストは、モデル構築に適切な列を選択する必要があります。

たとえば、 job のタイプは、一見しただけではデータベースに含めるように全員を納得させることはできませんが、非常に有用なフィールドになります。 すべてのタイプの顧客がTDを開くわけではありません。 低所得者はTDを開かないかもしれませんが、高所得者は通常、TDに余分なお金を駐車します。 したがって、このシナリオでは、ジョブのタイプが非常に重要になります。 同様に、分析に関連すると思われる列を慎重に選択します。

次の章では、モデルを構築するためのデータを準備します。