Slik-wrangler、機械学習と人工知能のデータ前処理とモデリングのためのツール

Slik-wrangler、機械学習と人工知能のデータ前処理とモデリングのためのツール

現在、人工知能(AI)と機械学習は私たちの日常生活に入り込み、徐々に私たちの生活を変えつつあります。生活をより便利に、より人間的に、よりスマートに、より良くします。しかし、現在の人工知能 (AI) は完璧ではなく、何らかの問題を抱えています。アルゴリズム、モデル、計算能力の問題に加えて、最大の問題は不正確なデータです。モデルのトレーニングに使用されるデータは欠落しており、ノイズが多く、このわずかなデータ ノイズによって結果が「真実からかけ離れている」ことがよくあります。

この問題を解決するには、データを事前にクリーニングして前処理する必要がありますが、これはデータ サイエンスにおいて最も面倒で面倒な作業です。アルゴリズムの学習は 1 行のコードで完了し、モデルのトレーニングは数秒または数日で自動的に完了します。従来、データ処理は欠如しており、長時間の手動処理が必要でした。データ サイエンティストにとって、このデータの自動処理が緊急のニーズとなっているため、この記事では、そのようなツールである Slik-wrangler を紹介します。

この記事では、Slik-wrangler の基本的な使用方法をいくつか紹介します。いくつかの概念を紹介しながら、データのクリーニングと整理に役立ついくつかの便利な機能を紹介します。

概要

Slik-wrangler は、データ研究におけるデータ処理の問題を解決するために作成されました。あらゆる形式のデータを扱う際に、基本的なデータ ラングリングと前処理の問題を解決できるように設計されています。 Slik-wrangler プロジェクトは、教師あり学習をすぐに開始するのに役立ちます。あらゆる形式のデータを簡単に読み込み、クリーンアップして検査できるさまざまなツールが付属しています。データを前処理し、特徴エンジニアリングを実行するための高速な方法を提供します。

データ前処理

データ前処理は、生データを理解しやすい形式に変換するプロセスであり、データマイニングにおける最も重要なステップでもあります。生のデータは処理が難しいからです。機械学習やデータマイニングアルゴリズムを適用する前に、データの品質を確認する必要があります。

データ サイエンスの世界では、「Garbage In, Garbage Out」という概念がよく言及されます。これは、モデルのトレーニングに「悪い」データや「汚い」データを使用すると、アルゴリズムが洗練されていてモデルが優れていても、結果は間違ったものになることを意味します。

したがって、元のデータは、データが真実であり、正確であり、統計的に有意であることを確認するために前処理する必要があります。

データ前処理手順

データを前処理するには、データの前処理が確実に成功するように、特定の手順に従う必要があります。

  1. データの読み込み中。
  2. データ品質の評価。
  3. データのクリーニング。
  4. データ変換。
  5. データの削減。

以下では、これらの基本的な手順を例として使用して、Slik-wrangler の基本機能を紹介します。

インストールと展開

Slik-wrangler は、Linux、MacOS、Windows へのインストールをサポートしています。サポートされている Python バージョン (3.5 以上) 環境では、pip パッケージ マネージャーを介して直接インストールできます。

 pip インストールslik - wrangler

また、Anaconda などのマルチバージョンの Python 環境にインストールすることもできます。まず、Anaconda がインストールされていることを確認します。

 conda --version

新しい仮想環境を作成し、Python 3.5 以降をインストールします。

 conda create -n 環境変数python = 3.7

環境をアクティブ化します。

 ソースアクティベートyourenvname

次に、Slik-wranglerとプロジェクトに必要なその他のパッケージをインストールします。

 pipslik_wrangler をインストールします

インストールをテストします。

 パイソン
Python 3.7.1 ( デフォルト2018 年12 月14 日 19:28:38 )
[ GCC 7.3.0 ] :: Linux 上のAnaconda
詳細について「help」「copyright」「credits」 または「license」 と入力してください
slik_wrangler をインポートする

データの読み込み

データの読み込み (インポート) は、データセットを処理する際の最初のステップです。 Slik-wrangler は、データ ファイルを効率的に読み取るための loadfile モジュールを提供します。

Pandas を使用してファイルを読み取るときは、読み取りたいファイルの特定の拡張子を指定する必要があります。たとえば、CSV、Excel、Parquet など。 loadfile を使用してデータをロードする場合、拡張子を指定せずに、異なるファイル拡張子を持つ複数のファイルを直接読み取ることができます。 read_file 関数を使用して、CSV、Excel、parquet などのさまざまな種類のファイルを読み込むことができます。ファイル パスを指定するだけで、loadfile は異なる拡張子を持つデータ ファイルを自動的に適応させて処理できます。

 slik_wrangler からloadfileをlf としてインポートします
