【问题标题】:Models works accept support vector machine SVM and Linear Discriminant Analysis模型作品接受支持向量机 SVM 和线性判别分析
【发布时间】:2020-04-16 17:03:09
【问题描述】:

我使用的是 PYCharm 环境 python 3.7.4 我已导入 CSV 文件来训练模型并预测输出。我有不同的算法如下:

1- 高斯 2-逻辑回归 3-KNN 4-决策树 5-SVM 6-线性判别

预测模型工作正常,但支持向量机 SVM 和线性判别分析显示错误(如下所示)。当我在 Jupiter Anaconda 环境中运行它们时,它们运行良好。

图为不同的算法和输出

图书馆:

import os
import csv
import pandas as pd
import matplotlib.pyplot as plt
from PyQt5.QtWidgets import QApplication, QInputDialog, QLineEdit, QFileDialog
from PyQt5.QtGui import QIcon, QPixmap
from PyQt5 import QtCore, QtGui, QtWidgets
from sklearn import model_selection
from sklearn.model_selection import train_test_split
from sklearn.model_selection import cross_val_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
from sklearn.preprocessing import LabelEncoder

from sklearn import tree
from sklearn.metrics import accuracy_score
from PIL import Image
import numpy as np
import seaborn as sns
from mpl_toolkits.mplot3d import Axes3D
import seaborn as sb
import warnings

数据类型:int

数据形状:

X.shape (637, 5)
Y.shape (637,)

支持向量机 SVM 错误:

_______________________错误__________________________________ Traceback(最近一次调用最后):,第 1320 行,在 pushButton_8_handler ax1 = sns.distplot(Y_predict)

_______________________代码__________________________________ def plot_distribution(inp): plt.figure() ax = sns.distplot(inp) plt.axvline(np.mean(inp), color="k", linestyle="dashed", linewidth=5) , 最大值 = plt.ylim() plt.文本( inp.mean() + inp.mean() / 10, max_ - max_ / 10, "平均值:{:.2f}".format(inp.mean()), ) 返回 plt.figure 打印(np.mean(Y_test)) 打印(np.mean(Y_predict))

    #________________________Dist Predict Vs. Test and Means value_________________________
            plt.figure(figsize=(9,5))
            o=np.mean(Y_test)
            tt=np.mean(Y_train)
            ax1 = sns.distplot(Y_predict)
            ax2 = sns.distplot(Y_test)
            RR1=('Mean:', tt)
            RR2=('Mean:', o)
            plt.axvline(np.mean(Y_predict), color='b', linestyle='dashed', linewidth=5,label=RR1)
            plt.axvline(np.mean(Y_test), color='orange', linestyle='dashed', linewidth=5,label=RR2)
            plt.legend()
            plt.savefig('SVM.png')

线性判别分析误差:

_______________________ERROR__________________________________    
        AttributeError: 'float' object has no attribute 'sqrt'

        The above exception was the direct cause of the following exception:

        Traceback (most recent call last): , line 829, in pushButton_4_handler
            Classifier.fit(X_train, Y_train)

_______________________CODE__________________________________

        #____________LinearDiscriminantAnalysis____________________

            def pushButton_4_handler(self):
                from PIL import Image

                f = ('Test.csv')
                data = pd.read_csv(f)
                data = data.dropna()
                X = data.drop('DrainStatnumout', axis='columns')
                Y = data['DrainStatnumout']
                data.Failuer = data.Failuer.astype(int)
                print(data)

                X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size=0.20)
                Classifier = LinearDiscriminantAnalysis()
                Classifier.fit(X_train, Y_train)
                Y_predict = Classifier.predict(X_test)

【问题讨论】:

    标签: python


    【解决方案1】:

    您应该提高您的问题,以允许我们帮助您,添加更多错误信息,您正在使用的库,形状和类型...

    【讨论】:

      猜你喜欢
      • 2023-03-15
      • 2010-12-17
      • 2016-03-17
      • 2011-11-09
      • 2013-06-19
      • 2014-07-17
      • 2019-06-27
      • 2013-12-10
      • 2018-07-08
      相关资源
      最近更新 更多