【发布时间】:2018-05-18 01:33:02
【问题描述】:
我正在尝试使用 sklearn 的 LinearSVC 并将决策树导出到 .dot 文件。我可以用样本数据拟合分类器,然后在一些测试数据上使用它,但是导出到 .dot 文件会给出 NotFittedError。
data = pd.read_csv("census-income-data.data", skipinitialspace=True, usecols=list(range(0, 41)))
data = data.fillna('Missing value').apply(pp.LabelEncoder().fit_transform)
target = pd.read_csv("census-income-data.data", skipinitialspace=True, usecols=[41])
dataTest = pd.read_csv("census-income-test.test", skipinitialspace=True, usecols=list(range(0, 41)))
dataTest = dataTest.fillna('Missing value').apply(pp.LabelEncoder().fit_transform)
targetTest = pd.read_csv("census-income-test.test", skipinitialspace=True, usecols=[41])
clfSVC = LinearSVC(random_state=0)
clfSVC = clfSVC.fit(data, target.target)
scoreSVC = clfSVC.score(dataTest, targetTest.target)
print(scoreSVC)
tree.export_graphviz(clfSVC, out_file='tree.dot')
这是输出:
> Traceback (most recent call last):
File "D:\Documents\Telecom\IA\ai-person-income\project\sklearn_test.py", line 49, in <module>
tree.export_graphviz(clfSVC, out_file='tree.dot')
File "D:\Program Files\WinPython-64bit-3.6.3.0Qt5\python-3.6.3.amd64\lib\site-packages\sklearn\tree\export.py", line 392, in export_graphviz
check_is_fitted(decision_tree, 'tree_')
File "D:\Program Files\WinPython-64bit-3.6.3.0Qt5\python-3.6.3.amd64\lib\site-packages\sklearn\utils\validation.py", line 768, in check_is_fitted
raise NotFittedError(msg % {'name': type(estimator).__name__})
sklearn.exceptions.NotFittedError: This LinearSVC instance is not fitted yet. Call 'fit' with appropriate arguments before using this method.
我错过了什么?
【问题讨论】:
标签: python pandas scikit-learn