Python 模型采用支持向量机和线性判别分析

Python 模型采用支持向量机和线性判别分析,python,Python,我正在使用PYCharm环境python 3.7.4 我已经导入了CSV文件来训练模型和预测输出。我有如下不同的算法: 1-高斯 2-Logistic回归 3-KNN 4-决策树 5-SVM 6-线性鉴别 预测模型运行良好,但支持向量机SVM和线性判别分析显示错误(如下所示)。当我在Jupiter-Anaconda环境下运行它们时,它们工作得很好 图中显示了不同的算法和输出 图书馆: import os import csv import pandas as pd import matplot

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

1-高斯 2-Logistic回归 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,)
支持向量机错误:

_______________________错误__________________________________ 回溯(最近一次调用):第1320行,在按钮8处理程序中 ax1=sns.distplot(Y_预测)

_______________________代码__________________________________ def绘图_分布(inp): plt.图() ax=sns.distplot(inp) 打印轴(np.平均值(inp),color=“k”,linestyle=“虚线”,线宽=5) ,max=plt.ylim() plt.text( 输入平均值()+输入平均值()/10, 最大值-最大值/10, “Mean:{.2f}”.format(inp.Mean()), ) 返回plt图 打印(np.平均值(Y_检验)) 打印(np.平均值(Y_预测))

线性判别分析误差:

_______________________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)

您应该改进您的问题,以便我们能够帮助您,添加更多错误信息、您正在使用的库、数据的形状和类型

_______________________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)