机器学习--使用三种模型对数据进行分类并预测

三种模型

基本算法流程

加载数据并预处理–创建分类器–训练分类器–在测试集上得到预测结果–计算准确率和召回率

需要导入的模块

import numpy
import pandas
from sklearn.metrics import classification_report#导入预测结果评估模块
from sklearn.model_selection import train_test_split,cross_val_score#导入自动生成训练集和测试集的模块

数据导入和处理与数据准备

f = 'filepath'
data = pandas.read_csv(f+'data_train.txt',delimiter=' ',header=None)
X = data[list(range(10))]
y = data[10] #10折交叉验\
data_train = data.sample(frac=0.9)
data_test = data.iloc[list(set(data.index)-set(data_train.index))]
y_train = data_train[10]
x_train = data_train[list(range(10))]
y_test = data_test[10]
x_test = data_test[list(range(10))]

k近邻分类器(KNN)

 通过计算带分类的数据点,与已有训练集的中的所有数据点的距离,取最小的前K个点,根据‘’少数服从多数的原则‘’进行划分。

基本方法如下`。

from sklearn.neighbors import  KNeighborsClassifier #导入K近邻分类器

KNN = KNeighborsClassifier().fit(x_train, y_train)  # 使用KNN算法进行训练并生成预处理结果
test = pd.read_csv(f+'data_test.txt',delimiter=' ',header=None)
answer_knn = KNN.predict(test)
print('\n\nThe classification report for knn:')
np.savetxt('filepath+txtname.txt',answer_knn,fmt='%d',newline='\r\n'

决策树

 一种树状结构的分类器,通过属性决定分类点的最终类别,通常根据特征的信息增益或其他指标,构建一颗决策树,分类时对节点进行依此判断,即可得到结果。

展示:
首先导入所需要的分类器

from sklearn.metrics import classification_report
from sklearn.tree import DecisionTreeClassifier #使用import语句导入决策树分类器

处理数据进行训练并预测

DTC = DecisionTreeClassifier(criterion='entropy').fit(x_train,y_train)
ans_DTC = DTC.predict(x_test)
print(classification_report(y_test,ans_DTC)) #采用全量数据训练模型并将预测结果输出
DTC = DecisionTreeClassifier(criterion='entropy').fit(X,y)
test = pd.read_csv(f+'data_test.txt',delimiter=' ',header=None)
ans = DTC.predict(test)
np.savetxt('filepath+txtname.txt',ans,fmt='%d',newline='\r\n')#产生的文件存放在打他文件夹中

朴素贝叶斯

   以贝叶斯定理为基础的多分类的分类器,对于给定数据,首先基于特征的条件独立假设性假设,学习输入输出的联合概率分布,基于此模型,对于给定的输入x,利用贝叶斯定理求出后验概率最大的输出y

展示:
导入高斯分类器

from sklearn.naive_bayes import GaussianNB #高斯朴素贝叶斯函数

对数据进行训练

BYS = GaussianNB().fit(x_train, y_train)    #使用贝叶斯算法进行训练
test = pd.read_csv(f+'data_test.txt',delimiter=' ',header=None)
answer_BYS = BYS.predict(test)
#对分类结果从 精确率precision 召回率recall f1值fl-score和支持度support四个维度进行衡量
print('\n\nThe classification report for Bayes:')
np.savetxt('filepath+txtname.txt',answer_BYS,fmt='%d',newline='\r\n')
  • 20
    点赞
  • 188
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Python Kaggle汽车价格数据分类预测使用Python编程语言来分析和预测Kaggle汽车价格数据集中的汽车价格分类。Kaggle是一个数据科学和机器学习竞赛网站,提供了各种数据集供研究者和机器学习爱好者使用。 通过使用Python编程语言,可以使用各种数据处理和机器学习库来进行数据的清洗、特征工程和建模。首先,我们可以使用Pandas库来加载和处理数据集。可以对数据进行预处理,如处理缺失值、处理异常值、转换数据类型等。 接下来,可以使用Matplotlib或Seaborn库来进行数据的可视化分析,以了解数据集的特征和分布情况。例如,可以绘制汽车价格与其它特征之间的关系图,如汽车品牌、车型、年份、里程等。 然后,可以使用Scikit-learn库来进行机器学习模型的建模和预测。可以使用各种分类算法,如决策树、随机森林、支持向量机等。可以将数据集分为训练集和测试集,训练模型进行交叉验证,选择最佳的模型进行参数调优。 最后,可以使用训练好的模型对新的汽车数据进行分类预测。可以使用测试集来评估模型的性能,如准确率、召回率、F1值等。也可以使用一些评估指标来评估模型预测能力,如混淆矩阵、ROC曲线、AUC值等。 通过使用Python Kaggle汽车价格数据分类预测,可以有效地分析和预测汽车价格分类,为汽车行业的定价和销售决策提供有力的支持。同时,也可以提高我们对数据分析和机器学习的理解和实践能力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值