我在安装了 pycaret 和 pycharm 的 Windows 上使用 anaconda 环境。我想用 pycaret 运行一个基本的玩具示例(不使用免费提供的数据集),作为一个简单的 y=mx+c,其中 x 是 1-d
这是我使用 scikit 的工作代码。
import numpy as np
from sklearn.linear_model import LinearRegression
import pandas as pd
x= np.arange(0,1000,dtype = 'float64')
Y = (x*2) + 1
X = x.reshape(-1,1)
reg = LinearRegression().fit(X, Y)
# if predicting on same model,perfect score
score = reg.score(X,Y)
print('1- RSS/TSS: 1 for perfect regression=' + str(score))
print('coef =' + str(reg.coef_[0])) # slope
print('intercept =' + str(reg.intercept_)) # intercept
这给出了预期的结果,如下所示:
现在,我创建了可以传递给 pycaret pacakge 的 Dataframe。
data1 = np.vstack((x,Y)).transpose()
# create dataframe as required by Pandas
N= data1.shape[0]
# add first row
dat2 = np.array(['','Col1','Col2'])
for i in range(N):
dat_row = list(data1[i,:].flatten())
nm = ['row'+ str(i)]
dat_row = nm + dat_row
dat2 = np.vstack ((dat2, dat_row) )
df= pd.DataFrame(data=dat2[1:,1:],
index=dat2[1:,0],
columns=dat2[0,1:])
print(df)
print('***************************')
columns = df.applymap(np.isreal).all()
print(columns)
print('***************************')
# now, using Pycaret
from pycaret.regression import *
exp_reg = setup(df, html= False,target='Col2')
print('********************************')
compare_models()
当我这样做时,我创建的数字列 (x,y) 显示为分类。这也被 pyCaret 识别为 Categorical。请参见下图。为什么这是分类的?我可以将其更改为数字吗?
最后,一旦我按下回车键,Pycaret 就会给我以下错误:
这个错误的任何想法?
赛迪