Python机器学习(十)经典算法大全

开通VIP,畅享免费电子书等14项超值服

首页

好书

留言交流

下载APP

联系客服

2021.12.12

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

fromsklearn.preprocessingimportStandardScalerstandardScaler=StandardScaler()standardScaler.fit(X_train)X_train_standard=standardScaler.transform(X_train)X_test_standard=standardScaler.transform(X_test)归一化之后送入模型进行训练

fromsklearn.neighborsimportKNeighborsClassifierknn_clf=KNeighborsClassifier(n_neighbors=8)knn_classifier.fit(X_train_standard,y_train)y_predict=knn_clf.predict(X_test_standard)#默认的预测指标为分类准确度knn_clf.score(X_test,y_test)1.2网格搜索GridSearchCV使用网格搜索来确定KNN算法合适的超参数

fromsklearn.neighborsimportKNeighborsClassifierknn_clf=KNeighborsClassifier(n_neighbors=8)knn_classifier.fit(X_train_standard,y_train)y_predict=knn_clf.predict(X_test_standard)#默认的预测指标为分类准确度knn_clf.score(X_test,y_test)1.3交叉验证GridSearchCV本身就包括了交叉验证,也可自己指定参数cv默认GridSearchCV的KFold平分为3份

自己指定交叉验证,查看交叉验证成绩fromsklearn.model_selectionimportcross_val_score#默认为分成3份cross_val_score(knn_clf,X_train,y_train,cv=5)这里默认的scoring标准为accuracy有许多可选的参数,具体查看官方文档

封装成函数,在fit完模型之后,一次性查看多个评价指标的成绩这里选的只是针对分类算法的指标,也可以是针对回归,聚类算法的评价指标

defcv_score_train_test(model):num_cv=5score_list=["accuracy","f1","neg_log_loss","roc_auc"]forscoreinscore_list:print(score,"\ttrain:",cross_val_score(model,X_train,y_train,cv=num_cv,scoring=score).mean())print(score,"\ttest:",cross_val_score(model,X_test,y_test,cv=num_cv,scoring=score).mean())2.线性回归2.1简单线性回归fromsklearn.linear_modelimportLinearRegressionlinreg=LinearRegression()linreg.fit(X_train,y_train)#查看截距和系数printlinreg.intercept_printlinreg.coef_lin_reg.score(X_test,y_test)y_predict=linreg.predict(X_test)2.2多元线性回归在更高维度的空间中的“直线”,即数据不只有一个维度,而具有多个维度

代码和上面的简单线性回归相同

使用梯度下降法之前,需要对数据进行归一化处理

回到顶部

SGD_reg

fromsklearn.linear_modelimportSGDRegressorsgd_reg=SGDRegressor(max_iter=100)sgd_reg.fit(X_train_standard,y_train_boston)sgd_reg.score(X_test_standard,y_test_boston)3.2确定梯度下降计算的准确性以多元线性回归的目标函数(损失函数)为例

比较使用数学推导式(得出具体解析解)的方法和debug的近似方法的比较

PCA算法不能在前处理进行归一化处理,否则将会找不到主成分

#对于二维的数据样本来说fromsklearn.decompositionimportPCApca=PCA(n_components=1)#指定需要保留的前n个主成分,不指定为默认保留所有pca.fit(X)比如,要使用KNN分类算法,先进行数据的降维操作

fromsklearn.decompositionimportPCApca=PCA(n_components=2)#这里也可以给一个百分比,代表想要保留的数据的方差占比pca.fit(X_train)#训练集和测试集需要进行相同降维处理操作X_train_reduction=pca.transform(X_train)X_test_reduction=pca.transform(X_test)#降维完成后就可以送给模型进行拟合knn_clf=KNeighborsClassifier()knn_clf.fit(X_train_reduction,y_train)knn_clf.score(X_test_reduction,y_test)4.2降维的维数和精度的取舍指定的维数,能解释原数据的方差的比例

