0

Hello i am a beginner in coding and have to do a gene analysis for my bio-informatics class.

When i classify some genes. I get the following error:

File "C:\Users\arthi\Anaconda3\lib\site-packages\sklearn\discriminant_analysis.py", line 514, in predict_proba
prob = self.decision_function(X)

File "C:\Users\arthi\Anaconda3\lib\site-packages\sklearn\linear_model\base.py", line 262, in decision_function
% (X.shape[1], n_features))

 ValueError: X has 2 features per sample; expecting 10

The following code did i use:

with open ('Genesdata.pkl', 'rb') as f:
datadict = pickle.load(f)
X_train =  datadict['X_train']
X_test = datadict['X_test']
y_train = datadict['y_train']
y_test = datadict['y_test']
Classifier =  LinearDiscriminantAnalysis()
pred = Classifier.predict(X_test)
acc = accuracy_score(y_test, pred)
error = 1 - acc
print(error)
plot_decision_boundary(X_test,pred,Classifier)

This is how the dictionary looks like:

    {'X_train': array([[ 2.19006658, -0.73904548,  1.0546373 , ...,  2.66134771,
     0.98862311,  0.44361308],
   [ 0.20861127, -0.93468434,  1.67651845, ...,  0.85252561,
    -1.09109426,  0.80392969],
   [ 1.42440021, -0.44252457,  0.44931581, ...,  2.24048554,
     1.14914253,  0.99105977],
   ...,
   [-1.05716004, -1.05594894,  1.33725141, ...,  0.97913019,
     3.47341899, -1.49987541],
   [-1.65004305, -0.94600641,  0.62179489, ...,  1.89665973,
     3.23602037,  1.01596823],
   [-0.60023298, -0.578886  , -1.28959163, ...,  0.25218066,
     2.59916467, -0.02751579]]), 'X_test': array([[ 1.83955442,  0.78721169,  4.13619852, ...,  1.24837935,
     0.81366998,  0.99879906],
   [ 2.37883518,  1.61882149,  1.38400345, ...,  0.80778427,
    -0.17820107, -0.82231867],
   [ 1.89283928,  3.3226534 ,  3.51393647, ...,  1.77412229,
    -0.04522057,  0.45582996],
   ...,
   [ 0.46143703,  0.42804519,  0.34723485, ..., -1.0361394 ,
     0.5680955 ,  0.74929476],
   [ 0.0964557 , -0.84329019, -0.98493767, ...,  0.94844   ,
    -0.42561057,  1.92670305],
   [ 1.42933124,  1.72959649, -1.0175654 , ...,  1.40912843,
     1.20795328, -0.08636293]]), 'y_train': array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
   1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
   1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
   1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
   1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
   1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
   1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
   1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
   1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
   1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
   2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
   2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
   2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
   2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
   2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
   2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
   2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
   2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
   2, 2, 2, 2], dtype=uint8), 'y_test': array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
   1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
   1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
   1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
   1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
   1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
   1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
   1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
   1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
   1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
   2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
   2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
   2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
   2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
   2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
   2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
   2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
   2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
   2, 2, 2, 2], dtype=uint8)}

I would really appreciate it if someone is able to fix it

James Z
  • 12,209
  • 10
  • 24
  • 44
pulli030
  • 11
  • 2
  • Please, format your code so we can know where the loop start and ends. – Poshi Mar 18 '19 at 08:16
  • Also... where is your line 514? That is the one supposed to fail... In fact, I feel that there are missing lines in the error message. Print also the actual error that the posted code is giving you. – Poshi Mar 18 '19 at 08:19

0 Answers0