データクレンジング技術:データをクレンジングするためのシンプルで効果的な方法を学ぶ

公開: 2020-01-26

データクレンジングは、データサイエンスの重要な部分です。 不純なデータを扱うと、多くの問題が発生する可能性があります。 そして今日は、同じことについて話し合います。

データクリーニングが不可欠である理由、データ品質に影響を与える要因、およびデータをクリーンアップする方法について説明します。 これは詳細なガイドなので、後で参照できるようにブックマークしてください。

始めましょう。

目次

データクリーニングが必要な理由

データクリーニングは退屈で面白くないように見えるかもしれませんが、データサイエンスの専門家として実行しなければならない最も重要なタスクの1つです。 間違ったデータや質の悪いデータがあると、プロセスや分析に悪影響を与える可能性があります。 データが不十分な場合、恒星アルゴリズムが失敗する可能性があります。

一方、高品質のデータを使用すると、単純なアルゴリズムで優れた結果を得ることができます。 多くのデータクリーニング手法があり、データ品質を向上させるためにそれらに精通する必要があります。 すべてのデータが役立つわけではありません。 つまり、これがデータ品質に影響を与えるもう1つの主要な要因です。

読む: Rでのクラスター分析

たとえば、会社に従業員の住所のリストがあるとします。 さて、あなたのデータがあなたのクライアントのいくつかのアドレスも含んでいるなら、それはリストを傷つけませんか? そして、リストを分析するためのあなたの努力は無駄になりませんか? このデータに裏打ちされた市場では、ビジネス上の意思決定を改善するためにデータサイエンスを学ぶことが不可欠です。

データクリーニングが不可欠である理由はたくさんあります。 それらのいくつかを以下に示します。

効率

クリーンなデータ(間違った値や一貫性のない値がない)があると、分析をはるかに高速に実行するのに役立ちます。 このタスクを事前に実行することで、かなりの時間を節約できます。 使用する前にデータをクリーンアップすると、複数のエラーを回避できます。 誤った値を含むデータを使用すると、結果は正確になりません。

また、タスク全体をやり直す必要があり、多くの時間の浪費が発生する可能性があります。 データを使用する前にデータをクリーンアップすることを選択した場合、結果をより速く生成し、タスク全体を再度やり直すことを回避できます。

エラーマージン

正確なデータを分析に使用しないと、間違いなく間違いを犯します。 データセットの特定のグループを分析するために多くの労力と時間を費やしたとします。 あなたは上司に結果を見せたいと非常に熱心ですが、会議で上司は状況がちょっと恥ずかしくて苦痛になるいくつかの間違いを指摘します。

そんなミスを避けたいと思いませんか? 彼らは恥ずかしさを引き起こすだけでなく、資源を浪費します。 データクレンジングは、その点で終止符を使用するのに役立ちます。これは広く行われている方法であり、データのクレンジングに使用される方法を学ぶ必要があります。

クリーンなデータで単純なアルゴリズムを使用する方が、クリーンでないデータで高度なアルゴリズムを使用するよりもはるかに優れています。

データ品質の決定

データは有効ですか? (有効)

データの有効性は、特定の要件のルールに従う程度です。 たとえば、さまざまな顧客の電話番号をインポートする方法ですが、場所によっては、データに電子メールアドレスを追加しました。 明示的に電話番号が必要なため、メールアドレスは無効になります。

妥当性エラーは、入力メソッドが適切に検査されていない場合に発生します。 データの収集にスプレッドシートを使用している可能性があります。 また、スプレッドシートのセルに間違った情報を入力する可能性があります。

データが有効であるために準拠しなければならない制約には、複数の種類があります。 どうぞ:

範囲:

一部の種類の数値は、特定の範囲内にある必要があります。 たとえば、1日に輸送できる製品の数には、最小値と最大値が必要です。 確かにデータには特定の範囲があります。 開始点と終了点があります。

データ・タイプ:

一部のデータセルでは、数値、ブール値などの特定の種類のデータが必要になる場合があります。たとえば、ブール値セクションでは、数値を追加しません。

強制的な制約:

すべてのシナリオで、データが従う必要のある必須の制約がいくつかあります。 強制的な制限は、特定のニーズによって異なります。 確かに、データの特定の列は空であってはなりません。 たとえば、クライアントの名前のリストで、「名前」の列を空にすることはできません。

クロスフィールド試験:

特定の形式のデータの複数のフィールドに影響を与える特定の条件があります。 フライトの出発時刻が到着時刻よりも早くなることはあり得ないとします。 貸借対照表では、クライアントの借方と貸方の合計が同じである必要があります。 違いはありません。

これらの値は相互に関連しているため、クロスフィールド検査を実行する必要がある場合があります。

固有の要件:

