2016-01-23 3 views
2

Я преобразовал свой набор данных в dataframe. Мне было интересно, как его использовать в scikit kmeans или в любом другом пакете kmeans.Как использовать Scikit kmeans, когда у меня есть dataframe

import csv 
import codecs 
import pandas as pd 
import sklearn 
from sklearn import cross_validation 
from sklearn.cross_validation import train_test_split 
sample_df = pd.read_csv('sample.csv',sep='\t',keep_default_na=False, na_values=[""]) 
print sample_df['Polarity'] 
print sample_df['Gravity'] 
print sample_df['Sense'] 
print sample_df[['Polarity','Gravity']] 
sklearn.cluster.KMeans(n_clusters=8, init='k-means++', n_init=10, max_iter=300, tol=0.0001, precompute_distances='auto', verbose=0, random_ state=None, copy_x=True, n_jobs=1) 

В дополнение к этой любезной помощи с поездом и испытанием. Заранее спасибо.

ответ

6

sklearn полностью совместим с pandas DataFrames. Таким образом, это так просто, как:

sample_df_train, sample_df_test = sklearn.cross_validation.train_test_split(sample_df, train_size=0.6) 

cluster = sklearn.cluster.KMeans(n_clusters=8, init='k-means++', n_init=10, max_iter=300, tol=0.0001, precompute_distances='auto', verbose=0, random_state=None, copy_x=True, n_jobs=1) 
cluster.fit(sample_df_train) 
result = cluster.predict(sample_df_test) 

Это 0.6 означает, что вы используете 60% ваших данных для обучения, 40% для тестирования.

Больше информации здесь:

http://scikit-learn.org/stable/modules/generated/sklearn.cross_validation.train_test_split.html http://scikit-learn.org/stable/modules/generated/sklearn.cluster.KMeans.html

+0

Спасибо человек .. Он работал. :) –

+0

Добро пожаловать. Пожалуйста, не забудьте подтвердить и принять мой ответ, когда вы достигнете требуемой репутации. –

+0

уже сделано .. Но wil будет отражено после достижения требуемой репутации .. :) –

Смежные вопросы