Masum Billah
Masum Billah

Reputation: 135

Unknown label type: continuous

Avg.SessionLength TimeonApp TimeonWebsite LengthofMembership Yearly Amount Spent
0   34.497268   12.655651   39.577668   4.082621    587.951054
1   31.926272   11.109461   37.268959   2.664034    392.204933
2   33.000915   11.330278   37.110597   4.104543    487.547505
3   34.305557   13.717514   36.721283   3.120179    581.852344
4   33.330673   12.795189   37.536653   4.446308    599.406092
5   33.871038   12.026925   34.476878   5.493507    637.102448
6   32.021596   11.366348   36.683776   4.685017    521.572175

I want to apply KNN:

X = df[['Avg. Session Length', 'Time on App','Time on Website', 'Length of Membership']] 
y = df['Yearly Amount Spent'] 
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.33, random_state=42) 
from sklearn.neighbors import KNeighborsClassifier 
knn = KNeighborsClassifier(n_neighbors=1)
knn.fit(X_train,y_train)

ValueError: Unknown label type: 'continuous'

Upvotes: 1

Views: 7117

Answers (2)

Ish Beniwal
Ish Beniwal

Reputation: 3

def type_of_target(y):
    """Determine the type of data indicated by the target.

    Note that this type is the most specific type that can be inferred.
    For example:

        * ``binary`` is more specific but compatible with ``multiclass``.
        * ``multiclass`` of integers is more specific but compatible with
          ``continuous``.
        * ``multilabel-indicator`` is more specific but compatible with
          ``multiclass-multioutput``.

    Parameters
    ----------
    y : array-like

    Returns
    -------
    target_type : string
        One of:

        * 'continuous': `y` is an array-like of floats that are not all
          integers, and is 1d or a column vector.

## from knn.fit(X_train,y_train)  change y_train as y_train.astype(int)

Upvotes: 0

BENY
BENY

Reputation: 323226

You are looking for KNeighborsRegressor not KNeighborsClassifier Change your code to

X = df[['Avg. Session Length', 'Time on App','Time on Website', 'Length of Membership']] 
y = df['Yearly Amount Spent'] 
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.33, random_state=42) 
from sklearn.neighbors import KNeighborsRegressor
knn = KNeighborsRegressor(n_neighbors=1)
knn.fit(X_train,y_train)

Upvotes: 2

Related Questions