lf . read_file ( データセットへのパス)

数百万行のデータセットなど、大規模なデータセットを含むファイルがある場合、それを 2w 行などの小さなファイル (データセット) に分割する必要があるかもしれません。 split_csv_file を使用して処理できます。これは、ファイルから読み取ったデータの限られた行数を分析する必要がある場合に役立ちます。

 slik_wrangler からloadfileをlf としてインポートします
lf . split_csv_file ( データセットへのパス行制限= 20000 )

データ品質評価 (DQA)

データ品質評価 (DQA) は、データ (またはデータセット) の品質を判断するプロセスです。データ品質を決定するプロセスにより、データが使用に適しており、プロジェクトまたはビジネス プロセスに必要な品質を満たしていることが保証されます。 Slik-wrangler は、データ品質評価用の特別なモジュール dqa を提供します。Slik-dqa には、データ品質チェック用の複数の機能が含まれています。

その中で、data_cleanness_assessment は、データの全体的なクリーン度をチェックして表示するために使用されます。

 slik_wrangler から. dqa をインポートしてdata_cleanness_assessment
data_cleanness_assessment ( データセット)

結果には、データセットがどれだけクリーンであるか、および対処する必要があるデータ問題があるかどうかが表示されます。たとえば、サンプル データセットには主にデータ欠落の問題があり、Cabin の欠落データは 77.2% にも上ります。

Slik-dqa は、次のようなデータセットの特定の問題をチェックするための独立した関数も提供します。

  • missing_value_assessment: 欠損データの評価;
  • duplicate_assessment: 重複データの評価。

データクリーニング

データ クリーニングとは、データを分析に適したものにするためにデータをフォーマット/クリーニングするプロセスです。これには、欠損値の処理、重複の置換、無関係なデータの修正、修復、削除が含まれます。これは、データがビジネス ニーズを満たしていることを確認するための最も重要な前処理手順です。 Slik-wrangler は、データセットをクリーンアップするための貴重な API を提供します。これは、前処理 (従来は pp としてインポートされます) と呼ばれます。

 slik_wrangler からpreprocessingをpp としてインポートします

外れ値を特定して修正する

外れ値はデータ分析やモデリングの結果に大きな影響を与える可能性があります。たとえば、あるグループの人々の年齢に関する調査が行われ、誰かが自分の年齢として 1000 と入力したとします。これは明らかに間違っており、削除または修正しないと、結果が大きく歪む可能性があります (平均年齢の算出など)。

Slik-Wrangler は現在、データ セット内の外れ値を検出するために主に四分位範囲法に依存しており、外れ値をデータ ポイントの平均または中央値に置き換えるなど、さまざまな方法を使用してデータ内の外れ値を修正します。フィルタリングする数値機能をカスタマイズし、少なくとも「n」個の外れ値を連続して識別するテーブルを表示できます。

 slik_wrangler からpreprocessingをpp としてインポートします
pp .detect_fix_outliers ( データターゲット列= '年齢'n = 1 )

欠損値の特定

データセットに欠損値が含まれているかどうかを確認するには、check_nan 関数を使用できます。上記の dqa モジュールの slik_wrangler.preprocessing では、欠損データ情報の概要も表示できます。不足している割合をグラフで表示できます。

 slik_wrangler からpreprocessingをpp としてインポートします
pp . check_nan ( 列車プロット= True )

グラフィカルな方法は直接的な数値方法よりもはるかに効果的です。

欠損値の処理

欠損値を処理するには、欠損値を削除するか、特定の値に置き換えるか、いくつかの方法があります。 Slik-wranglerz は、handle_nan モジュールを使用して、データ内の欠損値をインテリジェントかつ効率的に処理します。 handle_nan 関数は、戦略を選択するか、カテゴリ特徴を処理するために fillna パラメータの値を渡したり、デフォルトでモードを使用したりすることで、数値特徴を処理します。しきい値パラメータを使用して、行と列全体の欠損値を削除することもできます。

欠損値を削除するには、次のいずれかの方法を使用できます。

  • 欠損値のある行を削除します。
  • 欠損値を含む列を削除します。

