我在使用 Apache Arrow Spark 集成时遇到了这个问题。
使用 AWS EMR 和 Spark 2.4.3
在本地 Spark 单机实例和 Cloudera 集群上测试了这个问题,一切正常。
export PYSPARK_PYTHON=python3
export PYSPARK_PYTHON_DRIVER=python3
Run Code Online (Sandbox Code Playgroud)
spark.version
2.4.3
sc.pythonExec
python3
SC.pythonVer
python3
Run Code Online (Sandbox Code Playgroud)
from pyspark.sql.functions import pandas_udf, PandasUDFType
df = spark.createDataFrame(
[(1, 1.0), (1, 2.0), (2, 3.0), (2, 5.0), (2, 10.0)],
("id", "v"))
@pandas_udf("id long, v double", PandasUDFType.GROUPED_MAP)
def subtract_mean(pdf):
# pdf is a pandas.DataFrame
v = pdf.v
return pdf.assign(v=v - v.mean())
df.groupby("id").apply(subtract_mean).show()
Run Code Online (Sandbox Code Playgroud)
我有一个 sklearn 管道对异构数据类型(布尔、分类、数字、文本)执行特征工程,并想尝试将神经网络作为我的学习算法来拟合模型。我在输入数据的形状方面遇到了一些问题。
我想知道我正在尝试做的事情是否可行,或者我是否应该尝试不同的方法?
我尝试了几种不同的方法,但收到以下错误:
Error when checking input: expected dense_22_input to have shape (11,) but got array with shape (30513,) => 我有 11 个输入特征......所以我然后尝试将我的 X 和 y 转换为数组,现在得到这个错误
ValueError: Specifying the columns using strings is only supported for pandas DataFrames=> 我认为这是因为ColumnTransformer()我指定列名的地方
print(X_train_OS.shape)
print(y_train_OS.shape)
(22354, 11)
(22354,)
Run Code Online (Sandbox Code Playgroud)
from keras.models import Sequential
from keras.layers import Dense
from keras.wrappers.scikit_learn import KerasClassifier
from keras.utils import to_categorical # OHE
X_train_predictors = df_train_OS.drop("label", axis=1)
X_train_predictors = X_train_predictors.values
y_train_target = to_categorical(df_train_OS["label"])
y_test_predictors = …Run Code Online (Sandbox Code Playgroud) 遇到错误,我认为是由窗口函数引起的。
当我应用这个脚本并只保留几个示例行时,它工作正常但是当我将它应用到我的整个数据集(只有几 GB)时,它在最后一步尝试坚持到 hdfs 时失败,出现这个奇怪的错误......当我坚持不使用窗口函数时脚本工作,所以问题一定来自那个(我有大约 325 个特征列通过 for 循环运行)。
知道什么可能导致问题吗?我的目标是通过正向填充方法对数据框中的每个变量进行时间序列数据的估算。
from pyspark.sql import SparkSession
from pyspark.sql import functions as F
from pyspark.sql import types as T
from pyspark.sql import Window
import sys
print(spark.version)
'2.3.0'
# sample data
df = spark.createDataFrame([('2019-05-10 7:30:05', '1', '10', '0.5', 'FALSE'),\
('2019-05-10 7:30:10', '2', 'UNKNOWN', '0.24', 'FALSE'),\
('2019-05-10 7:30:15', '3', '6', 'UNKNOWN', 'TRUE'),\
('2019-05-10 7:30:20', '4', '7', 'UNKNOWN', 'UNKNOWN'),\
('2019-05-10 7:30:25', '5', '10', '1.1', 'UNKNOWN'),\
('2019-05-10 7:30:30', '6', 'UNKNOWN', '1.1', 'NULL'),\
('2019-05-10 7:30:35', '7', …Run Code Online (Sandbox Code Playgroud) sklearn中的FeatureUnion()和ColumnTransformer()有什么区别?
如果我想构建包含混合数据类型(分类,数字,非结构化文本)的功能的监督模型,而我需要结合使用单独的管道,该使用哪个模型?
来源:https : //scikit-learn.org/stable/modules/generation/sklearn.pipeline.FeatureUnion.html
来源:https : //scikit-learn.org/stable/modules/generated/sklearn.compose.ColumnTransformer.html
apache-spark ×2
pyspark ×2
python ×2
scikit-learn ×2
amazon-emr ×1
apache-arrow ×1
keras ×1
pyarrow ×1
scala ×1
tensorflow ×1