0
私は別々のtrainとtest csvファイルを使用しています。 80,000,000行Pyspark NaiveBayesはCsvファイルへの予測出力をモデル化しました
NaiveBayesモデルcodes-
# Reading files
data="C:/csv/train2004.txt"
test="C:/csv/ascii20041.asc"
#Data into RDD
train=sc.textFile(data).map(lambda x: x.split(","))
test=sc.textFile(test).map(lambda y: y.split(" "))
#extract header
header = train.first()
header1 = test.first()
print(header)
print(header1)
#Removing Header Row
train = train.filter(lambda Row: Row!=header)
#test=test.filter(lambda Row: Row!=header)
print(train.first())
print(test.first())
train = train.map(lambda x: x[4:17])
test = test.map(lambda x: x[3:16])
print(train.first())
print(test.first())
# Reading required column
train = train.map(lambda x: LabeledPoint(x[0],x[1:13]))
test = test.map(lambda y: LabeledPoint(y[0],y[1:13]))
print(train.first())
print(test.first())
#Naive Bayes Model training
model = NaiveBayes.train(train, 1.0)
#Prediction and save as Test file
predictionAndLabel = test.map(lambda p: (model.predict(p.features), p.label))
print(predictionAndLabel.first())
predictionAndLabel.saveAsTextFile('c:/csv/mycsv.csv')
#Accuracy Checking
accuracy = 1.0 * predictionAndLabel.filter(lambda (x, v): x == v).count()/test.count()
print('model accuracy {}'.format(accuracy))
ERROR:
An error occurred while calling o5072.saveAsTextFile. : org.apache.spark.SparkException: Job aborted due to stage failure: Task 0 in stage 365.0 failed 1 times, most recent failure: Lost task 0.0 in stage 365.0 (TID 460, localhost)
はまだ私は問題に直面しています:。
- 省 'predictAndLabel' 'saveAsTest' をテキストに出力を予測しましたファイル。
- 行番号の参照を使用して、testAndLabel結果とテスト入力を結合します。この2行で
こんにちはJames Z、私は結果を得るために同じように操作するので、任意のコード例を提供できますか? – Ram