1、安装Python
安装 python -m pip install --user numpy scipy matplotlib ipython jupyter pandas sympy nose
pip install -U scikit-learn
效果图:
运行结果:
完整代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 | from pandas import read_csv from pandas.plotting import scatter_matrix from matplotlib import pyplot from sklearn.model_selection import train_test_split from sklearn.model_selection import cross_val_score from sklearn.model_selection import StratifiedKFold from sklearn.metrics import classification_report from sklearn.metrics import confusion_matrix from sklearn.metrics import accuracy_score from sklearn.linear_model import LogisticRegression from sklearn.tree import DecisionTreeClassifier from sklearn.neighbors import KNeighborsClassifier from sklearn.discriminant_analysis import LinearDiscriminantAnalysis from sklearn.naive_bayes import GaussianNB from sklearn.svm import SVC print ( "------------------------------------------------" ) # Load dataset #url = "https://raw.githubusercontent.com/jbrownlee/Datasets/master/iris.csv" names = [ 'sepal-length' , 'sepal-width' , 'petal-length' , 'petal-width' , 'class' ] dataset = read_csv( "C:\\Users\\Administrator\\Downloads\\iris.data" , names = names) # shape print ( "------------------------------------------------" ) print (dataset.shape) #print(dataset.head(20)) # descriptions print ( "------------------------------------------------" ) print (dataset.describe()) # classdistribution print ( "------------------------------------------------" ) print (dataset.groupby( 'class' ).size()) # boxand whisker plots print ( "------------------------------------------------" ) #dataset.plot(kind='box', subplots=True, layout=(2,2), sharex=False, sharey=False) #pyplot.show() print ( "------------------------------------------------" ) # histograms #dataset.hist() #pyplot.show() print ( "------------------------------------------------" ) # scatter plot matrix #scatter_matrix(dataset) #pyplot.show() print ( "------------------------------------------------" ) # Split-out validation dataset array = dataset.values X = array[:, 0 : 4 ] y = array[:, 4 ] X_train, X_validation, Y_train, Y_validation = train_test_split(X, y, test_size = 0.20 , random_state = 1 ) models = [] models.append(( 'LR' , LogisticRegression(solver = 'liblinear' , multi_class = 'ovr' ))) models.append(( 'LDA' , LinearDiscriminantAnalysis())) models.append(( 'KNN' , KNeighborsClassifier())) models.append(( 'CART' , DecisionTreeClassifier())) models.append(( 'NB' , GaussianNB())) models.append(( 'SVM' , SVC(gamma = 'auto' ))) # evaluate each model in turn results = [] names = [] for name, model in models: kfold = StratifiedKFold(n_splits = 10 , random_state = 1 , shuffle = True ) cv_results = cross_val_score(model, X_train, Y_train, cv = kfold, scoring = 'accuracy' ) results.append(cv_results) names.append(name) print ( '%s: %f (%f)' % (name, cv_results.mean(), cv_results.std())) # Compare Algorithms pyplot.boxplot(results, labels = names) pyplot.title( 'Algorithm Comparison' ) pyplot.show() # Make predictions on validation dataset model = SVC(gamma = 'auto' ) model.fit(X_train, Y_train) predictions = model.predict(X_validation) # Evaluate predictions print (accuracy_score(Y_validation, predictions)) print (confusion_matrix(Y_validation, predictions)) print (classification_report(Y_validation, predictions)) |
参考:
英文:https://machinelearningmastery.com/machine-learning-in-python-step-by-step/
作者:Work Hard Work Smart
出处:http://www.cnblogs.com/linlf03/
欢迎任何形式的转载,未经作者同意,请保留此段声明!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
2020-04-08 Java 8 Lambda表达式实现原理解析
2018-04-08 查看centos的版本
2011-04-08 MVVM设计模式