pythonpython-3.xmachine-learninggraphlab

Turi Create Error : 'module' object not callable


I am trying to implement nearest neighbor classifier in Turi Create, however I am unsure of this error I am getting. This error occurs when I create the actual model. I am using python 3.6 if that helps.

Error:

Traceback (most recent call last):
  File "/Users/PycharmProjects/turi/turi.py", line 51, in <module>
    iris_cross()
  File "/Users/PycharmProjects/turi/turi.py", line 37, in iris_cross
    clf = tc.nearest_neighbor_classifier(train_data, target='4', features=features)
TypeError: 'module' object is not callable

Code:

import turicreate as tc
import pandas as pd

from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn import datasets

import time
import numpy as np

#Iris Classification Cross Validation
def iris_cross():
    iris = datasets.load_iris()
    features = ['0','1','2','3']
    target = iris.target_names
    x = iris.data
    y = iris.target.astype(int)

    undata = np.column_stack((x,y))
    data = tc.SFrame(pd.DataFrame(undata))
    print(data)

    train_data, test_data = data.random_split(.8)

    clf = tc.nearest_neighbor_classifier(train_data, target='4', features=features)

    print('done')

iris_cross()

Solution

  • You have to actually call the create() method of the nearest_neighbor_classifier. See the library API.

    Run the following line of code instead:

    clf = tc.nearest_neighbor_classifier.create(train_data, target='4', features=features)