ValueError: Buffer dtype mismatch, expected 'float64_t' but got 'float' with sci-kit learn









up vote
0
down vote

favorite












I'm trying to create an SVM classifier with Sci-Kit Learn with a dataset consisting of 69 cols, from which the last column is the output. Each collumn has a float consisting of an euclidian distance, whereas the output is an integer. Following is the written code:



import numpy as np
import os
import matplotlib.pyplot as plt
from sklearn.svm import SVC
from sklearn.model_selection import train_test_split
from numpy import float64

os.environ["PATH"] += os.pathsep + 'C:/Program Files (x86)/Graphviz2.38/bin/'

training=np.genfromtxt("Data/ck-train.csv", delimiter=",", skip_header=1)
model_svc = SVC(kernel='linear', probability=True, tol=1e-3)
score_list=
full_size=len(training)
tr_size=int(round(full_size*0.8,0))
ts_size=int(round(full_size*0.2))
print("Training Sample Size: %s samples " %tr_size)
print("Testing Sample Size: %s samples " %ts_size)
print("Total: ", full_size)

training_input=np.zeros((full_size,68))
training_output=np.zeros((full_size))

def create_sets():

np.random.shuffle(training)

for i in range(0,full_size):
training_input[i]=training[i][:-1]
training_output[i]=training[i][-1]

for i in range(0,full_size):
normTraining=np.linalg.norm(training[i][:-1])
training_input[i]=training[i][:-1]/normTraining

X_train, X_test, y_train, y_test = train_test_split(training_input, training_output, test_size = 0.20)

return X_train, X_test, y_train, y_test

### Training ###

def training_svm():
for i in range(0,10):
print("Starting training: round ", (i+1))
tr_in, ts_in, tr_out, ts_out = create_sets()
model_svc.fit(tr_in, tr_out)
print("Getting score: round ", (i+1))
score = model_svc.score(ts_in, ts_out)
print("Score: ", score)
score_list.append(score)

print("Mean score: ", np.mean(score_list))

training_svm()


I don't know why, but when i try to train the model, i get this error:



File "sklearnsvmlibsvm.pyx", line 54, in sklearn.svm.libsvm.fit
ValueError: Buffer dtype mismatch, expected 'float64_t' but got 'float'


Can someone explain what i'm missing? Thank you in advance for your help.