特定の種類のデータには固有の制限があります。 2人の顧客が同じカスタマーサポートチケットを持つことはできません。 このような種類のデータは特定のフィールドに固有である必要があり、複数のフィールドで共有することはできません。

セットメンバーシップの制限:

一部の値は特定のセットに制限されています。 同様に、性別は男性、女性、または不明のいずれかになります。

通常のパターン:

一部のデータは特定の形式に従います。 たとえば、電子メールアドレスの形式は「[email protected]」です。 同様に、電話番号は10桁です。

データが必要な形式でない場合も、無効になります。

メールアドレスの入力時に「@」を省略すると、メールアドレスが無効になりますね。 データの有効性を確認することは、データの品質を判断するための最初のステップです。 ほとんどの場合、無効な情報の入力の原因は人為的ミスです。

それを取り除くことは、プロセスを合理化し、無駄なデータ値を事前に回避するのに役立ちます。

正確さ

持っているデータのほとんどが有効であることがわかったので、その正確さを確立することに集中する必要があります。 データが有効であっても、データが正確であるとは限りません。 また、精度を判断することで、入力したデータが正確かどうかを判断できます。

クライアントのアドレスは正しい形式にすることができますが、正しい形式である必要はありません。 たぶん、電子メールにはそれを間違える追加の数字または文字が含まれています。 もう1つの例は、顧客の電話番号です。

読む:データサイエンスのためのトップ機械学習API

電話番号にすべての数字が含まれている場合、それは有効な値です。 しかし、それはそれが真実であるという意味ではありません。 有効な値の定義がある場合、無効な値を見つけるのは簡単です。 しかし、それは同じものの正確さをチェックするのに役立ちません。 データ値の正確性を確認するには、サードパーティのソースを使用する必要があります。

これは、現在使用しているものとは異なるデータソースに依存する必要があることを意味します。 データが正確かどうかを判断するには、データをクロスチェックする必要があります。 データクリーニング技術には、データ値の精度をチェックするための多くのソリューションがありません。

ただし、使用しているデータの種類によっては、この点で役立つリソースを見つけることができる場合があります。 精度と精度を混同しないでください

精度と精度

正確さは、入力されたデータが正しいかどうかを確認することに依存しますが、正確さを保つには、同じデータについてより詳細な情報を提供する必要があります。 顧客がデータフィールドに名を入力する場合があります。 ただし、名前がない場合は、より正確にするのは難しいでしょう。

別の例として、住所があります。 あなたがその人にどこに住んでいるのか尋ねるとします。 彼らは彼らがロンドンに住んでいると言うかもしれません。 それは本当かもしれません。 しかし、彼らがロンドンのどこに住んでいるかわからないので、それは正確な答えではありません。

正確な答えはあなたに番地を与えることです。

完全

必要なすべての情報を入手することはほぼ不可能です。 完全性とは、必要なすべての値を知っている度合いです。 完全性は、正確性や妥当性よりも達成するのが少し難しいです。 それはあなたが値を仮定することができないからです。 既知の事実を入力するだけです。

データ収集活動(クライアントへの再アプローチ、人々への再インタビューなど)をやり直すことで、データの完成を試みることができます。 しかし、それはあなたがあなたのデータを完全に完成させることができるという意味ではありません。

以前に必要だったデータについて人々に再インタビューするとします。 さて、このシナリオにはリコールの問題があります。 同じ質問をもう一度すると、前に答えたことを覚えていない可能性があります。 これは彼らにつながる可能性があり、あなたに間違った答えを与えます。

あなたは彼に5ヶ月前に彼らが読んでいた本を尋ねるかもしれません。 そして、彼らは覚えていないかもしれません。 同様に、すべての顧客の連絡先情報を入力する必要がある場合があります。 しかし、それらのいくつかは電子メールアドレスを持っていないかもしれません。 この場合、これらの列は空のままにしておく必要があります。

すべての列に入力する必要があるシステムがある場合は、そこに「missing」または「unknown」と入力してみてください。 ただし、そのような値を入力しても、データが完全であることを意味するわけではありません。 それはまだ不完全と呼ばれます。

一貫性

完全性の次には一貫性があります。 2つの類似したシステムを比較することにより、一貫性を測定できます。 または、同じデータセット内のデータ値をチェックして、それらが一貫しているかどうかを確認できます。 一貫性はリレーショナルである可能性があります。 たとえば、顧客の年齢は15歳である可能性があります。これは有効な値であり、正確である可能性がありますが、同じシステムで高齢者と表示される場合もあります。

このような場合、測定精度と同様にデータをクロスチェックし、どの値が正しいかを確認する必要があります。 クライアントは15歳ですか? それとも、クライアントは高齢者ですか? これらの値の1つだけが真である可能性があります。

