def predictNext(self, stock, pred_date_count, train_batch_size=100, use_NN=True):
trainX, trainY, trainD = self.getRawByCount(pred_date_count-train_batch_size, pred_date_count);
testX, testY, testD = self.getSingleRaw(pred_date_count)
testX = testX.reshape(1, -1)
# print trainX[0]
# print list(trainX)
sc = StandardScaler()
sc.fit(trainX)
trainX = sc.transform(trainX)
testX = sc.transform(testX)
# trainX = np.delete(trainX,0,axis=1)
# testX = np.delete(testX,0,axis=1)
fs_method = 'RFC'
pred_pro=[1,0]
trainX,testX = featureSelection (trainX, trainY, testX, [], method=fs_method, testmode=False, n_features_to_select=None)
if use_NN:
from Power import NNet
predY = NNet(TrainX=trainX, TrainY=trainY, TestX=testX)
# print predY
# pred_pro=[1,0]
else:
clf = ExtraTreesClassifier(criterion='gini', n_estimators=150, max_features='auto', n_jobs=4, class_weight='balanced')
# clf = DecisionTreeClassifier(class_weight='balanced')
clf.fit(trainX, trainY)
predY = clf.predict(testX)
# pred_pro = (clf.predict_proba(testX) if hasattr(clf, "predict_proba") else clf.decision_function(testX))
return predY[0], pred_pro[0],testY, testD, 1-clf.score(trainX, trainY)
评论列表
文章目录