Tôi đang cố gắng sử dụng mô-đun sklearn_pandas để mở rộng công việc tôi làm trong gấu trúc và nhúng ngón chân vào học máy nhưng tôi đang vật lộn với một lỗi tôi không thực sự hiểu cách khắc phục.
Tôi đã làm việc thông qua bộ dữ liệu sau đây trên Kaggle .
Về cơ bản, đây là một bảng không có ký tự (1000 hàng, 40 tính năng) với các giá trị dấu phẩy động.
import pandas as pdfrom sklearn import neighbors
from sklearn_pandas import DataFrameMapper, cross_val_score
path_train ="../kaggle/scikitlearn/train.csv"
path_labels ="../kaggle/scikitlearn/trainLabels.csv"
path_test = "../kaggle/scikitlearn/test.csv"
train = pd.read_csv(path_train, header=None)
labels = pd.read_csv(path_labels, header=None)
test = pd.read_csv(path_test, header=None)
mapper_train = DataFrameMapper([(list(train.columns),neighbors.KNeighborsClassifier(n_neighbors=3))])
mapper_train
Đầu ra:
DataFrameMapper(features=[([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39], KNeighborsClassifier(algorithm='auto', leaf_size=30, metric='minkowski',
n_neighbors=3, p=2, weights='uniform'))])
Càng xa càng tốt. Nhưng sau đó tôi thử sự phù hợp
mapper_train.fit_transform(train, labels)
Đầu ra:
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-6-e3897d6db1b5> in <module>()
----> 1 mapper_train.fit_transform(train, labels)
//anaconda/lib/python2.7/site-packages/sklearn/base.pyc in fit_transform(self, X, y, **fit_params)
409 else:
410 # fit method of arity 2 (supervised transformation)
--> 411 return self.fit(X, y, **fit_params).transform(X)
412
413
//anaconda/lib/python2.7/site-packages/sklearn_pandas/__init__.pyc in fit(self, X, y)
116 for columns, transformer in self.features:
117 if transformer is not None:
--> 118 transformer.fit(self._get_col_subset(X, columns))
119 return self
120
TypeError: fit() takes exactly 3 arguments (2 given)`
Tôi đang làm gì sai? Mặc dù dữ liệu trong trường hợp này là như nhau, tôi đang lên kế hoạch xây dựng quy trình làm việc cho các hỗn hợp các tính năng phân loại, danh nghĩa và dấu phẩy động và sklearn_pandas có vẻ phù hợp logic.