データの一貫性を保つには複数の方法があります。

さまざまなシステムを確認します。

別の同様のシステムを調べて、自分が持っている値が実際のものであるかどうかを確認できます。 2つのシステムが互いに矛盾している場合は、3番目のシステムを確認すると役立つ場合があります。

前の例で、3番目のシステムをチェックして、顧客の年齢が65歳であることがわかったとします。これは、顧客が高齢者であるという2番目のシステムが適用されることを示しています。

最新のデータを確認してください。

データの整合性を向上させるもう1つの方法は、最新の値を確認することです。 特定のシナリオでは、より有益な場合があります。 レコードに顧客の2つの異なる連絡先番号がある場合があります。 顧客が番号を切り替えた可能性があるため、最新のものの方がおそらく信頼性が高くなります。

ソースを確認してください:

データの信頼性をチェックする最も確実な方法は、ソースに簡単に連絡することです。 顧客の年齢の例では、顧客に直接連絡して年齢を尋ねることを選択できます。 ただし、すべてのシナリオでそれが可能であるとは限らず、ソースに直接連絡することは非常に難しい場合があります。 顧客が応答しないか、連絡先情報が利用できない可能性があります。

均一

データセットに入力したすべての値が同じ単位であることを確認する必要があります。 測定のためにSI単位を入力している場合、一部の場所ではインペリアルシステムを使用できません。 一方、ある場所で時間を秒単位で入力した場合は、データセット全体でこの形式で入力する必要があります。

読む:データサイエンスのためのSQL

レコードの均一性を確認するのは非常に簡単です。 簡単な検査で、特定の値が必要な単位に含まれているかどうかを確認できます。 データの入力に使用する単位は、特定の要件によって異なります。

データクレンジング技術

データクリーニング手法の選択は、多くの要因に依存します。 まず、どのようなデータを扱っていますか? それらは数値ですか、それとも文字列ですか? 処理する値が少なすぎる場合を除いて、1つの手法だけでデータをクリーンアップすることを期待するべきではありません。

より良い結果を得るには、複数の手法を使用する必要がある場合があります。 処理する必要のあるデータ型が多いほど、使用する必要のあるクレンジング手法も多くなります。 これらすべての方法に精通していると、エラーを修正し、不要なデータを取り除くのに役立ちます。

1.無関係な値を削除します

あなたがしなければならない最初のそして何よりも重要なことはあなたのシステムから無駄なデータの断片を取り除くことです。 役に立たないデータや無関係なデータは、必要のないデータです。 それはあなたの問題の文脈に合わないかもしれません。

営業スタッフの平均年齢を測定するだけでよい場合があります。 そうすれば、彼らのメールアドレスは必要ありません。 もう1つの例は、1か月に連絡した顧客の数を確認する場合です。 この場合、前月に連絡した人のデータは必要ありません。

ただし、特定のデータを削除する前に、後で(整合性をチェックするために)相関値をチェックする必要がある場合があるため、関連性がないことを確認してください。 また、データを削除する前に、経験豊富な専門家からセカンドオピニオンを得ることができる場合は、遠慮なくそうしてください。

一部の値を削除して、後で決定を後悔したくないでしょう。 ただし、データが無関係であることが確実になったら、それを取り除きます。

2.重複する値を取り除く

重複は役に立たない値に似ています–あなたはそれらを必要としません。 彼らはあなたが持っているデータの量を増やし、あなたの時間を無駄にするだけです。 あなたは簡単な検索でそれらを取り除くことができます。 いくつかの理由で、システムに重複した値が存在する可能性があります。

多分あなたは複数の情報源のデータを組み合わせました。 または、データを送信した人が誤って値を繰り返した可能性があります。 一部のユーザーは、オンラインフォームに入力するときに、「Enter」を2回クリックしました。 重複を見つけたらすぐに削除する必要があります。

3.タイプミス(および同様のエラー)を回避する

タイプミスは人為的ミスの結果であり、どこにでも存在する可能性があります。 複数のアルゴリズムと手法でタイプミスを修正できます。 値をマップして、正しいスペルに変換できます。 モデルは異なる値を異なる方法で処理するため、タイプミスは修正するために不可欠です。 文字列は、スペルと大文字小文字に大きく依存します。

「George」は、同じスペルですが、「george」とは異なります。 同様に、「マイク」と「マウス」は同じ文字数ですが、互いに異なります。 このようなタイプミスを探して適切に修正する必要があります。

タイプミスに似たもう1つのエラーは、文字列のサイズです。 同じ形式に保つために、それらをパディングする必要がある場合があります。 たとえば、データセットでは5桁の数字のみが必要な場合があります。 したがって、「3994」のように4桁しかない値がある場合は、最初にゼロを追加して桁数を増やすことができます。