pca.explained_variance_ratio_#指定保留所有的主成分pca=PCA(n_components=X_train.shape[1])pca.fit(X_train)pca.explained_variance_ratio_#查看降维后特征的维数pca.n_components_把数据降维到2维,可以进行scatter的可视化操作

先使用pca降维,之后再反向,升维

fromsklearn.decompositionimportPCApca=PCA(0.7)pca.fit(X)pca.n_components_X_reduction=pca.transform(X)X_inversed=pca.inverse_transform(X_reduction)5.多项式回归与模型泛化多项式回顾需要指定最高的阶数,degree

拟合的将不再是一条直线

只有一个特征的样本,进行多项式回归可以拟合出曲线,并且在二维平面图上进行绘制

而对于具有多个特征的样本,同样可以进行多项式回归,但是不能可视化拟合出来的曲线

GridSearchCV:用于寻找给定模型的最优的参数

Pipeline:用于将几个流程整合在一起(PolynomialFeatures()、StandardScaler()、LinearRegression())

如果非要把上两者写在一起,应该把指定好param_grid参数的grid_search作为成员,传递给Pipeline

首先明确:

模型泛化是为了解决模型过拟合的问题

岭回归是模型正则化的一种处理方式,也称为L2正则化

岭回归是线性回归的一种正则化处理后的模型(作为pipeline的成员使用)

fromsklearn.linear_modelimportRidgefromsklearn.preprocessingimportPolynomialFeaturesfromsklearn.preprocessingimportStandardScalerfromsklearn.pipelineimportPipelinedefRidgeRegression(degree,alpha):returnPipeline([("poly",PolynomialFeatures(degree=degree)),("std_scaler",StandardScaler()),("ridge_reg",Ridge(alpha=alpha))])ridge_reg=RidgeRegression(degree=20,alpha=0.0001)ridge_reg.fit(X_train,y_train)y_predict=ridge_reg.predict(X_test)mean_squared_error(y_test,y_predict)代码中:

alpha为L2正则项前面的系数,代表的含义与LASSO回归相同

alpha越小,越倾向于选择复杂模型

alpha越大,越倾向于选择简单模型

Ridge回归、LASSO回归的区别

Ridge:更倾向于保持为曲线

LASSO:更倾向于变为直线(即趋向于使得部分theta变成0,因此有特征选择的作用)

岭回归是模型正则化的一种处理方式,也称为L1正则化

fromsklearn.linear_modelimportLassofromsklearn.preprocessingimportPolynomialFeaturesfromsklearn.preprocessingimportStandardScalerfromsklearn.pipelineimportPipelinedefLassoRegression(degree,alpha):returnPipeline([("poly",PolynomialFeatures(degree=degree)),("std_scaler",StandardScaler()),("lasso_reg",Lasso(alpha=alpha))])lasso_reg=LassoRegression(3,0.01)lasso_reg.fit(X_train,y_train)y_predict=lasso_reg.predict(X_test)mean_squared_error(y_test,y_predict)6.逻辑回归将样本特征与样本发生的概率联系起来。

既可看做回归算法,也可分类算法

通常作为二分类算法

plot_decision_boundary(poly_log_reg,axis=[-4,4,-4,4])plt.scatter(X[y==0,0],X[y==0,1])plt.scatter(X[y==1,0],X[y==1,1])plt.show()6.3逻辑回归中的正则化项和惩罚系数C公式为:

C*J(θ)+L1

C*J(θ)+L2

上式中:

C越大,L1、L2的作用越弱,模型越倾向复杂

C越小,相对L1、L2作用越强,J(θ)作用越弱,模型越倾向简单

scikit封装了OvOOvR这两个类,方便其他二分类算法,使用这两个类实现多分类

例子中:log_reg是已经创建好的逻辑回归二分类器

