Pyspark 및 JPMML 라이브러리를 사용하여 파이프 라인 모델에서 PMML 모델을 생성하고 있습니다. 하지만 제대로 생성되고 있다고 생각하지 않습니다. 이를 테스트하기 위해 동일한 데이터 세트와 아래의 분류 기준을 사용하여 두 가지 파이프 라인 모델을 만들었습니다.JPMML 및 Pyspark를 사용하여 파이프 라인을 PMML로 올바르게 변환하지 못합니다.
pipeline = Pipeline(stages = [assembler, slicer,pca, binarizer,assembler2, formula,classifier])
pipeline2 = Pipeline(stages = [assembler, slicer, binarizer,assembler2, formula,classifier])
그러나 다음 코드 단편을 사용하여 PMML 파일을 생성하면 두 개의 동일한 파일이 출력됩니다. 이는 모델간에 차이가 없음을 의미합니다. 나는 혼란 스럽다. 생성 된 PMML 파일은 올바르게 변환되는 경우 달라야합니다. 제대로 바로 변환 않다면
pipelineModel1 = pipeline.fit(df)
pmmlBytes = toPMMLBytes(spark, df, pipelineModel1)
with open('test.pmml','wb') as output:
output.write(pmmlBytes)
pipelineModel2 = pipeline2.fit(df)
pmmlBytes2 = toPMMLBytes(spark, df, pipelineModel2)
with open('test1.pmml','wb') as output:
output.write(pmmlBytes2)
질문이 있습니다. 일부 열이 마지막 출력에 기여하지 않는다고 가정 해 보겠습니다. 그러나 입력 데이터에 대한 전처리 단계는 올바르게 수행해야합니다. 예를 들어, 전처리 단계에서 벡터 슬라이싱 등을 사용하고이를 내 파이프 라인에 포함하면 예측할 때 들어오는 데이터에 동일한 연산을 적용해야하므로 해당 정보가 PMML로 인코딩되어야합니다. 그러나 전처리 단계가 다르더라도 동일한 PMML이 어떻게 생성됩니까? – SameeraR
마이닝 기능에서 사용하지 않는 열에 대해서는 사전 처리를 수행 할 필요가 없습니다. 계산 사이클 낭비 일뿐입니다. – user1808924