import numpy as np
from sklearn import linear_model
X = np.array([[-1, -1], [-2, -1], [1, 1], [2, 1]])
Y = np.array(['C++', 'C#', 'java','python'])
clf = linear_model.SGDClassifier()
clf.fit(X, Y)
print (clf.predict([[1.7, 0.7]]))
#python
我试图通过给出一个测试用例并在一个训练数据X上训练它来预测数组Y的值,现在我的问题是,我想将训练集X更改为TF-IDF特征向量,所以这怎么可能呢?
含糊地说,我想做这样的事
import numpy as np
from sklearn import linear_model
X = np.array_str([['abcd', 'efgh'], ['qwert', 'yuiop'], ['xyz','abc'],['opi', 'iop']])
Y = np.array(['C++', 'C#', 'java','python'])
clf = linear_model.SGDClassifier()
clf.fit(X, Y)
最佳答案
您应该查看scikit-learn
中的TfidfVectorizer。
我假设X是一个要分类的文本列表。
from sklearn.feature_extraction.text import TfidfVectorizer
vectorizer = TfidfVectorizer()
X_train = vectorizer.fit_transform(X)
然后使用
X_train
作为新的X来训练分类器。clf = linear_model.SGDClassifier()
clf.fit(X_train, Y)
关于python - 从sklearn将TFIDF特征向量传递到SGDClassifier,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32457795/