
データは機械学習の血液ですが、データの量ではありません。したがって、機械学習モデルの開発を開始する前に、適切かつ最適なデータ前処理を行うことが非常に重要です。したがって、この記事では、Python と Scikit Learn を使用した 1 つと 2 つの重要なデータ前処理ステップについて説明します。この記事を最後まで読み終えると、実践的なヒントとコツを使って独自の機械学習、データ分析プロジェクトに取り組み始めることができます。
目次: Python と Scikit Learn を使用したデータ前処理のヒント
- 質問を組み立てる
- データソースの重要性: 社内および社外のスクレイピング
- データのクリーニングを開始する前に
- 無料のスクレイピング API とデータ クリーニングの完全な Python スクリプト
- データ サイエンスと機械学習 Couresa コースの推奨事項
- よくある質問
1: 質問を定式化する
まず最初に、なぜ機械学習を活用する必要があるのかを尋ねることをお勧めします。私が以前に会った人のほとんどは、機械学習を使用してデータ分析を行うのが好きだと言うかもしれません。データ分析はアプローチではありますが、目的ではありません。私の観点から目的に関して言えば、ビジネス面では基本的に次の 3 つのタイプがあります。
- ビジネスと運用のパフォーマンスを向上させる、新しい最適化可能な要素を見つける
- 機械による運用上の決定により、運用タスクを自動化します。
- 社内のニッチな AI モデルを構築および開発する
2: データソースの重要性 – 社内および社外のスクレイピング
ここで、このモデルの目的についてチームと明確に一致させることができます。次に、データの発見と収集が次の大きな課題となります。
データ ソースを評価する場合、データセットを使用して機械学習モデルを構築できるかどうかを評価するために、常に品質が最も重要な指標となります。それは機械学習プロセスに誤解を与え、学習結果を歪める間違った方向に導くことになるからです。
私のプロジェクトの経験から、品質の定義には 2 つの基本的なオプションがあります。参考にしてください。これらは社内のスクレイピング可能なデータです。サードパーティからデータセットを購入しようとしないでください
会社に十分な社内データがない場合、データを収集する最良の方法の 1 つがデータのスクレイピングです。データの出所を認識し、必要なデータを具体的に収集できるからです。 BuyfromLo のようなスクレイパー プロバイダーを活用することも、スクレイピング アプリを社内で開発することもできます。
www.buyfromlo.com/app
3: Python を使用したデータのクリーニング
データセットとデータ ソースの側面が解決されたら、データをクリーンアップして構造化する方法について話し合います。スクレイピングデータや社内データに関係なく、Scikit 学習線形回帰などの機械学習モデルに適合する形式ではない可能性があります。データをチェックしてクリーンアップするためのヒントを次に示します。
ステップ 1: データセットを DataFrame に変換する
Read CSVimport pandas as pddataset = pd.read_csv ( 'planprice3.csv' )Data ListList = [1, 2, 3, 4]Dataset = pd.DataFrame(List)CSV データセットの場合、ヘッダーが設定したものではなく、設定したものが 2 番目の役割に属する場合があります。したがって、これを解決する方法は次のとおりです。
dataset = pd.read_csv ( 'planprice3.csv' )dataset.columns = dataset.iloc [ 0 ]dataset = dataset [ 1 :]ステップ 2: データセットからどのような情報がカバーされているかを知る
pp_dataset.shape(84359, 13)これにより、データセットの形状がわかります。ここでの形状とは、フィーチャまたはいわゆる変数 (依存変数と独立変数) の数、およびデータセットに含まれるインスタンスの数を意味します。
print ( dataset.info ())これは非常に便利な方法で、データセットの詳細を知ることができます。
<class 'pandas.core.frame.DataFrame'>RangeIndex: 84359 entries, 1 to 84359Data columns (total 13 columns):# Column Non-Null Count Dtype--- ------ -------------- -----0 Purchase Date 84359 non-null object1 Campaign 84359 non-null object2 Source Desc 84359 non-null object3 Source Type 84359 non-null object4 Country 84359 non-null object5 Company Name 84358 non-null object6 Amount ($) 84359 non-null object7 Base Price ($) 84359 non-null object8 Gender 84359 non-null object9 Plan Type 84359 non-null object10 Activity 84359 non-null object11 Created By Name 84359 non-null object12 Created by ID 84359 non-null objectdtypes: object(13)memory usage: 8.4+ MBデータセットがすべて整数データ型である場合は、この行を使用して数値の全体像を確認することもできます。
dataset.describe ()ステップ 3: 値欠落の問題を解決する
上でわかるように、インスタンスの数は同じではない可能性があり、一部の機能のインスタンスの数が他の機能よりも少ない場合があります。これはワークアウトには良くないので、一貫性を保つ方法を次に示します。
dataset.dropna ( inplace= True )ステップ 4: すべてのデータに番号を付ける
機械学習は文字列を読み取ることができず、整数と数値のみを読み取ることができます。実際、現実世界にはデータセット内に非常に多くの文字列が含まれています。したがって、文字列を数値に変換する必要があります。これを実行するための scikit ライブラリとコードを次に示します。
from sklearn.preprocessing import LabelEncoderle = LabelEncoder ()label = le.fit_transform ( dataset [ 'Country' ])dataset [ 'Country1' ] = labeldataset.drop ( "Country" , axis= 1 , inplace= True )複数のフィーチャを変換する必要がある場合
dataset [[ 'Campaign' , 'Source Desc' , 'Source Type' , 'Company Name' , 'Gender' , 'Plan Type' , 'Activity' ]] = dataset [[ 'Campaign' , 'Source Desc' , 'Source Type' , 'Company Name' , 'Gender' , 'Plan Type' , 'Activity' ]].apply ( le.fit_transform )ステップ 5: 数値を整数データ型に変換する
一部の値は数値のように見えますが、実際には文字列データ型である場合があります。この場合、それらを整数データ型に変換する必要があります。コードサンプルは次のとおりです。
dataset [ 'Amount ($)' ] = dataset [ 'Amount ($)' ] .astype ( int )無料のスクレイピング API とデータ クリーニングの完全な Python スクリプト
Python と Scikit Learn を使用したデータ前処理のヒントに興味がある場合は、 「DS + フル スクリプトと API 無料トークンのスクレイピング」というメッセージを追加してニュースレターを購読してください。 。最新のアプリ スクリプトが公開されたら、スクリプトを送信します。
「Python と Scikit Learn を使用したデータ前処理のヒント」を楽しんで読んでいただければ幸いです。もしそうなら、以下にリストされているいずれかの方法で私たちをサポートしてください。それは常に私たちのチャンネルに役立ちます。
- PayPal ( paypal.me/Easy2digital ) を通じて私たちのチャンネルをサポートし、寄付してください。
- 私のチャンネルを. 購読し、 Easy2Digital Youtube チャンネルの通知ベルをオンにしてください。
- Easy2Digital Facebook ページをフォローして「いいね!」してください
- ハッシュタグ #easy2digital を付けて記事をソーシャル ネットワークで共有してください
- Easy2Digital の最新記事、ビデオ、割引コードを受け取るには、毎週のニュースレターに登録してください。
- Patreon を通じて月額メンバーシップに登録すると、限定特典をお楽しみいただけます ( www.patreon.com/louisludigital )