当前位置:首页 > 经验 >

python学习经典算法(python初学者必备十大算法)

来源:原点资讯(www.yd166.com)时间:2022-11-03 06:41:03作者:YD166手机阅读>>

python学习经典算法,python初学者必备十大算法(1)

一般应用分类分析用于提炼应用规则
  • 利用构建算法过程中的分类规则;
  • 以决策树为例:决策树分类节点表示局部最优化的显著特征值,每个节点下的特征变量以及对应的值的组合构成规则。
分类用于提取特征
  • 从大量的输入变量中获得重要性特征,然后提取权重最高的几个特征。
分类用于处理缺失值
  • 缺失值是分类变量,基于模型法填补缺失值;
  • 基于已有其他字段,将缺失字段作为目标变量进行预测。
分类分析算法的选取
  • 文本分类时用到最多的是朴素贝叶斯。
  • 训练集比较小,那么选择高偏差且低方差的分类算法效果逢高,如朴素贝叶斯、支持向量机、这些算法不容易过拟合。
  • 训练集比较大,选取何种方法都不会显著影响准确度。
  • 省时好操作选着用支持向量机,不要使用神经网络。
  • 重视算法准确度,那么选择算法精度高的算法,例如支持向量机、随机森林。
  • 想得到有关预测结果的概率信息,使用逻辑回归。
  • 需要清洗的决策规则,使用决策树。
数据准备

本次分类分析使用股市数据。此处可参考金融数据准备。

python学习经典算法,python初学者必备十大算法(2)

KNN

K-Nearest Neighbors (KNN) 是一种懒惰学习算法和分类算法。此外,KNN是机器学习中最简单的方法。利用KNN进行分类,预测新点的分类。

数据预处理

从数据集dataset中选取需要用的数据作为输入数据和标签。

X = dataset.loc[ : , ['high','low','close']].values y = dataset.loc[ : , ['Up_Down']].values 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) 数据标准化

数据标准化对于距离类模型,数据归一化是非常有必要的。这里使用sklearn.preprocessing中StandardScaler。

from sklearn.preprocessing import StandardScaler scaler = StandardScaler() scaler.fit(X_train) X_train = scaler.transform(X_train) X_test = scaler.transform(X_test) 模型训练与预测

from sklearn.neighbors import KNeighborsClassifier knn = KNeighborsClassifier(n_neighbors=5) knn.fit(X_train, y_train) y_pred = knn.predict(X_test) 模型评价

from sklearn.metrics import classification_report, confusion_matrix print(confusion_matrix(y_test, y_pred)) print(classification_report(y_test, y_pred))

[[39 31] [32 44]] precision recall f1-score support -1 0.55 0.56 0.55 70 1 0.59 0.58 0.58 76 accuracy 0.57 146 macro avg 0.57 0.57 0.57 146 weighted avg 0.57 0.57 0.57 146 绘制学习曲线

分类以KNeighbors个数为x轴,模型得分为y轴,绘制学习曲线,以模型得分最高的n_neighbors为本次模型最终参数。

from sklearn.metrics import accuracy_score score = [] for K in range(40): K_value = K 1 knn = KNeighborsClassifier(n_neighbors = K_value, weights='uniform', algorithm='auto') knn.fit(X_train, y_train) y_pred = knn.predict(X_test) score.append(round(accuracy_score(y_test,y_pred)*100,2)) plt.figure(figsize=(12, 6)) plt.plot(range(1, 41), score, color='red', linestyle='dashed', marker='o', markerfacecolor='blue', markersize=10) plt.title('The Learning curve') plt.xlabel('K Value') plt.ylabel('Score')

python学习经典算法,python初学者必备十大算法(3)

带误差线的学习曲线

from sklearn import metrics Ks = 10 mean_acc = np.zeros((Ks-1)) std_acc = np.zeros((Ks-1)) ConfustionMx = []; for n in range(1,Ks): # 模型训练和预测 neigh = KNeighborsClassifier(n_neighbors = n).fit(X_train,y_train) yhat=neigh.predict(X_test) mean_acc[n-1] = metrics.accuracy_score(y_test, yhat) std_acc[n-1]=np.std(yhat==y_test)/np.sqrt(yhat.shape[0]) # 绘图 plt.figure(figsize=(12,6)) plt.plot(range(1,Ks),mean_acc,'g') plt.fill_between(range(1,Ks),mean_acc - 1 * std_acc,mean_acc 1 * std_acc, alpha=0.10) plt.legend(('Accuracy ', ' /- 3xstd')) plt.ylabel('Accuracy ') plt.xlabel('Number of Nabors (K)') plt.tight_layout() plt.show() # print( "The best accuracy was with", mean_acc.max(), "with k=", mean_acc.argmax() 1)

python学习经典算法,python初学者必备十大算法(4)

首页 123下一页

栏目热文

python算法详细图解(python三种算法)

python算法详细图解(python三种算法)

作者:武沛齐 出处:http://www.cnblogs.com/wupeiqi/本文版权归作者和博客园共有为啥会有上述...

2022-11-03 06:28:27查看全文 >>

python寻找波峰波谷算法(python 自动找曲线规律)

python寻找波峰波谷算法(python 自动找曲线规律)

01 引言作为金融时间序列的专题推文,【手把手教你】时间序列之日期处理主要介绍了使用Python处理时间序列的日期和统计...

2022-11-03 06:27:27查看全文 >>

python算法实例精讲(python编程100个经典算法)

python算法实例精讲(python编程100个经典算法)

前言:这篇文章主要介绍了Python集合常见运算,结合具体实例形式分析了Python使用集合生成随机数的几种常用算法的效...

2022-11-03 06:16:49查看全文 >>

python三种算法(python算法基本步骤)

python三种算法(python算法基本步骤)

1.KNN 分类算法由于knn算法涉及到距离的概念,KNN 算法需要先进行归一化处理1.1 归一化处理 scalerfr...

2022-11-03 06:34:30查看全文 >>

python必背100源代码(编程必背50个代码)

python必背100源代码(编程必背50个代码)

对于大部分Python学习者来说,核心知识基本已经掌握了,但"纸上得来终觉浅,绝知此事要躬行",要想完全...

2022-11-03 06:06:55查看全文 >>

Python常用算法(python常见算法库)

Python常用算法(python常见算法库)

来源:博客园 链接:http://kb.cnblogs.com/page/210687/算法一:快速排序算法快速排序是由...

2022-11-03 06:15:01查看全文 >>

python算法大全(python必背100例)

python算法大全(python必背100例)

导读:本文是一些机器人算法(特别是自动导航算法)的Python代码合集。其主要特点有以下三点:选择了在实践中广泛应用的算...

2022-11-03 06:20:29查看全文 >>

python算法入门实例(python初学者必备十大算法)

python算法入门实例(python初学者必备十大算法)

1.猜数字 1到4能组成多少个互不相同且不重复数字的三位数?分别是?分析:可填在百位、十位、个位的数字都是1、2、3、4...

2022-11-03 06:09:52查看全文 >>

python算法设计步骤(最简单编程算法python)

python算法设计步骤(最简单编程算法python)

Python因其可读性而受到称赞。 这使它成为一种很好的第一语言,也是脚本和原型设计的流行选择。在这篇文章中,我们将研究...

2022-11-03 06:02:26查看全文 >>

python常见算法库(python100例入门图解)

python常见算法库(python100例入门图解)

导读:Python数据工具箱涵盖从数据源到数据可视化的完整流程中涉及到的常用库、函数和外部工具。其中既有Python内置...

2022-11-03 06:06:37查看全文 >>

文档排行