小编ssh*_*h26的帖子

sklearn MiniBatchKMeans中的弃用警告

vectors = model.syn0

n_clusters_kmeans = 20 # more for visualization 100 better for clustering

min_kmeans = MiniBatchKMeans(init='k-means++', n_clusters=n_clusters_kmeans, n_init=10)
min_kmeans.fit(vectors)

X_reduced = TruncatedSVD(n_components=50,  random_state=0).fit_transform(vectors)
X_embedded = TSNE(n_components=2, perplexity=40, verbose=2).fit_transform(X_reduced)

fig = plt.figure(figsize=(10, 10))
ax = plt.axes(frameon=False)
plt.setp(ax, xticks=(), yticks=())
plt.subplots_adjust(left=0.0, bottom=0.0, right=1.0, top=0.9,     wspace=0.0, hspace=0.0)
plt.scatter(X_embedded[:, 0], X_embedded[:, 1], c=None, marker="x")
plt.show()
Run Code Online (Sandbox Code Playgroud)

我想绘制矢量.我正在使用sklearn.cluster MiniBatchKMeans.上面的代码给出了以下弃用错误:

/usr/local/lib/python3.5/site-packages/sklearn/cluster/k_means_.py:1328:DreprecationWarning:不推荐使用此函数.请调用randint(0,99 + 1)代替0,n_samples - 1,self.batch_size)

任何建议表示赞赏.谢谢

python machine-learning scikit-learn

9
推荐指数
1
解决办法
2666
查看次数

根据python中训练和测试集中的时间戳为每个用户拆分数据集

我正在使用movielens数据集(ratings.dat)和pandas数据框读取和处理数据。我必须将这些数据分为测试和训练集。通过使用pandas dataframe.sample函数,可以将数据分为随机拆分。例如:

训练= df.sample(分数= 0.8,random_state = 200)

测试= df.drop(train.index)

现在,我尝试对user_id上的数据进行排序,然后对时间戳进行排序,我需要分别在训练集和测试集中将数据划分为每个用户80%-20%。

因此,例如,如果user1评定了10部电影,则该用户的条目应根据时间戳从最早到最新进行排序

评分= pd.read_csv('文件名',sep ='\ t',engine ='python',标头= 0)

sorted_df = rating.sort(['user_id','timestamp'],ascending = [True,True])

并且应该以这样的方式进行拆分:时间戳记最旧的前8个条目将位于训练集中,而最新的2个条目将位于测试集中。

我不知道该怎么办。有什么建议么?

谢谢

数据:

           user_id   item_id   rating   Timestamp 
15              1      539        5  838984068
16              1      586        5  838984068
5               1      355        5  838984474
9               1      370        5  838984596
12              1      466        5  838984679
14              1      520        5  838984679
19              1      594        5  838984679
7               1      362        5  838984885
20              1      616        5  838984941
23              2      260        5  868244562 …
Run Code Online (Sandbox Code Playgroud)

python pandas

4
推荐指数
1
解决办法
1065
查看次数

类型错误:“NoneType”对象不可下标,scores.sort()

scores.append((item, score))
output_file.write(scores.sort()[:20] + '\n')
Run Code Online (Sandbox Code Playgroud)

我需要对分数进行排序并将前 20 个分数写入文件中。上面是我的代码,我最终得到了 TypeError: 'NoneType' object is not subscriptable

谢谢。

sorting ipython

1
推荐指数
1
解决办法
4722
查看次数