-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtpot_iris_pipeline.py
21 lines (17 loc) · 975 Bytes
/
tpot_iris_pipeline.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.naive_bayes import BernoulliNB
from sklearn.pipeline import make_pipeline, make_union
from sklearn.svm import LinearSVC
from tpot.builtins import StackingEstimator
# NOTE: Make sure that the class is labeled 'class' in the data file
tpot_data = np.recfromcsv('PATH/TO/DATA/FILE', delimiter='COLUMN_SEPARATOR', dtype=np.float64)
features = np.delete(tpot_data.view(np.float64).reshape(tpot_data.size, -1), tpot_data.dtype.names.index('class'), axis=1)
training_features, testing_features, training_target, testing_target = \
train_test_split(features, tpot_data['class'], random_state=42)
exported_pipeline = make_pipeline(
StackingEstimator(estimator=BernoulliNB(alpha=0.001, fit_prior=True)),
LinearSVC(dual=True, loss="squared_hinge", penalty="l2", tol=0.1)
)
exported_pipeline.fit(training_features, training_target)
results = exported_pipeline.predict(testing_features)