2017-02-05 1 views
-1

Привет У меня есть этот код:я получил только прыгающий ракету питона на моем доке, и ничего не происходит

import pandas as pd 
import numpy as np 
import warnings 
from sklearn import svm 
warnings.filterwarnings(action="ignore", module="scipy", message="^internal gelsd") 
from sklearn.model_selection import train_test_split 

df = pd.read_csv("datatrain.csv" , sep="," ,encoding = 'windows-1250') 

df = df[['FEATURE1' , 'FEATURE2' , 'FEATURE3' ,'LABEL']] 

df.dropna(inplace=True) 
print(df.head()) 

X = np.array(df.drop(['LABEL'], 1)) 
y = np.array(df['LABEL']) 

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3) 

clf = svm.SVC(kernel="linear", C= 1.0) 
clf.fit(X_train[:-500], y_train[:-500])  

accuracy = clf.score(X_test, y_test) 

print("accuracy: ", accuracy) 

Мой набор данных велик, более 150К линий, но, как вы видите, я использовать только первая 500 строк. Когда я запускаю свой код, запускается первый print(df.head()), но тогда у меня на доке есть только прыгающая ракета-питон, и ничего не происходит.

Можете ли вы сказать мне, почему это так? Спасибо!

bouncing python icon

ответ

0

Вы используете все строки, кроме последних 500 строк. Он должен быть clf.fit(X_train[:500], y_train[:500]).

См. Это answer для подробного объяснения того, как получить n-й последний элемент из среза.