我有 4000 个特征和 35 个样本的数据集。所有特征都是 1 到 3 之间的浮点数。例如:2.68244527684596。
我正在努力让任何分类器处理这些数据。我使用过 knn、svm(带有线性、rbf、poly)。然后我了解了标准化。不过,这对我来说有点复杂,我无法让这段代码正常工作并给我正确的预测。
我用来规范化数据的代码是:
train_data = preprocessing.scale(train_data)
train_data = preprocessing.normalize(train_data,'l1',0)
我试图分类的代码是:
# SVM with poly
svc1 = svm.SVC(kernel='poly',degree=3)
svc1.fit(train_data[:-5], train_labels[:-5])
print "Poly SVM: ",svc1.predict(train_data[-5:])
# SVM with rbf
svc2 = svm.SVC(kernel='rbf')
svc2.fit(train_data[:-5], train_labels[:-5])
print "RBF SVM: ",svc2.predict(train_data[-5:])
#SVM with linear
svc3 = svm.SVC(kernel='linear')
svc3.fit(train_data[:-5], train_labels[:-5])
print "Linear SVM: ",svc3.predict(train_data[-5:])
# KNN
knn = KNeighborsClassifier()
knn.fit(train_data[:-5], train_labels[:-5])
print "KNN :", knn.predict(train_data[-5:])
# Linear regression
logistic = linear_model.LogisticRegression()
print('LogisticRegression score: %f' % logistic.fit(train_data[5:], train_labels[5:]).score(train_data[0:4], train_labels[0:4]))
我是机器学习的新手,我正在努力学习更多关于所有概念的知识。我想有人可能会指出我正确的方向。
注意:我只有 35 个样本,这是作业的一部分。我无法获得更多数据:(