fromsklearn.multiclassimportOneVsRestClassifierovr=OneVsRestClassifier(log_reg)ovr.fit(X_train,y_train)ovr.score(X_test,y_test)fromsklearn.multiclassimportOneVsOneClassifierovo=OneVsOneClassifier(log_reg)ovo.fit(X_train,y_train)ovo.score(X_test,y_test)7.支撑向量机SVM注意

由于涉及到距离的概念,因此,在SVM拟合之前,必须先进行数据标准化

支撑向量机要满足的优化目标是:

使“最优决策边界”到与两个类别的最近的样本的距离最远

即,使得margin最大化

分为:

HardMarginSVM

SoftMarginSVM

为了改善SVM模型的泛化能力,需要进行正则化处理,同样有L1、L2正则化

正则化即弱化限定条件,使得某些样本可以不再Margin区域内

惩罚系数C是乘在正则项前面的

min12||w||2+C∑i=1mξi,L1正则项min12||w||2+C∑i=1mξi,L1正则项

min12||w||2+C∑i=1mξ2i,L2正则项min12||w||2+C∑i=1mξi2,L2正则项

变化规律:

C越大,容错空间越小,越偏向于HardMargin

C越小,容错空间越大,越偏向于SoftMargin

fromsklearn.preprocessingimportStandardScalerstandardScaler=StandardScaler()standardScaler.fit(X)X_standard=standardScaler.transform(X)fromsklearn.svmimportLinearSVCsvc=LinearSVC(C=1e9)svc.fit(X_standard,y)简洁起见,可以用Pipeline包装起来

fromsklearn.preprocessingimportStandardScalerfromsklearn.svmimportLinearSVCfromsklearn.pipelineimportPipelinedefLinear_svc(C=1.0):returnPipeline([("std_scaler",StandardScaler()),("linearSVC",LinearSVC(C=C))])linear_svc=Linear_svc(C=1e5)linear_svc.fit(X,y)7.3多项式特征SVM明确:使用多项式核函数的目的都是将数据升维,使得原本线性不可分的数据变得线性可分

在SVM中使用多项式特征有两种方式

使用线性SVM,通过pipeline将**poly、std、linear_svc**三个连接起来

使用多项式核函数SVM,则Pipeline只用包装std、kernelSVC两个类

fromsklearn.preprocessingimportStandardScalerfromsklearn.svmimportSVCfromsklearn.pipelineimportPipelinedefRBFkernelSVC(gamma=1.0):returnPipeline([("std_standard",StandardScaler()),("svc",SVC(kernel="rbf",gamma=gamma))])svc=RBFkernelSVC(gamma=1.0)svc.fit(X,y)超参数gammaγγ规律:

gamma越大,高斯核越“窄”,头部越“尖”

gamma越小,高斯核越“宽”,头部越“平缓”,图形叉得越开

若gamma太大,会造成过拟合

若gamma太小,会造成欠拟合,决策边界变为直线

指定margin区域垂直方向上的距离epsilon

通用可以分为线性SVR和多项式SVR

fromsklearn.preprocessingimportStandardScalerfromsklearn.svmimportLinearSVRfromsklearn.svmimportSVRfromsklearn.pipelineimportPipelinedefStandardLinearSVR(epsilon=0.1):returnPipeline([("std_scaler",StandardScaler()),("linearSVR",LinearSVR(epsilon=epsilon))])svr=StandardLinearSVR()svr.fit(X_train,y_train)svr.score(X_test,y_test)#可以使用cross_val_score来获得交叉验证的成绩,成绩更加准确8.决策树非参数学习算法、天然可解决多分类问题、可解决回归问题(取叶子结点的平均值)、非常容易产生过拟合

可以考虑使用网格搜索来寻找最优的超参数

划分的依据有基于信息熵、基于基尼系数(scikit默认用gini,两者没有特别优劣之分)

ID3、C4.5都是使用“entropy"评判方式

CART(ClassificationandRegressionTree)使用的是“gini"评判方式

常用超参数:

max_depth

min_samples_split(设置最小的可供继续划分的样本数量)

min_samples_leaf(指定叶子结点最小的包含样本的数量)

