我在Python中有一个DataFrame,我需要预处理我的数据。哪个是预处理数据的最佳方法?知道某些变量具有巨大的规模而其他变量没有。数据也没有太大的偏差。我尝试使用preprocessing.Scale函数并且它可以工作,但我完全不确定是否是进行机器学习算法的最佳方法。
答案 0 :(得分:1)
有各种数据预处理技术,您可以参考sklearn.preprocessing中的想法作为可能的指导原则。
http://scikit-learn.org/stable/modules/preprocessing.html
预处理与您正在学习的数据相关联,但一般情况下您可以探索:
您可以在熊猫中轻松计算这些分数,如下所示:
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博客文章,了解实用教程。