У объекта 'function' нет атрибута 'train_test_split' - PullRequest
0 голосов
/ 22 марта 2019

Я новичок в реализации машинного обучения в Python и в настоящее время пробую классификацию KNN, следуя инструкциям YouTube.Вот код.

import numpy as np
#from sklearn.model_selection import train_test_split
from sklearn.model_selection import cross_validate
import pandas as pd

df=pd.read_csv('breast-cancer-wisconsin.data.txt')
df.replace('?', -99999, inplace=True)
df.drop(['id'],1,inplace=True)

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

X_train, X_test, y_train, y_test=cross_validate.train_test_split(X,y,test_size=0.2)

Я получаю следующую ошибку: -

X_train, X_test, y_train, y_test=cross_validate.train_test_split(X,y,test_size=0.2)
AttributeError: 'function' object has no attribute 'train_test_split'

Я попытался импортировать train_test_split как

 from sklearn.model_selection import train_test_split

, но затем я получил то же самоеошибка.Любая помощь приветствуется.Спасибо!

Ответы [ 2 ]

2 голосов
/ 22 марта 2019

train_test_split - это отдельный модуль ( документы ), и его нельзя использовать в сочетании с cross_validate; правильное использование здесь (при условии scikit-learn v0.20):

from sklearn.model_selection import train_test_split
# [...]
X_train, X_test, y_train, y_test=train_test_split(X,y,test_size=0.2)
0 голосов
/ 27 марта 2019

sklearn.cross_validation устарело в версии 0.20.

Использовать sklearn.model_selection.train_test_split

...