max_leaf_nodes(指定,最多能生长出来的叶子结点的数量)

fromsklearn.treeimportDecisionTreeClassifierdt_clf=DecisionTreeClassifier(max_depth=2,criterion="gini")#dt_clf=DecisionTreeClassifier(max_depth=2,criterion="entropy")dt_clf.fit(X,y)8.2回归fromsklearn.treeimportDecisionTreeRegressordt_reg=DecisionTreeRegressor()dt_reg.fit(X_train,y_train)dt_reg.score(X_test,y_test)#计算的是R2值9.集成学习和随机森林9.1HardVotingClassifier把几种分类模型包装在一起,根据每种模型的投票结果来得出最终预测类别

可以先使用网格搜索把每种模型的参数调至最优,再来Voting

所以,每种模型都应该能估计结果的概率

逻辑回归

KNN

决策树(叶子结点一般不止含有一类数据,因此可以有概率)

SVM中的SVC(可指定probability参数为True)

True:放回取样

False:不放回取样

(2)这类集成学习方法需要指定一个baseestimator

(3)放回取样,会存在oob(outofbag)的样本数据,比例约37%,正好作为测试集

obb_score=True/False,是否使用oob作为测试集

(4)产生差异化的方式:

只针对特征进行随机采样:randomsubspace

既针对样本,又针对特征随机采样:randompatches

random_subspaces_clf=BaggingClassifier(DecisionTreeClassifier(),n_estimators=500,max_samples=500,bootstrap=True,oob_score=True,n_jobs=-1,max_features=1,bootstrap_features=True)random_subspaces_clf.fit(X,y)random_subspaces_clf.oob_score_random_patches_clf=BaggingClassifier(DecisionTreeClassifier(),n_estimators=500,max_samples=100,bootstrap=True,oob_score=True,n_jobs=-1,max_features=1,bootstrap_features=True)random_patches_clf.fit(X,y)random_patches_clf.oob_score_参数解释:

max_samples:如果和样本总数一致,则不进行样本随机采样

max_features:指定随机采样特征的个数(应小于样本维数)

bootstrap_features:指定是否进行随机特征采样

oob_score:指定是都用oob样本来评分

bootstrap:指定是否进行放回取样

随机森林是指定了BaseEstimator为DecisionTree的Bagging集成学习模型

已经被scikit封装好,可以直接使用

特点:

决策树在结点划分上,使用随机的特征和阈值

提供了额外的随机性,可以抑制过拟合,但会增大Bias(偏差)

具有更快的训练速度

fromsklearn.ensembleimportExtraTreesRegressoret_clf=ExtraTreesClassifier(n_estimators=500,bootstrap=True,oob_score=True,random_state=666)et_clf.fit(X,y)et_clf.oob_score_9.5AdaBoosting每个子模型模型都在尝试增强(boost)整体的效果,通过不断的模型迭代,更新样本点的权重

AdaBoosting没有oob的样本,因此需要进行train_test_split

需要指定BaseEstimator

fromsklearn.ensembleimportAdaBoostClassifierfromsklearn.treeimportDecisionTreeClassifierada_clf=AdaBoostClassifier(DecisionTreeClassifier(max_depth=2),n_estimators=500)ada_clf.fit(X_train,y_train)ada_clf.score(X_test,y_test)9.6GradientBoosting训练一个模型m1,产生错误e1

针对e1训练第二个模型m2,产生错误e2

针对e2训练第二个模型m3,产生错误e3

......

最终的预测模型是:m1+m2+m3+...m1+m2+m3+...

GradientBoosting是基于决策树的,不用指定BaseEstimator

fromsklearn.ensembleimportGradientBoostingClassifiergb_clf=GradientBoostingClassifier(max_depth=2,n_estimators=30)gb_clf.fit(X_train,y_train)gb_clf.score(X_test,y_test)总结上述提到的集成学习模型,不仅可以用于解决分类问题,也可解决回归问题

