私の状況のちょうど簡単なアイデア:ID、テキスト、カテゴリ、ラベル: 私は入力の4列を持っています。scikit learn:TFIDFVectorizerを実行した後に他の機能を組み込む方法は?
私は私にTFIDFスコアの単語トークンを持つインスタンスのリストを与えるテキストにTFIDFVectorizerを使用。
ここでは、(ベクタライザによって出力されるデータの別の機能として、TFIDFを渡す必要はありません)を含めることにします。
ベクトル化する前に、データはtrain_test_splitになりました。
これをどのように達成できますか?
初期コード:
#initialization
import pandas as pd
path = 'data\data.csv'
rappler= pd.read_csv(path)
X = rappler.text
y = rappler.label
#rappler.category - contains category for each instance
#split train test data
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=1)
#feature extraction
from sklearn.feature_extraction.text import CountVectorizer
vect = CountVectorizer()
X_train_dtm = vect.fit_transform(X_train)
#after or even prior to perform fit_transform, how can I properly add category as a feature?
X_test_dtm = vect.transform(X_test)
#actual classfication
from sklearn.naive_bayes import MultinomialNB
nb = MultinomialNB()
nb.fit(X_train_dtm, y_train)
y_pred_class = nb.predict(X_test_dtm)
#display result
from sklearn import metrics
print(metrics.accuracy_score(y_test,y_pred_class))
カテゴリの種類は?文字列 ?それが文字列なら、その機能をエンコードすることができます – MMF
@MMFはい、文字列です。しかし整数が必要な場合、私はそれを実現させることができます。 – BossChix