我正在尝试按照本教程创建随机林分类器:
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
答案 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
执行任何操作。希望有意义!