在该计划中,我每隔2.5秒扫描一次40 x 64 x 64图像的时间序列拍摄的大量样本。 '体素的数量'因此,每个图像中的(3D像素)是~168,000 ish(40 * 64 * 64),每个都是一个特征'对于图像样本。
我想过使用递归特征消除(RFE)。然后使用主成分分析(PCA)进行跟进,因为n具有极高的n来执行降维。
有9个课程要预测。因此是一个多类别的分类问题。从RFE开始:
estimator = SVC(kernel='linear')
rfe = RFE(estimator,n_features_to_select= 20000, step=0.05)
rfe = rfe.fit(X_train,y_train)
X_best = rfe.transform(X_train)
现在执行PCA:
X_best = scale(X_best)
def get_optimal_number_of_components():
cov = np.dot(X_best,X_best.transpose())/float(X_best.shape[0])
U,s,v = svd(cov)
print 'Shape of S = ',s.shape
S_nn = sum(s)
for num_components in range(0,s.shape[0]):
temp_s = s[0:num_components]
S_ii = sum(temp_s)
if (1 - S_ii/float(S_nn)) <= 0.01:
return num_components
return s.shape[0]
n_comp = get_optimal_number_of_components()
print 'optimal number of components = ', n_comp
pca = PCA(n_components = n_comp)
pca = pca.fit(X_best)
X_pca_reduced = pca.transform(X_best)
使用SVM训练简化的组件数据集
svm = SVC(kernel='linear',C=1,gamma=0.0001)
svm = svm.fit(X_pca_reduced,y_train)
现在将训练集转换为RFE-PCA减少并进行预测
X_rfe = rfe.transform(X_test)
X_pca = pca.transform(X_rfe)
predictions = svm.predict(X_pca)
print 'predictions = ',predictions
print 'actual = ',y_test
但我总是为每个样本得到相同的预测值!
predictions = [2 2 2 2 2 2 2 2 2 2 2 2 2] #Why is it the same?!!
actual = actual = [[0]
[0]
[6]
[8]
[4]
[5]
[0]
[6]
[2]
[3]
[0]
[5]
[6]]
我确保使用线性内核。我还考虑用(1,0.001)(1,0.0001)(10,0.001),(10,0。0.0001)等值修改C,gamma ...但我得到相同的输出。
我有什么东西在这里失踪吗?
编辑1
我执行了
print svm.decision_function(X_pca)
,输出结果为:
[[ -4.79479982e+02 -8.01563453e+02 -9.91453849e+02 -1.34641884e+02
-1.02315530e+03 -2.88297991e+02 -8.41843812e+02 4.79807826e+02
-3.50485820e+02 -2.31081776e+02 -1.42555136e+02 -4.79034448e+02
-6.93029988e+01 -7.34288793e+02 -5.49271317e+01 1.98108304e+02
4.80257991e+02 2.46835670e+02 2.90045437e+02 1.53261114e+02
9.15742824e+02 -1.28387833e+01 -3.05045240e+02 -2.19268988e+01
-2.24896384e+02 1.44501465e+02 -9.17438352e+01 -6.96148972e+01
-1.15785658e+02 9.53878230e+01 1.79823987e+01 8.05242433e+01
8.33917960e+02 -1.69686889e+01 9.85949158e+01 2.68935397e+02]
[ -4.62804973e+02 -8.26454112e+02 -9.83214857e+02 -1.43367127e+02
-1.03538041e+03 -2.86397664e+02 -8.47539241e+02 4.63709033e+02
-3.52018380e+02 -2.49936725e+02 -1.43734219e+02 -4.79498907e+02
-6.93338619e+01 -7.51141272e+02 -5.30999658e+01 1.95687050e+02
4.69206888e+02 2.46530774e+02 2.92047409e+02 1.47934614e+02
9.27901865e+02 -1.21801344e+01 -2.99530129e+02 -2.03238750e+01
-2.26862390e+02 1.47692745e+02 -8.81396485e+01 -6.41692405e+01
-1.14247569e+02 1.01567350e+02 1.87874038e+01 6.90549126e+01
8.41984280e+02 -2.04488188e+01 1.00839951e+02 2.75459577e+02]
[ -4.49255185e+02 -7.89243063e+02 -9.78820180e+02 -1.29050171e+02
-1.01784356e+03 -3.23431625e+02 -7.98795796e+02 4.93058279e+02
-3.64674793e+02 -2.46545700e+02 -1.66933546e+02 -4.84571326e+02
-9.93316258e+01 -7.36182373e+02 -6.23110881e+01 2.08061873e+02
4.28119725e+02 2.75927668e+02 2.36425246e+02 1.69950273e+02
9.50488041e+02 -3.17986619e+01 -3.03656967e+02 -4.78710028e+01
-2.20752797e+02 1.36973850e+02 -5.31583763e+01 -1.08205173e+02
-7.94698530e+01 1.37320498e+02 -2.31183352e+01 8.41399154e+01
8.26408412e+02 1.30471236e+01 1.48266050e+02 2.55914495e+02]
[ -4.80424764e+02 -8.07660826e+02 -9.91911478e+02 -1.35981428e+02
-1.02923114e+03 -2.93372818e+02 -8.47420541e+02 4.60149182e+02
-3.48333176e+02 -2.37654055e+02 -1.39277819e+02 -4.78486235e+02
-6.83571401e+01 -7.34632739e+02 -5.73953318e+01 1.95508198e+02
4.80569807e+02 2.37500896e+02 2.89038289e+02 1.49855773e+02
9.09217973e+02 -1.04236971e+01 -3.02128880e+02 -2.16485093e+01
-2.23313869e+02 1.43686084e+02 -9.74071814e+01 -7.22417410e+01
-1.19091495e+02 8.94390723e+01 1.97000084e+01 8.08496457e+01
8.39105553e+02 -1.82282013e+01 9.82685256e+01 2.67791421e+02]
[ -4.74406707e+02 -8.18308535e+02 -9.76126419e+02 -1.74849565e+02
-1.02784293e+03 -2.96842934e+02 -8.42749406e+02 4.83769137e+02
-3.59483221e+02 -2.24264385e+02 -1.61995143e+02 -4.78030614e+02
-8.02309023e+01 -7.54316452e+02 -5.43436450e+01 2.05876768e+02
4.33470519e+02 2.67598191e+02 2.75764466e+02 1.53323191e+02
9.45967383e+02 -2.93192233e+01 -3.04615693e+02 -3.20731950e+01
-2.42783848e+02 1.40891844e+02 -6.13739832e+01 -6.15060481e+01
-9.51924850e+01 1.35666499e+02 2.41364468e+00 6.39635318e+01
8.37881867e+02 -1.03313421e+01 1.19234038e+02 2.76305651e+02]
[ -4.84321668e+02 -8.07444080e+02 -1.01507160e+03 -1.28529685e+02
-1.05601843e+03 -2.99493242e+02 -8.41745493e+02 4.75608122e+02
-3.37295601e+02 -2.49242183e+02 -1.30463265e+02 -4.74284269e+02
-6.05670230e+01 -7.34447396e+02 -4.01117838e+01 1.80948824e+02
4.80450158e+02 2.19859113e+02 2.94798893e+02 1.35958067e+02
9.13259527e+02 -3.52105914e-01 -2.92301811e+02 -1.24432589e+01
-2.13204265e+02 1.64167920e+02 -1.02951065e+02 -7.04800774e+01
-1.31293866e+02 9.12032854e+01 2.67291593e+01 7.78485633e+01
8.74745197e+02 -2.50250734e+01 9.69993408e+01 2.83018293e+02]
[ -4.68184798e+02 -7.85221871e+02 -9.98980941e+02 -1.08799100e+02
-1.02080996e+03 -2.87470373e+02 -8.29552725e+02 4.99360929e+02
-3.31724034e+02 -2.56603688e+02 -1.24320652e+02 -4.60348857e+02
-6.21852802e+01 -7.31782526e+02 -2.56669989e+01 1.74050279e+02
4.74370392e+02 2.26812613e+02 2.78945379e+02 1.29667612e+02
9.21512986e+02 3.74936721e+00 -2.77509203e+02 -1.34603952e+01
-2.12032693e+02 1.72842580e+02 -9.71967056e+01 -8.19354011e+01
-1.32985460e+02 9.55148610e+01 1.66381043e+01 5.88073445e+01
8.62770538e+02 -2.37682031e+01 1.06714435e+02 2.94158166e+02]
[ -4.63681347e+02 -8.22291452e+02 -9.98021515e+02 -1.54810425e+02
-1.03372001e+03 -3.34322759e+02 -8.34407336e+02 4.71050572e+02
-3.69327864e+02 -2.40580250e+02 -1.65003310e+02 -4.88818830e+02
-9.73775374e+01 -7.51246204e+02 -6.69606962e+01 2.13573607e+02
4.49817824e+02 2.79532473e+02 2.41873397e+02 1.69963589e+02
9.53153717e+02 -2.88140674e+01 -3.13030733e+02 -4.54555034e+01
-2.32589565e+02 1.36869994e+02 -6.33773098e+01 -1.06164181e+02
-8.91557438e+01 1.24881490e+02 -1.94528381e+01 7.98035685e+01
8.22835959e+02 8.75642083e+00 1.43002335e+02 2.61562868e+02]
[ -4.77620825e+02 -8.40698094e+02 -1.01067455e+03 -1.56851274e+02
-1.05031578e+03 -3.14666532e+02 -8.46541414e+02 4.61714738e+02
-3.60822150e+02 -2.44485564e+02 -1.53420660e+02 -4.85710648e+02
-7.77752216e+01 -7.55747678e+02 -5.87745617e+01 2.04601581e+02
4.68781099e+02 2.63234873e+02 2.86306284e+02 1.58817281e+02
9.43249321e+02 -1.87631625e+01 -3.06321663e+02 -2.78828679e+01
-2.27554363e+02 1.46508283e+02 -7.88844807e+01 -7.41051812e+01
-1.05094485e+02 1.12231546e+02 7.97692231e+00 7.67304852e+01
8.43518403e+02 -1.12844915e+01 1.13370158e+02 2.70797472e+02]
[ -4.91420429e+02 -7.90722180e+02 -1.05615447e+03 -1.20351520e+02
-1.04098604e+03 -2.92426682e+02 -8.45105853e+02 4.78228854e+02
-3.10412377e+02 -2.77543578e+02 -1.09733119e+02 -4.40834428e+02
-4.35168704e+01 -7.29088994e+02 -6.64581241e+00 1.48560861e+02
4.74565890e+02 2.07485677e+02 2.99817382e+02 1.09936148e+02
9.03346951e+02 2.26102442e+01 -2.45854761e+02 8.31279855e+00
-1.92441568e+02 2.03079787e+02 -1.05267244e+02 -6.41835912e+01
-1.49582656e+02 8.73008441e+01 3.36913246e+01 5.11061286e+01
8.79159912e+02 -3.85152954e+01 9.08938445e+01 3.04037825e+02]
[ -4.85998114e+02 -7.83944995e+02 -9.68132304e+02 -1.54631678e+02
-1.01186983e+03 -2.80419560e+02 -8.72211797e+02 4.97352635e+02
-3.56256101e+02 -2.23204297e+02 -1.55355470e+02 -4.80882457e+02
-7.86287112e+01 -7.58318471e+02 -5.10727433e+01 2.08265151e+02
4.49457388e+02 2.65764723e+02 2.72435473e+02 1.53296624e+02
9.44654406e+02 -2.50922419e+01 -3.17539501e+02 -3.16241295e+01
-2.51387679e+02 1.38109115e+02 -6.97122491e+01 -6.59836763e+01
-1.03441764e+02 1.19472073e+02 3.60256872e+00 6.22040523e+01
8.19929661e+02 -1.26581261e+01 1.12555974e+02 2.80480600e+02]
[ -4.70876215e+02 -7.87431621e+02 -9.96007256e+02 -1.30872700e+02
-1.03175439e+03 -2.94238915e+02 -8.36753617e+02 4.77420371e+02
-3.38091939e+02 -2.44272006e+02 -1.35130348e+02 -4.72973924e+02
-6.19636207e+01 -7.37123284e+02 -4.28620473e+01 1.80929974e+02
4.67912162e+02 2.22731582e+02 2.93578369e+02 1.34101279e+02
9.04139841e+02 -3.91744880e+00 -2.88182153e+02 -1.22493089e+01
-2.15621705e+02 1.59580065e+02 -9.57584381e+01 -6.41773592e+01
-1.28168370e+02 9.42107498e+01 2.61332125e+01 7.00130475e+01
8.58092989e+02 -2.62818439e+01 9.40455319e+01 2.82505159e+02]
[ -4.70908104e+02 -8.29375323e+02 -9.93882131e+02 -1.47050049e+02
-1.03443155e+03 -3.28570789e+02 -8.31014742e+02 4.92865993e+02
-3.70050739e+02 -2.35488125e+02 -1.63833070e+02 -4.86930191e+02
-9.74429858e+01 -7.48852374e+02 -6.17719584e+01 2.13942179e+02
4.52542022e+02 2.83202323e+02 2.43990105e+02 1.72094231e+02
9.65225890e+02 -2.92801036e+01 -3.13220814e+02 -4.60705452e+01
-2.32787033e+02 1.38783264e+02 -6.23061347e+01 -1.05977672e+02
-8.75333469e+01 1.31424380e+02 -1.99414766e+01 7.97712157e+01
8.30620576e+02 9.19139268e+00 1.44727040e+02 2.65196706e+02]]
因此,每个样本的值都不同(尽管略有不同)。我假设模型正在做某事。我只是不知道什么是错的。
答案 0 :(得分:1)
如果第2类比任何其他类更有可能发生,并且这些特征的信息量不足以在类之间进行强有力的区分,那么模型将始终预测第2类。 svm.decision_function(X_pca) 查看每个班级每个样本的分数。如果这些都是一样的话,那就错了。你也可以看看 svm.coef_ 如果所有系数都是0,那么模型没有做任何事情。
你没有扩展X_test。