2016-04-12 34 views
0

私はPythonでDataFrameを持っており、データを前処理する必要があります。データを前処理するための最良の方法は何ですか?いくつかの変数には巨大なスケールがあり、他にはないことが分かっています。データにも大きな逸脱はありません。私はpreprocessing.Scale関数で試してみましたが、それは動作しますが、私は機械学習アルゴリズムを進めるのに最良の方法があるのか​​どうかはわかりません。データ前処理Python

+0

あなたの質問は非常に一般的なもので、正確に何を探しているのですか?私はあなたに一般的な前処理についていくつかのヒントを与えましたが、あなたが探しているものはわかりません。 – MedAli

答えて

0

データの前処理にはさまざまな手法がありますが、sklearn.preprocessingのアイデアを潜在的なガイドラインとして参照することができます。

http://scikit-learn.org/stable/modules/preprocessing.html

前処理は、あなたが勉強しているデータに結合され、一般的には、あなたが探検できている:欠損値を評価

  1. を、
  2. 列ごとにその割合を計算することによって分散を計算し、削除分散がゼロに近い変数
  3. 冗長性を検出するために変数間の相関を評価する

次のようにあなたがパンダに簡単にこれらのスコアを計算することができます

data_file = "your_input_data_file.csv" 
data = pd.read_csv(data_file, delimiter="|") 
variance = data.var() 
variance = variance.to_frame("variance") 
variance["feature_names"] = variance.index 
variance.reset_index(inplace=True) 
#reordering columns 
variance = variance[["feature_names","variance"]] 
logging.debug("exporting variance to csv file") 
variance.to_csv(data_file+"_variance.csv", sep="|", index=False) 

missing_values_percentage = data.isnull().sum()/data.shape[0] 
missing_values_percentage = missing_values_percentage.to_frame("missing_values_percentage") 
missing_values_percentage["feature_names"] = missing_values_percentage.index 
missing_values_percentage.reset_index(inplace=True) 
missing_values_percentage = missing_values_percentage[["feature_names","missing_values_percentage"]] 
logging.debug("exporting missing values to csv file") 
missing_values_percentage.to_csv(data_file+"_mssing_values.csv", sep="|", index=False) 
correlation = data.corr() 
correlation.to_csv(data_file+"_correlation.csv", sep="|") 

上記は、それぞれ保持三つのファイル、分散、欠損値の割合と相関結果を生成するであろう。

thisのブログ記事を参照してください。