python scikit-learn:为我的实现修改iris数据集

时间:2017-11-01 17:07:00

标签: python scikit-learn

我正在尝试按照本教程创建随机林分类器:

https://chrisalbon.com/machine-learning/random_forest_classifier_example_scikit.html

我想保留iris数据集的结构(加载iris = load_iris()),但修改值和列名称,以便根据我的数据而不是iris.data进行分类。

为了做到这一点,我做了print("Iris: " + str(iris)),然后复制了它的输出并分配了iris =(非常长的对象)而不是iris = load_iris(),以便我可以进入并修改它如所须。

当我运行程序时,我得到一个错误,知道如何解决这个问题吗?

C:\Users\Thomas\Anaconda3\python.exe C:/Users/Thomas/Desktop/!UFV/CIS480/project/NHLPredictor-RandomForests.py
Traceback (most recent call last):
  File "C:/Users/Thomas/Desktop/!UFV/CIS480/project/NHLPredictor-RandomForests.py", line 171, in <module>
    [ 5.9,  3. ,  5.1,  1.8]]), 'target': array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
TypeError: array() argument 1 must be a unicode character, not list

Process finished with exit code 1

1 个答案:

答案 0 :(得分:1)

建议另一种方法吗?而不是复制输出或类似的东西,

iris = load_iris()

df = pd.DataFrame(iris.data, columns=iris.feature_names)

这将虹膜数据存储在数据框中!您可以将此数据框输出到csv文件,如此;

df.to_csv('mydata.csv', header = True, index = False)

这将创建一个csv文件(您可以使用MS Excel或任何电子表格程序打开它),其中包含数据,您可以对其中的数据进行任何更改,按CTRL + S保存它。现在,您已根据需要对数据进行了更改。你现在可以做;

df = pd.read_csv('mydata.csv')

当您点击CTRL + S时存储在mydata.csv中的任何更改都会返回到数据框df

现在,您可以继续使用教程中的df执行任何操作。希望有意义!