fromsklearn.ensembleimportBaggingRegressorfromsklearn.ensembleimportRandomForestRegressorfromsklearn.ensembleimportExtraTreesRegressorfromsklearn.ensembleimportAdaBoostRegressorfromsklearn.ensembleimportGradientBoostingRegressor例子:决策树和AdaBoosting回归问题效果对比

本例的notebook笔记文件:git仓库

实例代码:

frommatplotlibimportpyplotaspltfromsklearn.metricsimportaccuracy_scoreimportnumpyasnpimportseabornassns;sns.set()%matplotlibinline10.1传统K-means聚类构造数据集

fromsklearn.datasets.samples_generatorimportmake_blobsX,y_true=make_blobs(n_samples=300,centers=4,cluster_std=0.60,random_state=0)plt.scatter(X[:,0],X[:,1],s=50)fromsklearn.clusterimportKMeanskmeans=KMeans(n_clusters=4)kmeans.fit(X)y_kmeans=kmeans.predict(X)绘制聚类结果,画出聚类中心

构造数据

fromsklearn.datasetsimportmake_moonsX,y=make_moons(200,noise=0.05,random_state=0)传统kmeans聚类失败的情况

fromsklearn.datasetsimportload_digitsdigits=load_digits()进行聚类

kmeans=KMeans(n_clusters=10,random_state=0)clusters=kmeans.fit_predict(digits.data)kmeans.cluster_centers_.shape(10,64)可以将这些族中心点看做是具有代表性的数字

通过流形学习

投影到低维空间

且k-means算法只对简单的,分离性能好的,并且是圆形分布的数据有比较好的效果

本例中所有代码的实现已上传至git仓库

通过实例来观察K-means算法的缺陷

半径是根据最远的点与族中心点的距离算出

下面用一个函数将这个聚类圆圈可视化

在默认参数设置的、数据简单可分的情况下,

GMM的分类效果与k-means基本相同

probs=gmm.predict_proba(X)print(probs[:5].round(3))[[0.0.4690.0.531][1.0.0.0.][1.0.0.0.][0.0.0.1.][1.0.0.0.]]编写绘制gmm绘制边界的函数

一个GMM拟合的结果并不是一个聚类模型,而是描述数据分布的生成概率模型。

非线性边界的情况

分布函数的生成模型可以生成新的,与输入数据类似的随机分布函数(生成新的数据点)

用GMM拟合原始数据获得的16个成分生成的400个新数据点

赤池信息量准则(Akaikeinformationcriterion)AIC

贝叶斯信息准则(Bayesianinformationcriterion)BIC

常用指标选择方式

平衡分类问题:

分类准确度、ROC曲线

类别不平衡问题:

精准率、召回率

对于二分类问题,常用的指标是f1、roc_auc

多分类问题,可用的指标为f1_weighted

一般用于平衡分类问题(每个类比的可能性相同)

fromsklearn.metricsimportaccuracy_scoreaccuracy_score(y_test,y_predict)#(真值,预测值)2.混淆矩阵、精准率、召回率精准率:正确预测为1的数量,占,所有预测为1的比例

召回率:正确预测为1的数量,占,所有确实为1的比例

#先真实值,后预测值fromsklearn.metricsimportconfusion_matrixconfusion_matrix(y_test,y_log_predict)fromsklearn.metricsimportprecision_scoreprecision_score(y_test,y_log_predict)fromsklearn.metricsimportrecall_scorerecall_score(y_test,y_log_predict)多分类问题中的混淆矩阵

多分类结果的精准率

fromsklearn.metricsimportprecision_scoreprecision_score(y_test,y_predict,average="micro")多分类问题中的混淆矩阵

fromsklearn.metricsimportconfusion_matrixconfusion_matrix(y_test,y_predict)移除对角线上分类正确的结果,可视化查看其它分类错误的情况同样,横坐标为预测值,纵坐标为真实值

