Я пытаюсь классифицировать текст с помощью SGDClassifier (loss = 'hinge'), для которого я также хочу получить их вероятности.Поскольку для SGDClassifier (loss = 'hinge') нет предиката Предсказания (), я прошел эту публикацию и узнал, что это может быть достигнуто с помощью CalibratedClassifierCV
У меня естькадр данных с небольшим текстом и соответствующим ему классом
import pandas as pd
from sklearn.linear_model import SGDClassifier
from sklearn.pipeline import Pipeline
from sklearn.feature_extraction.text import TfidfTransformer
from sklearn.feature_extraction.text import CountVectorizer, TfidfVectorizer
from sklearn.calibration import CalibratedClassifierCV
df = pd.DataFrame({'Name':['An Apple a day','Apple is a fruit','Oranges are grown in asia','Chalk and duster','Cheese is very nice','Duster is used to wipe from chalk','I like Oranges'],'Class':['apple','apple','oranges','duster','cheese','duster','oranges']})
sgd = Pipeline([('vect', CountVectorizer()),
('tfidf', TfidfTransformer()),
('clf', SGDClassifier(loss='hinge', penalty='l2',alpha=1e-3, random_state=42, max_iter=5)),
])
sgd = CalibratedClassifierCV(sgd, cv=3, method='sigmoid')
sgd.fit(df['Name'], df['Class']) #--> This line gives me error
выдает ошибку
Traceback (most recent call last):
File "<ipython-input-27-bf5d0ceadb82>", line 1, in <module>
calibrated_clf.fit(df['Name'], df['Class'])
File "C:\Users\20300975\AppData\Local\Continuum\anaconda3\lib\site-packages\sklearn\calibration.py", line 133, in fit
force_all_finite=False)
File "C:\Users\20300975\AppData\Local\Continuum\anaconda3\lib\site-packages\sklearn\utils\validation.py", line 756, in check_X_y
estimator=estimator)
File "C:\Users\20300975\AppData\Local\Continuum\anaconda3\lib\site-packages\sklearn\utils\validation.py", line 527, in check_array
array = np.asarray(array, dtype=dtype, order=order)
File "C:\Users\20300975\AppData\Local\Continuum\anaconda3\lib\site-packages\numpy\core\numeric.py", line 501, in asarray
return array(a, dtype, copy=False, order=order)
ValueError: could not convert string to float: 'An Apple a day'
Кто-нибудь имеет какое-либо представление об этом?