欠損値を別の値に置き換えます。通常、以下の戦略が採用されます。

  • 数値の場合、欠損値を平均値または最頻値に置き換えます。
  • カテゴリ値の場合、欠損値を列の最も頻繁な値 (モード) または任意の値に置き換えます。
 slik_wrangler からpreprocessingをpp としてインポートします
データ= pp . handle_nan (
データフレーム= titanicターゲット名= 'Survived'戦略= 'mean'
fillna = 'mode'drop_outliers = Truethresh_x = 50thresh_y = 75
display_inline =

上記の例では、欠損値が50%を超えるレコード(行)を削除するためにしきい値thresh_xを設定しています。欠損値が75%を超えるフィールド(列)のthresh_yしきい値を設定します。

結果、75% を超えるデータが欠落している列がクリアされ、元のデータは 12 列から 11 列に削減されます。

 データ. 形状
89011

slik.preprocessing モジュールは、データの前処理に使用されます。1 行のコードでデータをクリーンアップできます。この関数は、データ内に存在する外れ値を削除し、欠損値を処理し、DateTime 列を特徴付け、関連する列をマッピングすることで、データをクリーンアップします。

 slik_wrangler からpreprocessingをpp としてインポートします
pp . 前処理(
データ= タイタニックターゲット列= 'Survived'トレーニング= True
display_inline = Trueproject_path = './Titanic'、logging = ' display '

この例では、指定されたプロジェクト パス (現在のパスの下の Titanic ディレクトリ) に前処理結果ファイルを保存します。

要約する

機械学習 (ML) と人工知能 (AI) のデータ準備段階では、データの前処理プロセスにデータの整理、評価、クリーニング、例外処理が含まれます。統計によると、データ サイエンティストがデータの前処理に費やす時間は、プロジェクト全体の 80% 以上を占めています。この面倒で時間のかかるプロセスを自動化できれば、研究者がデータ分析 EDA、アルゴリズム、モデル研究などの他の作業に費やす時間を大幅に増やすことができます。

Slik-Wrangler は、初心者から熟練したデータ サイエンティストまで、あらゆる人に最適です。データの前処理に Slik-wrangler を使用すると、データの品質と既存の問題を自動的に評価し、欠損値を効果的に処理し、外れ値と列管理を処理して、データ モデルを確立し、さらなるデータ分析の準備をすることができます。

<<:  Google が使用する 4 つのデータ指標モデル

>>:  インターネットの理解からユーザーの理解へ、Google は今回何に賭けているのでしょうか?

ブログ    

推薦する

...

自動化には限界がない: SF Express のサプライチェーンは RPA を活用してデジタル変革を加速

[51CTO.comからのオリジナル記事]最近、UiPathとSF Supply Chainは共同オ...

WOT + ヒーローズ ギャザリング、2018 年に技術者が見逃せないお祭り

現在、デジタル変革の潮流に直面し、ビッグデータ、クラウドコンピューティング、ブロックチェーン、Dev...

...

AI、IoT、ビッグデータでミツバチを救う方法

現代の農業はミツバチに依存しています。私たちが食べる食物や呼吸する空気を含む生態系のほぼ全体が、花粉...

人工知能が仕事を奪っていますが、将来の職場で私たちは何のために戦うのでしょうか?

病院では、人工知能 (AI) は人間の医師よりもレントゲンの分析が得意です。法律事務所では、AI は...

オートメーション研究所の拡散モデル「Brain Reading」、MindDiffuserは人間の脳の視覚イメージを鮮明に再現します

脳信号から対応する視覚刺激を再構築することは、意義深く困難な作業です。これまでの研究では、一部の自然...

アルゴリズムのインテリジェントなアップグレードにより、将来のデジタルライフはより明るくなります

[[120716]]研究者たちは現在、検索結果の改善、自動運転車、スマート携帯電話のアップグレード、...

機械学習の博士号を取得するためにゼロから 12 年間勉強する価値はあるでしょうか?

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

自然言語処理が人工知能の中核である理由

コンピュータが人間を騙して自分は人間だと信じ込ませることができるなら、そのコンピュータは知的であると...

Google エンジニア: AI テクノロジーにより、5 年以内に人間とコンピューターの会話が実現する

人間の言語を習得することはコンピューターにとって依然として課題だが、グーグルのエンジニアは人工知能(...

この記事を読んで人工知能を始めましょう!

今、テクノロジーの世界で最もホットなものは何ですか?答えはおそらく人工知能、機械学習、ディープラーニ...

...