share|improve this question

























    up vote
    0
    down vote

    favorite












    I'm trying to create an SVM classifier with Sci-Kit Learn with a dataset consisting of 69 cols, from which the last column is the output. Each collumn has a float consisting of an euclidian distance, whereas the output is an integer. Following is the written code:



    import numpy as np
    import os
    import matplotlib.pyplot as plt
    from sklearn.svm import SVC
    from sklearn.model_selection import train_test_split
    from numpy import float64

    os.environ["PATH"] += os.pathsep + 'C:/Program Files (x86)/Graphviz2.38/bin/'

    training=np.genfromtxt("Data/ck-train.csv", delimiter=",", skip_header=1)
    model_svc = SVC(kernel='linear', probability=True, tol=1e-3)
    score_list=
    full_size=len(training)
    tr_size=int(round(full_size*0.8,0))
    ts_size=int(round(full_size*0.2))
    print("Training Sample Size: %s samples " %tr_size)
    print("Testing Sample Size: %s samples " %ts_size)
    print("Total: ", full_size)

    training_input=np.zeros((full_size,68))
    training_output=np.zeros((full_size))

    def create_sets():

    np.random.shuffle(training)

    for i in range(0,full_size):
    training_input[i]=training[i][:-1]
    training_output[i]=training[i][-1]

    for i in range(0,full_size):
    normTraining=np.linalg.norm(training[i][:-1])
    training_input[i]=training[i][:-1]/normTraining

    X_train, X_test, y_train, y_test = train_test_split(training_input, training_output, test_size = 0.20)

    return X_train, X_test, y_train, y_test

    ### Training ###

    def training_svm():
    for i in range(0,10):
    print("Starting training: round ", (i+1))
    tr_in, ts_in, tr_out, ts_out = create_sets()
    model_svc.fit(tr_in, tr_out)
    print("Getting score: round ", (i+1))
    score = model_svc.score(ts_in, ts_out)
    print("Score: ", score)
    score_list.append(score)

    print("Mean score: ", np.mean(score_list))

    training_svm()


    I don't know why, but when i try to train the model, i get this error:



    File "sklearnsvmlibsvm.pyx", line 54, in sklearn.svm.libsvm.fit
    ValueError: Buffer dtype mismatch, expected 'float64_t' but got 'float'


    Can someone explain what i'm missing? Thank you in advance for your help.










    share|improve this question























      up vote
      0
      down vote

      favorite









      up vote
      0
      down vote

      favorite











      I'm trying to create an SVM classifier with Sci-Kit Learn with a dataset consisting of 69 cols, from which the last column is the output. Each collumn has a float consisting of an euclidian distance, whereas the output is an integer. Following is the written code:



      import numpy as np
      import os
      import matplotlib.pyplot as plt
      from sklearn.svm import SVC
      from sklearn.model_selection import train_test_split
      from numpy import float64

      os.environ["PATH"] += os.pathsep + 'C:/Program Files (x86)/Graphviz2.38/bin/'

      training=np.genfromtxt("Data/ck-train.csv", delimiter=",", skip_header=1)
      model_svc = SVC(kernel='linear', probability=True, tol=1e-3)
      score_list=
      full_size=len(training)
      tr_size=int(round(full_size*0.8,0))
      ts_size=int(round(full_size*0.2))
      print("Training Sample Size: %s samples " %tr_size)
      print("Testing Sample Size: %s samples " %ts_size)
      print("Total: ", full_size)

      training_input=np.zeros((full_size,68))
      training_output=np.zeros((full_size))

      def create_sets():

      np.random.shuffle(training)

      for i in range(0,full_size):
      training_input[i]=training[i][:-1]
      training_output[i]=training[i][-1]

      for i in range(0,full_size):
      normTraining=np.linalg.norm(training[i][:-1])
      training_input[i]=training[i][:-1]/normTraining

      X_train, X_test, y_train, y_test = train_test_split(training_input, training_output, test_size = 0.20)

      return X_train, X_test, y_train, y_test

      ### Training ###

      def training_svm():
      for i in range(0,10):
      print("Starting training: round ", (i+1))
      tr_in, ts_in, tr_out, ts_out = create_sets()
      model_svc.fit(tr_in, tr_out)
      print("Getting score: round ", (i+1))
      score = model_svc.score(ts_in, ts_out)
      print("Score: ", score)
      score_list.append(score)

      print("Mean score: ", np.mean(score_list))

      training_svm()


      I don't know why, but when i try to train the model, i get this error:



      File "sklearnsvmlibsvm.pyx", line 54, in sklearn.svm.libsvm.fit
      ValueError: Buffer dtype mismatch, expected 'float64_t' but got 'float'


      Can someone explain what i'm missing? Thank you in advance for your help.










      share|improve this question













      I'm trying to create an SVM classifier with Sci-Kit Learn with a dataset consisting of 69 cols, from which the last column is the output. Each collumn has a float consisting of an euclidian distance, whereas the output is an integer. Following is the written code:



      import numpy as np
      import os
      import matplotlib.pyplot as plt
      from sklearn.svm import SVC
      from sklearn.model_selection import train_test_split
      from numpy import float64

      os.environ["PATH"] += os.pathsep + 'C:/Program Files (x86)/Graphviz2.38/bin/'

      training=np.genfromtxt("Data/ck-train.csv", delimiter=",", skip_header=1)
      model_svc = SVC(kernel='linear', probability=True, tol=1e-3)
      score_list=
      full_size=len(training)
      tr_size=int(round(full_size*0.8,0))
      ts_size=int(round(full_size*0.2))
      print("Training Sample Size: %s samples " %tr_size)
      print("Testing Sample Size: %s samples " %ts_size)
      print("Total: ", full_size)

      training_input=np.zeros((full_size,68))
      training_output=np.zeros((full_size))

      def create_sets():

      np.random.shuffle(training)

      for i in range(0,full_size):
      training_input[i]=training[i][:-1]
      training_output[i]=training[i][-1]

      for i in range(0,full_size):
      normTraining=np.linalg.norm(training[i][:-1])
      training_input[i]=training[i][:-1]/normTraining

      X_train, X_test, y_train, y_test = train_test_split(training_input, training_output, test_size = 0.20)

      return X_train, X_test, y_train, y_test

      ### Training ###

      def training_svm():
      for i in range(0,10):
      print("Starting training: round ", (i+1))
      tr_in, ts_in, tr_out, ts_out = create_sets()
      model_svc.fit(tr_in, tr_out)
      print("Getting score: round ", (i+1))
      score = model_svc.score(ts_in, ts_out)
      print("Score: ", score)
      score_list.append(score)

      print("Mean score: ", np.mean(score_list))

      training_svm()


      I don't know why, but when i try to train the model, i get this error:



      File "sklearnsvmlibsvm.pyx", line 54, in sklearn.svm.libsvm.fit
      ValueError: Buffer dtype mismatch, expected 'float64_t' but got 'float'


      Can someone explain what i'm missing? Thank you in advance for your help.







      python-3.x scikit-learn svm svc






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Nov 9 at 22:45









      jcvts

      12




      12



























          active

          oldest

          votes











          Your Answer






          StackExchange.ifUsing("editor", function ()
          StackExchange.using("externalEditor", function ()
          StackExchange.using("snippets", function ()
          StackExchange.snippets.init();
          );
          );
          , "code-snippets");

          StackExchange.ready(function()
          var channelOptions =
          tags: "".split(" "),
          id: "1"
          ;
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function()
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled)
          StackExchange.using("snippets", function()
          createEditor();
          );

          else
          createEditor();

          );

          function createEditor()
          StackExchange.prepareEditor(
          heartbeatType: 'answer',
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader:
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          ,
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          );



          );













           

          draft saved


          draft discarded


















          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53234219%2fvalueerror-buffer-dtype-mismatch-expected-float64-t-but-got-float-with-sci%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown






























          active

          oldest

          votes













          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes















           

          draft saved


          draft discarded















































           


          draft saved


          draft discarded














          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53234219%2fvalueerror-buffer-dtype-mismatch-expected-float64-t-but-got-float-with-sci%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          Kleinkühnau

          Makov (Slowakei)

          Deutsches Schauspielhaus