【发布时间】:2021-05-19 22:48:50
【问题描述】:
我有一个包含 10,999 行的复杂数据框。
我正在尝试运行 xgboost 进行机器学习。
我加载数据并尝试按照教程和 StackOverflow 上发布的解决方案进行拆分:How do I create test and train samples from one dataframe with pandas?
X_train, X_test = train_test_split(df, test_size=0.2)
但这失败了:
TypeError: Expected sequence or array-like, got <class 'pyspark.sql.dataframe.DataFrame'>
但这没有意义,我怎样才能将数据框放入数组中而不会丢失大量有价值的信息?
所以有人建议我尝试 pandas:
pandasDF = df.toPandas
X_train, X_test = train_test_split(pandasDF, test_size=0.2)
但这也失败了:
TypeError: Singleton array array(<bound method PandasConversionMixin.toPandas of DataFrame
如何将此数据框拆分为训练集和测试集?
【问题讨论】:
-
难道唯一的错误是您忘记了方法调用?所以改用
pandasDF = df.toPandas()? -
确实,我使用了属性而不是方法 :( 现在它可以工作了@VirtualScooter
标签: python apache-spark machine-learning pyspark xgboost