一文深度解析K-最近西南边监督学习机器算法
发布时间:2023-03-05
import pandas as pd
2.写入Iris数据资料集
激活
url = ""
#登录列旧名
names = ['sepal-length', 'sepal-width', 'petal-length', 'petal-width', 'Class']
#函数调用数据资料集
dataset = pd.read_csv(url, names=names)
至此的分唆使结果如下示意图:
3.数据资料重构
这样做是为了将数据资料集拆包含属性和字句。X变量将相关联数据资料集的从前四列,我们特指属性,y变量将相关联就此一列,我们特指字句。
激活
X = dataset.iloc[:, :-1].values
y = dataset.iloc[:, 4].values
4.划包含专业训练集与飞行测试集
在这一步里面,我们将把数据资料集相关联专业训练和飞行测试两部分,从而了解迭代对专业训练数据资料的自学程度,以及它在飞行测试数据资料上的观感。
激活
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.20)
5.基本特征缩放
基本特征缩放是在得出结论之从前对数据资料重构的一个重要必需。下面的方式运用于规范化数据资料的基本特征范围。
激活
from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
scaler.fit(X_train)
X_train = scaler.transform(X_train)
X_test = scaler.transform(X_test)
6.用KNN无论如何得出结论
首先,我们能够从sklearn.neighbors库里引入KNeighborsClassifier类,然后必需K并不一定值。在这个范例里面我必需了7(也许,强烈决定必需一个个数并不一定值以尽量避免获胜上述情况)。
激活
from sklearn.neighbors import KNeighborsClassifier
classifier = KNeighborsClassifier(n_neighbors=7)
classifier.fit(X_train, y_train)
然后,我们独自对飞行测试数据资料集来进行得出结论。
y_pred = classifier.predict(X_test)
7.迭代精确性评估
引导sklearn.metrics库里,我们可以通过分类法调查报告来评估迭代的精确性,查看精确度、召回百余人和F1平均分。
激活
from sklearn.metrics import classification_report
print(classification_report(y_test, y_pred))
下面假定该code的分唆使结果:
由此我们可以看出,KNN迭代对30个数据资料点来进行了分类法,平均总准确百余人为95%,召回百余人为93%,F1平均包含94%。
8.找应该的K并不一定值
在本例里面,我必需了K并不一定值为7。如果我们想检查最佳K并不一定值是什么,我们可以生成一个左图片以揭示完全相同的K并不一定值及其产生的权重。我将研究1到30中之间的K并不一定值上述情况。为此,我们能够在1到30中之间分唆使一个循环,在每次循环其之间测算平均偏差并将其移除到偏差一览表里面。相关code如下:
激活
error = []
#测算1到30中之间的K并不一定值的权重
for i in range(1, 30):
knn = KNeighborsClassifier(n_neighbors=i)
knn.fit(X_train, y_train)
pred_i = knn.predict(X_test)
error.append(np.mean(pred_i != y_test))
画K并不一定值权重左图:
激活
plt.figure(figsize=(12, 5))
plt.plot(range(1, 30), error, color='red', marker='o',
markerfacecolor='yellow', markersize=10)
plt.title('Error Rate K Value')
plt.xlabel('K Value')
plt.ylabel('Mean Error')
可用左图形如下:
左图形是从:本文作者正则表达式可用结果从上左图可以看出,平均偏差为0的K并不一定值主要在k并不一定值13-23中之间。
五、阐述KNN是一种较难解决问题的简单的自然语言处理迭代,可运用于分唆使自然语言处理过程里面的重归和分类法护航。其里面,K并不一定值是一个常量,坚称最多达东南边的数并不一定值。实际系统设计里面,决定把K并不一定值登录为个数。另外,在KNN迭代里面你可以必需完全相同的半径度量迭代(最典型的是适用庞加莱半径、布朗克斯半径和明崇祯可夫斯基半径)。
原文链接:
日文版介绍
朱先忠,51CTO活动中心编辑,51CTO专家博客、系主任,淄博两所高校测算机教员,自由演算山海老兵一枚。早期投身于各种赛门铁克关键技术(编著成ASP.NET AJX、Cocos 2d-X相关三本关键技术左图书),多达十多年投身于开源世山海(熟悉流行全栈Web其产品),了解基于OneNet/AliOS+Arduino/ESP32/黑莓唆使等海量其产品与Scala+Hadoop+Spark+Flink等大数据资料其产品。
。武汉看癫痫去哪家医院比较好宁波看白癜风的医院哪家好
海露玻璃酸钠滴眼液治眼睛疼吗
驻马店看白癜风去哪个医院好
温州市最好的男科医院
上一篇: 江苏首富,凉凉之前
-
多款游戏添加“微信天游”运营主体,微信:不影响实际运营
多款微信旗下的游戏添加深圳市微信天游信息技术有限公司(一般而言简援引“微信天游”)作为运行其余均。 5月底6日,微信的游戏官微紧急通知援引:微信天游是微信全资上市公司子公司,是微
- 2025-05-12贝壳回港之忧,5400亿市值消亡,新竞争者涌现
- 2025-05-12锂硅电池塑料公司Group14获4亿美元融资,保时捷参投
- 2025-05-12全国农商银行!深圳农商银行入围“跨境理财通”试点工作银行
- 2025-05-12电池抽取龙头格林美子公司冲刺IPO,回应高位减持质疑
- 2025-05-12佳缘科技董事长王进谈股价波动:股价涨跌受多个产品因素影响
- 2025-05-12合景泰富集团:4月预售额43.52亿元,同比下降66.3%
- 2025-05-12华瑞股份收年度报告问询函:被追问销售人数和薪酬变动不一致的原因及合理性
- 2025-05-12*ST华源:拟向关联方华电煤业发股购买其持有的锦兴能源51%大股东,并拟定增募资
- 2025-05-12三连板若羽臣收关注函:所投医美公司是否存在虚假标榜、存在医美贷等消费分期金融产品?
- 2025-05-12雅居乐集团:4 月项目预售固山39.4 亿元,前4月合计250.5亿元