接下来,我们对数据集进行「划分」,传入特征值和目标值,按照默认比例划分(25%测试集、75%训练集)
from sklearn import datasets
from sklearn import model_selection
# 1、获取数据集
iris = datasets.load_iris()
# 2、划分数据集
x_train, x_test, y_train, y_test = model_selection.train_test_split(iris.data, iris.target)
print('训练集特征值:', len(x_train))
print('测试集特征值:', len(x_test))
print('训练集目标值:', len(y_train))
print('测试集目标值:', len(y_test))
输出:
训练集特征值: 112
测试集特征值: 38
训练集目标值: 112
测试集目标值: 38
从结果可以看到,训练集划分了112组、测试集划分了38组,符合预期。
2.3、特征归一化
接下来,我们对特征值进行「归一化」处理,需要注意的是,训练集和测试集的处理必须完全相同。
from sklearn import datasets
from sklearn import model_selection
from sklearn import preprocessing
# 1、获取数据集
iris = datasets.load_iris()
# 2、划分数据集
x_train, x_test, y_train, y_test = model_selection.train_test_split(iris.data, iris.target)
# 3、特征归一化
mm = preprocessing.MinMaxScaler()
x_train = mm.fit_transform(x_train)
x_test = mm.fit_transform(x_test)
print(x_train)
print(x_test)
输出:
[[0.8 0.5 0.87719298 0.70833333]
[0.42857143 0.5 0.66666667 0.70833333]
......
从结果我们可以看到,特征值发生了相应的变化。
2.4、贝叶斯算法处理并评估
接下来,实例化贝叶斯的类对象,把训练集的特征值目标值传进去,进行训练。
from sklearn import datasets
from sklearn import model_selection
from sklearn import preprocessing
from sklearn import naive_bayes
# 1、获取数据集
iris = datasets.load_iris()
# 2、划分数据集
x_train, x_test, y_train, y_test = model_selection.train_test_split(iris.data, iris.target)
# 3、特征归一化
mm = preprocessing.MinMaxScaler()
x_train = mm.fit_transform(x_train)
x_test = mm.fit_transform(x_test)
# 4、贝叶斯算法处理
estimator = naive_bayes.MultinomialNB()
estimator.fit(x_train, y_train)
# 5、模型评估
y_predict = estimator.predict(x_test)
print('真实值和预测值对比', y_predict == y_test)
score = estimator.score(x_test, y_test)
print('准确率', score)
输出:
真实值和预测值对比 [ True False True False True False True True True True False True
False False False False False True False True False True True True
True True True True True False False False True True True True
True False]
准确率 0.6052631578947368
3、常见问题
MultinomialNB的训练集数据不能为「负数」,否则会报错:Negative values in data passed to MultinomialNB 。
比如标准化处理特征时,会出现负数结果,就会报错,可以改用归一化。
4、粉丝福利
评论区留言即可参与抽奖,送《云计算安全》5本。
本书既有理论研究,又有实践探讨,共分为6章,讲解了云计算安全中人工智能与大数据挖掘技术的应用实践。第1章从概念、发展、标准等角度宏观地介绍了云计算安全,第2章从云计算安全需求的角度阐释云计算安全的核心目标、公有云场景下的安全需求和私有云场景下的安全需求;第3章全面、系统地介绍了公有云安全技术体系和私有云安全技术体系,第4章详细个绍了人工智能技术在云计算安全领域的应用实践;第5章详细介绍了大数据挖掘技术在云计算安全领域的应用实践:第6章个绍了人工智能和人数据挖掘技术的综合应用,提出云数据中心安全防护框架,并详细个绍了云数据中心安全态势感知系统。
本书是人工智能与大数据挖掘技术在云计算安全领域的应用实践参考书,适用于人工智能、大数据挖掘、云计算、网络信息安全相关领域的从业人员。
清华社【秋日阅读企划】领券立享优惠
IT好书 5折叠加10元 无门槛优惠券:https://u.jd.com/Yqsd9wj
活动时间:9月4日-9月17日,先到先得,快快来抢
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!