1
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'

MaxU - stand with Ukraine
  • 205,989
  • 36
  • 386
  • 419
Masum Billah
  • 133
  • 1
  • 4
  • 13
  • https://stackoverflow.com/questions/41925157/logisticregression-unknown-label-type-continuous-using-sklearn-in-python – cs95 Aug 12 '17 at 01:42

2 Answers2

2

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)
BENY
  • 317,841
  • 20
  • 164
  • 234
  • Hye, If I want to Create a KNN model instance with n_neighbors=1 and Fit this KNN model to the training data. after Create a confusion matrix and classification report. any idea how can I do that, basically that's the thing I want to do. cheers – Masum Billah Aug 12 '17 at 02:56
  • @MabReyaz http://scikit-learn.org/stable/auto_examples/neighbors/plot_regression.html#sphx-glr-auto-examples-neighbors-plot-regression-py, check the example of sklearn~ and this http://scikit-learn.org/stable/modules/generated/sklearn.metrics.confusion_matrix.html – BENY Aug 12 '17 at 03:22
0
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)
Paul Roub
  • 36,322
  • 27
  • 84
  • 93