【发布时间】:2020-06-20 20:08:20
【问题描述】:
我的目标是生成一个将文本分割成句子的模型。 我有一个包含 24 列的数据集(xlsx):第一列用于实例(单词)、22 个特征,最后一列包含类。只有第一列是字符串,其余都是整数。
我的代码:
dataset = pd.read_excel('File_xlsx', header=0, dtype=str)
testdataset = pd.read_excel('file_xlsx', header=0, dtype=str)
# Split-out validation dataset
array = dataset.values
testarray = dataset.values
X_train = array[1:-1]
Y_train = array[:,22]
X_test = testarray[1:-1]
Y_test = testarray[:,22]
svclassifier = SVC(kernel='linear')
svclassifier.fit(X_train,Y_train)
#Predict values using the SVM algorithm model
Y_pred = svclassifier.predict(X_test)
#Evaluation
Print(confusion_matrix(Y_test,Y_pred))
print(classification_report(Y_test,Y_pred))
运行后,我得到
ValueError: 无法将字符串转换为浮点数:'Alkl'
'Alkl' 是第一列的最后一行
我的数据集 打印(数据集[:5])
0 1 2 3 4 5 6 7 8 9 ... 14 15 16 17 18 19 20 21 22 23
0 dstwr 0 0 0 0 0 0 0 0 0 ... 0 0 0 1 0 0 0 0 0 1
1 twns 1 0 0 0 0 0 0 0 0 ... 0 0 0 1 0 0 0 0 0 2
2 Aljdyd 1 0 0 0 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 2
3 kml 1 0 0 0 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 2
4 nhAr 0 0 0 0 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 2
打印(X_train[:5])
[5 rows x 24 columns]
[['twns' '1' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0'
'1' '0' '0' '0' '0' '0' '2']
['Aljdyd' '1' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0'
'0' '0' '0' '0' '0' '0' '0' '2']
['kml' '1' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0'
'0' '0' '0' '0' '0' '0' '2']
['nhAr' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0'
'0' '0' '0' '0' '0' '0' '2']
['27' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0'
'0' '0' '0' '0' '0' '0' '2']]
【问题讨论】: