global Path
if sc.master[0:5] == 'local':
Path = 'file:/home/swt/pythonwork/PythonProject/'
else:
Path = "hdfs://localhost:9000/user/swt/"
import numpy as np
from pyspark.mllib.regression import LabeledPoint
from pyspark.mllib.tree import DecisionTree
print('load data...')
rawDataWithHeader = sc.textFile(Path+'data/train.tsv')
header = rawDataWithHeader.first()
rawData=rawDataWithHeader.filter(lambda x:x !=header)
rData=rawData.map(lambda x:x.replace("\"",""))
lines = rData.map(lambda x:x.split("\t"))
def extract_features(fleld,catedoriesMap,featureEnd):
categoryidx = catedoriesMap[fleld[3]]
categoryfeatures = np.zeros(len(catedoriesMap))
categoryfeatures[categoryidx] = 1
numericalFeatures=[convert_float(fleld) for fleld in fleld[4:featureEnd]]
return np.concatenate((categoryfeatures,numericalFeatures))
def convert_float(x):
return (0 if x=="?" else float(x))
def extract_label(field