PythonStudy1

一、前言

本文利用 Python 的第三方库来对一个没有经过任何处理的 excel 表格进行处理

并对处理后的数据采用 KNN 算法来实现分类.

二、流程展示

1. 获取数据

由于数据文件敏感就不此展示. 简要描述一下所需要做的工作就是截取一部分列作为新的数据源, 在 excel 文件最后一列表示的是不同的分类.

这里我采用了第三方库 Pandas 通过暴力列举在表格中需要的列, 然后就有这样的代码.

import pandas as pd

# Get column 5,6,7,8,9,10,11,12,13,14,15,16,27 except head
data = pd.read_excel("./test.xlsx", usecols=[5,6,7,8,9,10,11,12,13,14,15,16,27],names=None)
df = data.values.tolist()
feature = []
label = []

for i in range(len(df)):
    feature.append(df[i][:-1])

    if df[i][-1] == "差气层":
        label.append(0)
    elif df[i][-1] == "干层":
        label.append(1)
    elif df[i][-1] == "气层":
        label.append(2)
    else:
        label.append(3)

print(feature)

print(label)

运行截图

2. 划分训练集和测试集

利用 sklearn 第三方库中的 train_test_split 类很轻松的就将已有数据划分出了训练集和测试集, 它们两个之间的比例是 3:1.

from sklearn.model_selection import train_test_split

feature_train_set,feature_test_set,label_train_set,label_test_set = train_test_split(feature,label)

print("feature_train_set:")
print( feature_train_set)

print("feature_test_set:")
print( feature_test_set)

print("label_train_set:")
print( label_train_set)

print("label_test_set:")
print( label_test_set)

运行截图

3. 创建分类器分类并进行测试

from sklearn.neighbors import KNeighborsClassifier

sklearn_knn_clf = KNeighborsClassifier(n_neighbors = 3)

sklearn_knn_clf.fit(feature_train_set,label_train_set)

sklearn_knn_clf.score(feature_test_set,label_test_set)

运行截图

三、总结

整体来说用第三方库来写代码很舒服, 但是是不是这样就能高枕无忧了呢?

答案当然不是, 这只是用来寻找思路的方法. 要有创新就要自己完成代码, 有些基础性的工作可以用第三方库替代, 但是算法万万不能, 出了出了错连问题都定位不了.

然后就是多次测试后能够得出最高的分类率了, 66.6% 这个貌似太低了一些.

问题可能有两种, 一是数据集的个数太少, 二是没有找到关联性强的特征数据. 第一个的解决方法可以综合多个文件来完成, 第二个就只有以结果为导向不断修改数据集中所需的数据.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值