title: AttributeError: 'DataFrame' object has no attribute 'raw_ratings' Not able to fit KNNBasic Model
body: <p>I am trying to create a baseline model: KNNBasic with Cosine Similarity (user-based). I have done a train test split. I will be as detailed here as possible.</p>
  <p>Ratings Data Preprocessing:</p>
  <pre><code>sample_clean = sample.drop('Time', axis=1) #dropping time stamp
  class MyDataset(dataset.DatasetAutoFolds):
       #this function creates a surprise friendly dataset
       #this function already has folds built into it for cross-validation
       self.raw_sample = [(uid, pid, r, None) for (uid, pid, r) in zip(sample_clean['UserId'], sample_clean['ProductId'], sample_clean['Score'])]
       self.reader = reader
  </code></pre>
  <p>I then intanstiate my reader</p>
  <pre><code>reader = Reader(line_format = 'user item rating', rating_scale=(0,5))
  </code></pre>
  <p>I then parse my sample_clean dataframe into a surprise friendly dataset</p>
  <pre><code>surprise_sample = MyDataset(sample_clean, reader)
  </code></pre>
  <p>I check the format:</p>
  <pre><code>type(surprise_sample)
  </code></pre>
  <p>I get an output of</p>
  <pre><code>_main_.MyDataset
  </code></pre>
  <p>I proceed to make a column of raw_ratings and extract it from sample_clean:</p>
  <pre><code>raw_ratings = sample_clean.Score
  </code></pre>
  <p>Next, I perform a train validation split which works fine.</p>
  <pre><code>#test data
  test_threshold = int(.85*len(sample_clean)
  train_sample = sample_clean[:test_threshold]
  test_raw_sample = sample_clean[test_thresholds:]
  </code></pre>
  <p>#train data</p>
  <pre><code>train_threshold = int(.8*len(train_sample))
  validation_raw_sample = train_sample[train_threshold:]
  train_raw_sample = train_sample[:train_threshold]
  </code></pre>
  <p>I then check to see that no data been lost during my train test split:</p>
  <pre><code>len(train_raw_sample) + len(test_raw_sample) + len(validation_raw_sample)
  #output is 5000 which is what I wanted
  </code></pre>
  <p>I HAVE TROUBLE BELOW, I am building a baseline model that is KNNBasic with Cosine Similarity (user-based)</p>
  <pre><code>#cosine similarity
  sim_cos = {'name': 'cosine', 'user_based': True}
  #instantiate reader
  basic_user = knns.KNNBasic(sim_options = sim_cos)
  #fit the model 
  simcos_crossval_user = cross_validate(basic_user, sample_clean, measures=['rmse', 'mae'], cv=3, return_train_measure=True, n_jobs=-1, verbose=True)
  </code></pre>
  <p>this last line of code doesn't seem to work, I get an output error of:</p>
  <pre><code>AttributeError: 'DataFrame' object has no attribute 'raw_ratings'
  </code></pre>
  <p>Please help me figure out what I'm doing wrong. Thank you.</p>