cfm=confusion_matrix(y_test,y_predict)row_sums=np.sum(cfm,axis=1)err_matrix=cfm/row_sumsnp.fill_diagonal(err_matrix,0)plt.matshow(err_matrix,cmap=plt.cm.gray)plt.show()3.F1-scoreF1-score是精准率precision和召回率recall的调和平均数

fromsklearn.metricsimportf1_scoref1_score(y_test,y_predict)4.精准率和召回率的平衡可以通过调整阈值,改变精确率和召回率(默认阈值为0)

拉高阈值,会提高精准率,降低召回率

降低阈值,会降低精准率,提高召回率

#精确率召回率曲线plt.plot(precisions,recalls)plt.show()将精准率和召回率曲线,绘制在同一张图中

注意,当取“最大的”threshold值的时候,精准率=1,召回率=0,

但是,这个最大的threshold没有对应的值

因此thresholds会少一个

TPR:TruePositiverate

FPR:FalsePositiveRateFPR=FPTN+FPFPR=FPTN+FP

绘制ROC曲线

fromsklearn.metricsimportroc_curvefprs,tprs,thresholds=roc_curve(y_test,decision_scores)plt.plot(fprs,tprs)plt.show()计算ROC曲线下方的面积的函数

roc_area_under_curve_score

fromsklearn.metricsimportroc_auc_scoreroc_auc_score(y_test,decision_scores)曲线下方的面积可用于比较两个模型的好坏

总之,上面提到的decision_score是一个概率值,如01二分类问题,应该是将每个样本预测为1的概率,

如某个样本的y_test为1,y_predict_probablity为0.875

每个测试样本对应一个预测的概率值

通常在模型fit完成之后,都会有相应的得到概率的函数,如

model.predict_prob(X_test)

model.decision_function(X_test)

fromsklearn.metricsimportmean_squared_errormean_squared_error(y_test,y_predict)2.平均绝对值误差MAEfromsklearn.metricsimportmean_absolute_errormean_absolute_error(y_test,y_predict)3.均方根误差RMSEscikit中没有单独定于均方根误差,需要自己对均方误差MSE开平方根

fromsklearn.metricsimportr2_scorer2_score(y_test,y_predict)5.学习曲线观察模型在训练数据集和测试数据集上的评分,随着训练数据集样本数增加的变化趋势。

