首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数据预处理Python

数据预处理Python
EN

Stack Overflow用户
提问于 2016-04-12 14:09:17
回答 2查看 1.4K关注 0票数 0

我在Python中有一个DataFrame,需要对数据进行预处理。对数据进行预处理的最佳方法是哪一种,知道一些变量具有很大的规模,而另一些则没有,数据也没有很大的偏差。我尝试了preprocessing.Scale函数,它可以工作,但我一点也不确定是否是进行机器学习算法的最佳方法。

EN

回答 2

Stack Overflow用户

发布于 2016-04-12 14:12:18

数据预处理有多种技术,您可以参考sklearn.preprocessing中的思想作为可能遵循的指导方针。

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

预处理与您正在研究的数据相结合,但通常您可以探索:

  1. 通过计算缺失值的每列百分比来评估缺失值
  2. 计算方差并去除接近零方差的变量
  3. 评估变量间的相关性以检测冗余

在熊猫中,你可以很容易地计算出以下分数:

代码语言:javascript
复制
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="|") 

以上将生成三个文件分别保存,方差,缺失值百分比和相关结果。

关于教程,请参阅博客文章。

票数 1
EN

Stack Overflow用户

发布于 2021-12-25 13:04:14

  1. 始终将数据拆分以进行培训,并测试拆分以防止过度使用。
  2. 如果您的一些特性具有很大的规模,而有些则没有,那么您应该对data.make进行标准化,确保只在火车上对数据进行拖鞋,而不是为了避免过度使用。
  3. 您还必须查找丢失的数据并替换或删除它们。如果一列中缺少的数据少于0.5%,您可以使用'dropna‘,否则您必须用一些东西替换它(您可以用0,平均,以前的数据.)替换ut .
  4. 您还必须使用方格图来检查异常值。离群点是与同一组中的其他数据显著不同的点,它也会影响机器学习中的预测。
  5. 这是最好的,如果我们检查多重共线性。如果某些特征具有相关性,则具有多重共线性会导致对模型的错误预测。
  6. 为了使用您的数据,有些列可能是绝对的,sholud可以转换为数字。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36575776

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档