その値は「03994」と同じままですが、データを均一に保ちます。 文字列に関する追加のエラーは、空白です。 一貫性を保つために、必ず文字列からそれらを削除してください。

4.データ型を変換します

データ型は、データセット全体で均一である必要があります。 文字列を数値にすることも、数値をブール値にすることもできません。 データ型の変換に関しては、次の点に注意する必要があります。

  • 数値を数値として保持する
  • 数値が文字列かどうかを確認してください。 文字列として入力した場合、正しくありません。
  • 特定のデータ値を変換できない場合は、「NA値」などを入力する必要があります。 この特定の値が間違っていることを示すために、警告も追加してください。

5.欠落している値に注意する

欠測データは常に存在します。 あなたはそれを避けることはできません。 したがって、データをクリーンに保ち、エラーが発生しないように、それらを処理する方法を知っておく必要があります。 データセットの特定の列に欠落している値が多すぎる可能性があります。 その場合、処理するのに十分なデータがないため、列全体を削除することをお勧めします。

注意点:欠落している値を無視しないでください。

欠落している値を無視すると、データが汚染され、正確な結果が得られないため、重大な間違いになる可能性があります。 欠落値を処理する方法は複数あります。

欠落値の代入:

欠測値を代入できます。つまり、近似値を想定します。 線形回帰または中央値を使用して、欠落値を計算できます。 ただし、それが実際の値であるかどうかを確認できないため、この方法には影響があります。

欠落値を代入する別の方法は、同様のデータセットからデータをコピーすることです。 この方法は「ホットデッキ代入」と呼ばれます。 データ型や範囲などのいくつかの制約を考慮しながら、現在のレコードに付加価値を付けています。

欠落している値の強調表示:

代入は、欠測値を処理するための最良の手段であるとは限りません。 多くの専門家は、「本物」ではないため、結果がより複雑になるだけだと主張しています。 したがって、別のアプローチを取り、データが欠落していることをモデルに通知できます。 モデル(またはアルゴリズム)に特定の値が使用できないことを伝えることも、情報の一部になる可能性があります。

ランダムな理由が欠落値の原因ではない場合は、それらを強調表示またはフラグを立てることが有益な場合があります。 たとえば、顧客がそもそも回答したくないため、調査の特定の質問に対する回答がレコードに多くない場合があります。

欠落している値が数値の場合は、0を使用できます。統計分析中はこれらの値を無視するようにしてください。 一方、欠落している値がカテゴリ値である場合は、「欠落している」を埋めることができます。

概要

データクリーニング技術の詳細なウォークスルーを楽しんでいただけたでしょうか。 間違いなく学ぶべきことがたくさんありました。

以下のウェビナービデオから、データラングリングの詳細をご覧ください。

データクレンジングについてご不明な点がございましたら、お気軽に専門家にお問い合わせください。

データサイエンスについて知りたい場合は、IIIT-B&upGradのデータサイエンスのエグゼクティブPGプログラムをチェックしてください。これは、働く専門家向けに作成され、10以上のケーススタディとプロジェクト、実践的なハンズオンワークショップ、業界の専門家とのメンターシップを提供します。1業界のメンターとの1対1、400時間以上の学習、トップ企業との仕事の支援。

データの不整合が問題になるのはなぜですか?

同じデータが複数の場所に表示されると、データの冗長性が発生しますが、同じデータが異なる形式で複数のテーブルに表示されると、データの不整合が発生します。 残念ながら、データの冗長性はデータの不整合につながる可能性があり、その結果、企業にとって不正確なデータや役に立たないデータが発生する可能性があります。 在庫と流通管理の手順を最適化するために売上を適切に予測することはできません。 製造やサプライチェーンの問題を検出して、コスト超過や遅延を最小限に抑えることはできません。 また、デザインやマーケティングキャンペーンを変更するための新製品に対する顧客の関心を評価することはできません。

データはどのくらいの頻度でクリーンアップする必要がありますか?

データを大掃除する頻度は、ビジネス要件に完全に依存します。 大企業は大量のデータを迅速に取得するため、3〜6か月ごとにデータクレンジングが必要になる場合があります。 データの少ない中小企業は、少なくとも年に1回はデータをクリーンアップすることをお勧めします。 不潔なデータがコストをかけている、または生産性、効率、洞察に悪影響を及ぼしていると思われる場合は、データクレンジングを計画することをお勧めします。

Tableauはデータクレンジングに適していますか?

Tableau Prepには、データをすぐにクリーンアップおよび整形するために使用できる多数のクリーニング手順が付属しています。 ダーティデータをクリーンアップすると、データの統合と分析が簡単になり、共有するときに他の人がデータを理解できるようになります。