Машинное обучение с несколькими помеченными данными - PullRequest
0 голосов
/ 20 апреля 2020
X = df1['PRODUCT_NAME']  
y = df1['MFG_NAME']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
from sklearn.feature_extraction.text import CountVectorizer
count_vect = CountVectorizer()
X_train_counts = count_vect.fit_transform(X_train)
X_train_counts.shape
from sklearn.feature_extraction.text import TfidfTransformer
tfidf_transformer = TfidfTransformer()
X_train_tfidf = tfidf_transformer.fit_transform(X_train_counts)
from sklearn.svm import LinearSVC
clf = LinearSVC()
clf.fit(X_train_tfidf,y_train)
from sklearn.pipeline import Pipeline
from sklearn.feature_extraction.text import TfidfVectorizer
text_clf = Pipeline([('tfidf', TfidfVectorizer()),
                     ('clf', LinearSVC()),
])
text_clf.fit(X_train, y_train)  
predictions = text_clf.predict(X_test)
print(metrics.classification_report(y_test,predictions))
df2 = pd.DataFrame(index=X_test.index)
df2['y_test'] = predictions
df_out = pd.merge(df2,df1,how = 'left',left_index = True, right_index = True)

У меня есть «Отчет по счету», в котором я хочу обучить мои «Описание счета» и «Номер детали», оба из них - Текст / alphanumeri c.

Описание счета как ... MT-8200-50A; Тонер IntelliTone Pro 100 и проб CB-84901-1005-15; Кабель Cognex Ethe rnet, 15 метров

Номера деталей, например 1152 ASR900

и я хочу предсказать «Производитель», который также является текстом типа (Cisco, Nokia, Dell ....), где у меня есть 100+ меток / Производитель.

, поэтому какой подход будет целесообразным.

Я использовал LinearSV C и получил точность 90%, но я просто использовал одну целевую переменную «Описание счета».

Мой вопрос: я хочу использовать как «Описание счета», так и «Номер детали» мне нужно выполнить countvectorizer / tfidf для обоих. если да ... как? нужна ваша помощь.

и так как у нас есть несколько «Производитель», нам нужно создать для него фиктивные переменные?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...