Tomcat JavaWeb web开发 bootstrap 父子元素 codeigniter iis autocomplete cron datepicker react router ftp xampp photoshop cs3 教程 eclipse闪退 java 数据分析 edate函数的使用方法 mysql分页查询sql语句 div字体加粗 普通话网上报名 python3删除文件 python配置 pythonapi python中集合 python获取时间戳 java入门编程 java8的新特性 java设置 java初级 java删除目录 网页游戏代码 0x8002801c 电脑手机模拟器 extjs视频教程 微信彩色字 js刷新页面 惠普战99 vscode全局搜索 ios12录屏 截取字符串
当前位置: 首页 > 学习教程  > 编程语言

python-自适应提升算法的多种对比方法及混淆矩阵的计算

2020/12/28 20:12:27 文章标签:

1.KNN算法 #coding:utf-8 from sklearn.neighbors import KNeighborsClassifier import numpy as np from sklearn.metrics import confusion_matrix # 导入计算混淆矩阵的包 import pandas as pdX_trainpd.read_excel(D:\\xtrain.xlsx, headerNone) Y_trainpd.read_excel(D:\…

1.KNN算法

#coding:utf-8
from sklearn.neighbors import KNeighborsClassifier
import numpy as np
from sklearn.metrics import confusion_matrix # 导入计算混淆矩阵的包
import pandas as pd

X_train=pd.read_excel('D:\\xtrain.xlsx', header=None)
Y_train=pd.read_excel('D:\\ytrain.xlsx',  header=None)
X_test=pd.read_excel('D:\\xtest.xlsx', header=None)
Y_test =pd.read_excel('D:\\ytest.xlsx',  header=None)

knn = KNeighborsClassifier(n_neighbors=5)  # 获取KNN对象
knn.fit(X_train, Y_train)  # 训练模型

# 评估模型
y_pre = knn.predict(X_test)
score = knn.score(X_test, Y_test)  # 调用打分函数
print("test set predictions:\n{}".format(Y_test))
print("test set score:{:.2f}".format(score))
if score > 0.9:
    x_new = np.array([[5, 2.9, 1, 0.3]])
    print("x_new.shape:{}".format(x_new.shape))
    prediction = knn.predict(x_new)  # 预测
    print("prediction:{}".format(prediction))

else:
    print("used train or test data is not available !")

X=Y_test
Y=y_pre

C1= confusion_matrix(X,Y) #True_label 真实标签 shape=(n,1);T_predict1 预测标签 shape=(n,1)

print(C1)

2、朴素贝叶斯

from sklearn import naive_bayes
import pandas as pd
from sklearn.metrics import confusion_matrix # 导入计算混淆矩阵的包

X_train=pd.read_excel('D:\\xtrain.xlsx', header=None)
Y_train=pd.read_excel('D:\\ytrain.xlsx',  header=None)
X_test=pd.read_excel('D:\\xtest.xlsx', header=None)
Y_test =pd.read_excel('D:\\ytest.xlsx',  header=None)

#定义模型
nb = naive_bayes.GaussianNB()
nb.fit(X_train,Y_train)
nb.get_params()

#预测模型得分
sorce = nb.score(X_test,Y_test)
print("此模型得分为%s"%sorce)

# 预测数据,预测特征值
print(nb.predict(X_test))
# 打印真实特征值
print(Y_test)


X=Y_test
Y=nb.predict(X_test)

C1= confusion_matrix(X,Y) #True_label 真实标签 shape=(n,1);T_predict1 预测标签 shape=(n,1)

print(C1)

3、bp神经网络

from sklearn.model_selection import train_test_split
from sklearn.neural_network import MLPClassifier
import pandas as pd
from sklearn.metrics import confusion_matrix # 导入计算混淆矩阵的包

X_train=pd.read_excel('D:\\xtrain.xlsx', header=None)
Y_train=pd.read_excel('D:\\ytrain.xlsx',  header=None)
X_test=pd.read_excel('D:\\a.xlsx', header=None)
Y_test =pd.read_excel('D:\\b.xlsx',  header=None)

#定义模型
bp = MLPClassifier(max_iter=10000)
bp.fit(X_train,Y_train)
bp.get_params()

#预测模型得分
sorce = bp.score(X_test,Y_test)
print("此模型得分为%s"%sorce)
# 预测数据,预测特征值
print(bp.predict(X_test))

# 打印真实特征值
#print(Y_test)

X=Y_test
Y=bp.predict(X_test)
C1= confusion_matrix(X,Y) #True_label 真实标签 shape=(n,1);T_predict1 预测标签 shape=(n,1)

print(C1)

 

 


本文链接: http://www.dtmao.cc/news_show_550434.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?