Creates iris.py at root with region tags
# This file is for training on Cloud ML Engine with scikit-learn.
+
+# [START setup]
import datetime
import os
import subprocess
@@ -11,7 +13,10 @@ from sklearn.externals import joblib
# Fill in your Cloud Storage bucket name
BUCKET_ID = <YOUR_BUCKET_NAME>
+# [END setup]
+
+# [START download-data]
iris_data_filename = 'iris_data.csv'
iris_target_filename = 'iris_target.csv'
data_dir = os.path.join('gs://cloud-samples-data/ml-engine/iris')
@@ -23,12 +28,18 @@ subprocess.check_call(['gsutil', 'cp', os.path.join(data_dir,
subprocess.check_call(['gsutil', 'cp', os.path.join(data_dir,
iris_target_filename),
iris_target_filename], stderr=sys.stdout)
+# [END download-data]
+
+# [START load-into-pandas]
# Load data into pandas
iris_data = pd.read_csv(iris_data_filename).values
iris_target = pd.read_csv(iris_target_filename).values
iris_target = iris_target.reshape((iris_target.size,))
+# [END load-into-pandas]
+
+# [START train-and-save-model]
# Train the model
classifier = svm.SVC(verbose=True)
classifier.fit(iris_data, iris_target)
@@ -36,8 +47,12 @@ classifier.fit(iris_data, iris_target)
# Export the classifier to a file
model = 'model.joblib'
joblib.dump(classifier, model)
+# [END train-and-save-model]
+
+# [START upload-model]
# Upload the saved model file to Cloud Storage
model_path = os.path.join('gs://', bucket, datetime.datetime.now().strftime(
'iris_%Y%m%d_%H%M%S'), model)
subprocess.check_call(['gsutil', 'cp', model, model_path], stderr=sys.stdout)
+# [END upload-model]
