python的随机森林在处理训练数据时出现编码问题

digittube 2016-07-24 01:47:42
请各位帮我看一下这个编码错误,困扰了我一天了。。。

# -*- coding: utf-8 -*-

from __future__ import print_function
import numpy as np
from time import time
from sklearn.datasets import load_svmlight_file
from sklearn.svm import SVC
from sklearn.ensemble import RandomForestClassifier
from sklearn.cross_validation import train_test_split
#from sklearn.metrics import classification_report
from sklearn import metrics
from sklearn.pipeline import Pipeline
from sklearn.externals import joblib
from sklearn.grid_search import GridSearchCV

import pandas as pd

def get_data(fname):
content = pd.read_excel(fname, encoding='csc')
label = content['label']
del content ['label']
feature = pd.DataFrame(content)
return feature, label

#文件读取与切割
print("Loading data")
t0 = time()
filename = "F:\\textdata\\sample.20160628(labelled).xlsx"

X0,y0 = get_data(filename)
X = X0.values
y = y0.values
X_train, X_test, y_train, y_test = train_test_split(X,y,test_size=0.3,random_state=42)

t1 = time()
print("Loading completed, costing %0.3fs" % (t1-t0))

#搭建RandomForest模型
#X_single = X_test[0:1]
clf = RandomForestClassifier(n_estimators = 100)
print("Data Fitting START")
t0 = time()
clf.fit(X_train, y_train)
t1 = time()
print("Fitting completed, costing %0.3fs" % (t1-t0))

#模型测试
print("Model testing START")
t0 = time()
pred = clf.predict(X_test)
t1 = time()
print("Testing completed, costing %0.3fs" % (t1-t0))

#模型评估
accuracy = metrics.accuracy_score(y_test, pred)
print("accuracy_score: %f" % accuracy)
recall = metrics.recall_score(y_test, pred)
print("recall_score: %f" % recall)
print(metrics.classification_report(y_test, pred))

下面是错误信息:
...全文
212 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
Doo_Bing 2016-07-28
  • 打赏
  • 举报
回复
解决了吗?是不是输入数据文本格式的问题?我也在学sklearn和机器学习。
    目前数据分析已经深入到各个行业中,尤其以Python为工具的数据分析和数据挖掘将越来越流行,但在数据分析和挖掘中,最消耗间的就是数据处理了,高效的数据处理技能已经成为工作中必不可少的技能之一了。熟练掌握和运用Python数据进行高效的处理,可以大大提高数据分析和数据挖掘的效率。    Python数据处理实战: 基于真实场景的数据(Python数据处理和特征工程)作为Python数据清洗实战入门课程的升级版,本课程以真实的场景数据为案例进行教学,包括征信,电商,零售数据等, 本课程由浅入深详细讲解Python数据处理和特征工程在真实项目中的运用, 本课程专门针对想深入学习Python数据处理而量身定做的课程,是讲师在多年真实项目和实践工作的总结,涵盖实际项目中主要的知识点,内容详尽,代码可读性及实操性强。     掌握好数据处理和特征工程,有利于今后从事或者转行数据分析或者数据挖掘,以及解决工作和项目中遇到的各种数据处理问题。课程目标:1.熟悉数据处理的流程和方法 2.熟练掌握pandas和numpy的运用 3.举一反三,能够独立完成数据分析中数据处理阶段的任务 4.提高数据处理能力,在项目中能够事半功倍课程定位: 1.   零基础学员或者有一定基础学员、大中院校学生;2.   在职从事数据分析相关工作以及打算转行Python数据分析人员; 3.   对Python有兴趣人群。 课程特色   1.   相关代码老师课堂上全部打出,方便理解和记忆;   2.   提供源代码和数据方便同学们预习和复习;   3.   使用真实的数据进行教学,紧贴实战,避免枯燥的理论;   4.   在教学过程中,尽可能多的使用图表教学;  5.    每一个章节后面都配有相关练习题目以及习题答案,方便同学们进行自我测试。 课程学习环境: Python3.7版本 讲师介绍:    Peter, 某科技公司高级量化分析师,金融数学硕士毕业,擅长数据分析和数据挖掘,在公司长期从事机器学习建模,拥有多家银行,消费金融和互联网金融风控建模经验。熟练掌握Python编程软件和数据库等软件.
【资源介绍】 Python基于CNN网络和随机森林的网络入侵检测源码+项目说明+答辩PPT.zip - 本文档用来记录机器学习课程作业,完成机器学习及深度学习实现入侵检测。 - 数据集为UNSW_NB15官方数据集,42列特征,一列标签,二分类问题; - 采用的方法为:1、特征处理;2、Pearson过滤和随机森林特征选择;3、CNN训练 - 参考的文档为《基于深度神经网络的网络入侵检测技术》 代码 运行代码前确保安装有sklearn包和Tensorflow以及keras,注意Tensorflow和keras的对应关系。 `pip install -r requirements.txt`安装环境依赖即可 `StrTonum.py`:将数值型特征转化为字符型,才能送入模型训练; `Min-max`:对数据进行归一化处理,加快模型的训练; `Balanced.py`:对正负样本个数进行平衡处理,参考论文中ADASYN算法; `Pearson.py`:计算不同特征及之间的相关性系数; `Find_feature.py`:随机森林进行特征选择; `Pro_Testdata.py`:对测试数据进行处理,确保测试集和在训练集上筛选出的特征一致; `CNN.py`:keras搭建CNN网络进行训练; 整个代码的运行流程按上述流程即可; 【备注】 该项目是个人毕设/课设/大作业项目,代码都经过严格调试测试,功能ok才上传,可快速上手运行!欢迎下载使用,若遇到问题请及私信沟通,帮助解决。 该资源主要针对计算机、通信、人工智能、自动化等相关专业的学生、老师或从业者下载使用,可直接作为期末课程设计、课程大作业、毕业设计等。 项目整体具有较高的学习借鉴价值!基础还可以,动手能力强的也可做二次开发,以实现不同的功能。 欢迎下载使用,也欢迎交流学习!

37,719

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