【问题标题】:Scikit-learn text autoclassyfiation with two set of data in CSV files - empty resultsScikit-learn 文本自动分类,CSV 文件中有两组数据 - 空结果
【发布时间】:2018-04-07 00:09:03
【问题描述】:

我正在开发一个自动分类项目,首先要分离 csv 文件 train_data.csv 和 new_data.csv。

我正在使用来自本地网络驱动器的文件路径来分类到正确的类别。句子很短,所以我决定跳过蒸汽和停用词删除,只运行分类器来预测类别。在测试阶段取得良好的结果,准确率约为 81%,现在使用真实数据。

我的结果应该是 CSV 文件,其中包含 3 列文件路径、预测类别和特定值的“很高兴”% 准确度。

这是我的代码,现在它生成的空列应该是预测值。

# coding: utf-8
# In[24]:
import pandas as pd
data = pd.read_csv('train_data.csv',encoding='latin1', dtype={'SourcePath': str}, )
# In[25]:
import numpy as np
numpy_array = data.as_matrix()
X_train = numpy_array[:, 0]
Y_train = numpy_array[:, 1]
# In[26]:
data.head()
# In[27]:
data_test = pd.read_csv('new_data.csv',encoding='latin1', dtype={'SourcePath': str}, )
data_test.DocumentType=data_test.DocumentType.astype(str)
# In[28]:
data_test.head()
# In[29]:
numpy_array = data_test.as_matrix()
X_test = numpy_array[:, 0]
Y_test = numpy_array[:, 1]
# In[30]:
print(X_test)
# In[31]:
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.feature_extraction.text import TfidfTransformer
from sklearn.pipeline import Pipeline
from sklearn.linear_model import SGDClassifier
text_clf_svm = Pipeline([('vect', CountVectorizer(stop_words='english')), ('tfidf', TfidfTransformer()),
                         ('clf-svm', SGDClassifier(loss='hinge', penalty='l2',alpha=1e-3, max_iter=5, random_state=42))])

text_clf_svm = text_clf_svm.fit(X_train, Y_train)
predicted_svm = text_clf_svm.predict(X_test)
np.mean(predicted_svm == Y_test)

pd.concat([pd.Series(X_test),pd.Series(Y_test)],axis=1)
data.to_csv('outpoot2.csv')

【问题讨论】:

    标签: python scikit-learn text-classification


    【解决方案1】:

    更新 我找到了一个解决方案,所以第二个 numpy 数组应该看起来像这样

    numpy_array1 = df.as_matrix()
    X_test = numpy_array1[:, 0]
    Y_test = numpy_array1[:, 1]
    

    然后保存输出

    df_out = pd.concat([pd.Series(X_test),pd.Series(predicted_svm)],axis=1)
    df_out.to_csv('outpoot.csv')
    

    然后它就像一个魅力

    【讨论】:

      猜你喜欢
      • 2018-07-14
      • 2018-07-03
      • 2014-12-31
      • 2016-05-25
      • 2019-04-01
      • 2012-07-30
      • 2012-06-16
      • 2012-12-06
      • 2018-02-11
      相关资源
      最近更新 更多