Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
与SQL Server连接的Python(HY105错误)参数类型HY105无效_Python_Sql_Python 3.x_Numpy_Pyodbc - Fatal编程技术网

与SQL Server连接的Python(HY105错误)参数类型HY105无效

与SQL Server连接的Python(HY105错误)参数类型HY105无效,python,sql,python-3.x,numpy,pyodbc,Python,Sql,Python 3.x,Numpy,Pyodbc,我试图将CSV添加到python代码中,并使用LR、LDA和各种其他算法来测试它们的评分结果。 然后我想在SQLServer中以表的形式显示结果。 我得到错误“无效的参数类型。参数索引=0,参数类型=numpy.ndarray HY105” 如有补充,将不胜感激。 代码如下: import matplotlib.pyplot as plt import numpy as np import pandas from pandas.tools.plotting import scatter_matr

我试图将CSV添加到python代码中,并使用LR、LDA和各种其他算法来测试它们的评分结果。 然后我想在SQLServer中以表的形式显示结果。 我得到错误“无效的参数类型。参数索引=0,参数类型=numpy.ndarray HY105” 如有补充,将不胜感激。 代码如下:

import matplotlib.pyplot as plt
import numpy as np
import pandas
from pandas.tools.plotting import scatter_matrix
import matplotlib.pyplot as plt
from sklearn import model_selection
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
import sqlalchemy
import pypyodbc
import pyodbc

# Load dataset
url = "AirPassengers.csv"
names = ['Serial Number', 'Time', 'Air Passengers']
dataset = pandas.read_csv(url, names=names)
print(dataset.describe())
print(dataset)


#Creating Validation Sets

array = dataset.values
X = array[1:, 0:4]
Y = array[1: ,2]
validation_size = 0.30
seed = 5
X_train, X_validation, Y_train, Y_validation = 
model_selection.train_test_split(X,Y,test_size=validation_size, 
random_state=seed)

#Test Harness and Evaluation Metrics 
seed = 5
scoring = 'accuracy'

#Building Models

models = []
models.append(('LR', LogisticRegression()))
models.append(('LDA', LinearDiscriminantAnalysis()))
models.append(('KNN', KNeighborsClassifier()))
models.append(('CART', DecisionTreeClassifier()))
models.append(('NB', GaussianNB()))
models.append(('SVM', SVC()))
# evaluate each model in turn
results = []
names = []

for name, model in models:
    kfold = model_selection.KFold(n_splits=10, random_state=seed)
    cv_results = model_selection.cross_val_score(model, X_train, Y_train, 
cv=kfold, scoring=scoring)
    results.append(cv_results)
    names.append(name)
    msg = "%s: %f (%f)" % (name, cv_results.mean(), cv_results.std())
    print(msg)



conn = pyodbc.connect(
    r'DRIVER={ODBC Driver 11 for SQL Server};'
    r'SERVER=Q3GN0570\MSSQLSERVER1;'
    r'DATABASE=AdventureWorksDW2014;'
    r'Trusted_Connection=yes;'
    )

cursorexec = conn.cursor()

cursorexec.execute("INSERT INTO pythonTest(LR,LDA,KNN,CART,NB,SVM) VALUES 
(?,?,?,?,?,?)", results)

cursorexec.commit()

conn.close()

你能展示一下pythonTest表的格式吗?我假设
cv_results
不是本机数据类型pythontest表有6列,数据类型为nvarchar(100)。cv_results的类型为numpy.ndarray。我认为这是造成问题的原因之一。对此有何建议?您需要将其转换为元组或列表,以便show驱动程序能够理解它。您能显示pythonTest表的格式吗?我假设
cv_results
不是本机数据类型pythontest表有6列,数据类型为nvarchar(100)。cv_results的类型为numpy.ndarray。我认为这是造成问题的原因之一。怎么办?你需要把它转换成一个元组或列表,以便节目驱动程序能够理解它。