THE END
1.python海龟画图代码整理1ppppppro该文章适合于少儿编程python turtle 课程 备课或者大学生接触一段时间python后使用turtle完成一些练习的效果 四色的圆 点击查看代码 importturtle turtle.color("red")#设置画笔颜色为红色turtle.circle(100,90)#四分之一圆turtle.color("blue")#变更画笔颜色为蓝色turtle.circle(100,90) ...https://www.cnblogs.com/ppppppro/p/18345051
2.超级简单的七行代码,实现python海龟画图,普通人分分钟学会程序员...94%韩国人拒食中国白菜,只因嫌脏?别忘了泡菜都是从中国出... 02:51 俄引爆洲际导弹,核战危机笼罩全球,普通人该如何逃生自救? 00:47 海龟是两栖动物吗 00:46 暹罗猫冷知识,保证让你大开眼界! 01:26 用0.03秒避开闪电攻击,他是死神都无法选中的男人 01:07 男子设计厨房设计画图,这制图技术真是非常...https://www.sohu.com/a/830709525_100114195
3.Python练习实例56菜鸟教程Python 100例 题目:画图,学用circle画圆形。 程序分析:无。 程序源代码: 实例(Python 2.0+) #!/usr/bin/python# -*- coding: UTF-8 -*-if__name__=='__main__':fromTkinterimport*canvas=Canvas(width=800,height=600,bg='yellow')canvas.pack(expand=YES,fill=BOTH)k=1j=1foriinrange(0,26):...https://www.runoob.com/python/python-exercise-example56.html
1.python画图代码大全python画图代码大全 Python是一种高级编程语言,也是非常适合用来进行数据可视化和图形绘制的语言之一。无论是绘制简单的线条图、柱状图、散点图,还是复杂的3D图形、动画图等,Python都可以轻松胜任。下面将介绍一些常用的Python画图代码,以供参考。 1. 导入绘图库 ```python import matplotlib.pyplot as plt import ...http://www.cn86.cn/news/61056.html
2.pythonturtle画图代码大全python turtle画图代码大全 回答1: Python turtle是一个非常有趣的绘图工具,可以用来绘制各种形状和图案。以下是一些常见的Python turtle画图代码: 绘制正方形: import turtle turtle.forward(100) turtle.right(90) turtle.forward(100) turtle.right(90) turtle.forward(100) turtle.right(90) turtle.forward(100)...https://wenku.csdn.net/answer/83160e55331a0147efbee42669c47372
3.Python简单的画爱心代码,完整的Python画爱心代码大全物联沃大家好,本文将围绕用python画一个心形怎么编程展开说明,python简单的画图代码爱心是一个很多人都想弄明白的事情,想搞清楚python画爱心代码大全需要先了解以下几个事情。 python爱心源代码集锦(18款) 本文目录: 一、代码效果预览索引图 二、爱心源代码集锦 (1)、爱心图形1(弧线型)(显示的文字写在代码里) (2)、...https://www.iotword.com/20244.html
4.Python常用画图代码(折线图柱状图饼图)?简单记录一下最简单常用的三种论文插图的python画图代码,以作备忘。 ? 有很多很牛b的作图教程,我也学不来,就扔给大家自己学吧: 如何在论文中画出漂亮的插图?[1] 折线图 代码 代码语言:javascript 复制 importnumpyasnpimportmatplotlib.pyplotasplt ...https://cloud.tencent.com/developer/article/1780434
5.python简单绘图代码python画图代码大全python画图代码大全简单 # Python画图代码大全简介Python作为一种功能强大的编程语言,不仅可以用于数据处理和机器学习,还可以用于可视化数据和绘制各种图表。Python提供了多种库和工具,使得图形绘制变得简单而有趣。本文将介绍一些常用的Python画图库和示例代码,帮助读者快速了解如何使用Python进行图形绘制。## 1. Matplotlib...https://blog.51cto.com/u_16213632/7518463
6.pythonturtle模板画图python_turtle模板画图2024-11-29 09:38:02 201人阅读turtle简单画图所用到的代码: 1 turtle.showturtle() #画图板 2 turtle.screensize(2024,2000) #画图板大小 3 turtle.forward() #往前移动 4 turtle.right(90) #方向往左调整n度 5 turtle.left(30) #方向往右调整n度 6 turtle.write("hello") #写...https://www.u72.net/daima/n162k.html
7.Python科学画图代码分享python这篇文章主要介绍了Python科学画图代码分享,涉及matplotlib库的简单介绍,分享了matplotlib绘图库书籍的下载地址,具有一定参考价值,需要的朋友可以了解下。Python画图主要用到matplotlib这个库。Matplotlib 是一个 Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形。 这里有一本电子书供大家...https://www.jb51.net/article/129391.htm
8.李兴球的博客,少儿Python编程技术前沿–原创,少儿Python编程技术帮别人做一个Python原创作品的副作品,一个像风火轮一样的图形? 作者李兴球在python,turtle 以下是这个图案的代码,画完后,它会旋转: import tu… 阅读更多 7 3 月, 2024 raptor流程图与算法设计教程 作者李兴球在杂谈 Raptor运算符号、函数、子过程介绍大全 Raptor s… ...https://www.lixingqiu.com/
9.GitHub怎么样发布你的 Python 代码给别人 “pip install” link pyqt5 examples github imgviz画图 github wxpy: 用 Python 玩微信 link Waitress link ABuilder python mysql数据库github pybind11 github imutils库--图像处理函数 Python 库 link Pyinstaller打包需要的参数 link Gunicorn配置 link Python资源大全中文版 gith...https://github.com/Eltonone/note