--- tags: スキル定義委員会, データ加工, グルーピング, データ理解, 階層クラスター分析, 非階層クラスター分析 --- # スキル定義委員会-084 ## DE-84 データ加工 - 前処理 ⭐️⭐️ ### Q.線形補間など、複数のレコードを考慮したクレンジング処理ができる ```python= import pandas as pd def cleanse_data(dataframe): # Check for any missing values and replace them with NaN dataframe.replace(to_replace='?', value=float("NaN"), inplace=True) # Interpolate the missing values using linear interpolation dataframe.interpolate(method='linear', inplace=True) return dataframe # Load the data into a pandas dataframe df = pd.read_csv("data.csv") # Cleanse the data df_cleansed = cleanse_data(df) # Save the cleansed data to a new csv file df_cleansed.to_csv("data_cleansed.csv", index=False) ``` 4行目あたりでクレンジング処理を行っています。基本的な工程は以下のようなものがあげられます。 * **重複の排除** データセット内の重複するレコードを特定し、削除する * **欠損値の処理** 適切な値で埋めるか、欠損値のあるレコードを削除することで欠損値を処理する * **不正確さの修正** 不正確なデータ型や無効な値など、データの誤りや不正確さを検出して修正すること * **データの標準化** すべての日付を標準的な形式に変換するなど、データを<span class="att0">一貫性</span>のある形式に変換すること * **外れ値への対応** データの正常な範囲から著しく外れた値である外れ値を特定し、対処すること * **データ統合** 複数のデータセットを1つの統一されたデータセットに統合すること クレンジングプロセスに含まれる具体的なタスクは、データの性質や分析の目的によって異なり、データセットごとに大きく異なる可能性があります。 ------------------------------------------------------------------------ ## DS-84 グルーピング - グルーピング ⭐️ ### Q.階層クラスター分析と非階層クラスター分析の違いを説明できる 類似したデータ点をクラスターに分類する方法として、階層的クラスター分析と非階層的クラスター分析の2つがよく使われます。 ![](https://i.imgur.com/CT8T3Ke.jpg) ### 階層的クラスター分析(HCA: Hierarchical Cluster Analysis) 個々のデータ点から出発し、すべてのデータ点が単一のクラスターまたは限られた数のクラスターに統合されるまで、より大きなクラスターに統合しながら、クラスターの階層を構築するクラスタリングの手法である。 異なるクラスター間の関係を表すために、デンドログラムと呼ばれる木のような構造を作成するクラスタリング手法の一種である。デンドログラムは、個々のデータポイントを最小のクラスタとして出発し、データポイントがどのように大きなクラスタに統合されていくかを示しています。このプロセスは、各データ点を個別のクラスタとして扱うことから始まり、停止基準に達するまで最も近いクラスタを繰り返しマージする。最終的な結果は、指定された数のクラスタを形成するために異なるレベルで切断することができるクラスタの階層です。 階層的クラスタリングは、さらに2つのタイプに分けられる。<span class="att0">凝集型(ボトムアップ)</span>と<span class="att0">分割型(トップダウン)</span>があります。 凝集型クラスタリングは、小さなクラスタを大きなクラスタに統合することでクラスタの階層を構築します。 分割型クラスタリングは、単一のクラスタ内のすべてのデータ点から始めて、それを小さなクラスタに分割していきます。 ### 非階層的クラスタ分析(NHCA Non-Hierarchical Cluster Analysis) フラットクラスタリングとも呼ばれ、クラスタの階層構造を構築せずに、データポイントを指定された数のクラスタに分割するクラスタリング手法である。あらかじめクラスタ数を決めておき、類似度指標に基づいて最も近いクラスタにデータ点を割り当てる(クラスタ内の二乗和を最小化する)。 各データ点を固定数のクラスターに直接割り当てるタイプのクラスター分析法である。デンドログラムは作成されませんが、代わりに各データポイントの最終的なクラスタ割り当てを提供します。 非階層的クラスタリングアルゴリズムの例としては、k-meansやk-medoidsクラスタリングとDBSCANがある。 --- 一般に、階層型クラスタリングはデータの<span class="att0">構造を理解すること</span>を目的とした探索的分析に適しており、非階層型クラスタリングは<span class="att0">特定の数のクラスタを識別すること</span>を目的とした確認的分析に向いています。 また、階層型クラスタリングは、データの構造を探索し、クラスタ間の関係を発見するのに有効ですが、計算量が多く、非常に大きなデータセットにうまく対応できないことがあります。非階層的クラスタリングは、大規模なデータセットに対して、階層的クラスタリングよりも計算効率が高いです。 ------------------------------------------------------------------------ ## BZ-84 データ理解 - 意味合いの抽出、洞察 ⭐️⭐️ #### Q.分析結果を元に、特異点、相違性、傾向性、関連性を見出した上で、ビジネス上の意味を捉えるためにドメイン知識を持つ人に適切な質問を投げかけられる * **Singularities** 外れ値や極値など、特定された異常値、極値、標準から逸脱したパターンについて何か説明ができるかどうか * **Differences** 2つ以上のグループ間のデータ分布や時間経過によるデータの違いの理由を確認する * **Trends** 時間の経過に伴うデータのパターンについて洞察があるかどうか、また観察された傾向について説明があるか * **Associations** 正負の相関や交絡因子など、変数間の関係を調べる。 * Context データが収集された背景と、結果に影響を与える可能性のあるバイアス * Confidence Intervals(信頼区間) サンプルサイズと精度に影響を与える可能性のある他の要因を考慮し、結果に対する信頼性のレベル * Validity 分析に使用したデータと方法が有効で信頼できるものであること * Interpretation(解釈) 解決しようとする問題に照らして結果を解釈 過度の一般化や誤った推論を避けるように注意 好奇心旺盛でオープンマインドな態度で領域専門家に接し、肯定的な証拠と否定的な証拠の両方を受け取る準備をすることが重要である。さらに、分析結果を解釈し、ドメインの専門家に質問する際には、その文脈と限界を考慮することが重要です。 ------------------------------------------------------------------------ # Quote - [スキル定義委員会 from データサイエンティスト協会](https://twitter.com/jdss_skill) <style> .att0 {color: #eb4034;} .att1 {color: #3465eb;} </style> <!-- <span class="att0"></span> -->