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.
python-3.x scikit-learn svm svc
add a comment |
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.
python-3.x scikit-learn svm svc
add a comment |
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.
python-3.x scikit-learn svm svc
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
python-3.x scikit-learn svm svc
asked Nov 9 at 22:45
jcvts
12
12
add a comment |
add a comment |
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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