import numpy as np
import sklearn
from sklearn import linear_model
from sklearn.utils import shuffle
data = pd.read_csv('student-mat.csv', sep=';')
predict = 'Markup'
x = np.array(data.drop([predict], 1))
y = np.array(data[predict])
x_train, x_test, y_train, y_test = sklearn.model_selection.train_test_split(x, y, test_size=0.1)
linear = linear_model.LinearRegression()
linear.fit(x_train, y_train)
acc = linear.score(x_test, y_test)
print(acc)
print(linear.coef_)
print(linear.intercept_)
目前,它的设置方式可以生成线性模型,但是对于我的数据,我需要一个指数模型,问题是我没有完全理解代码的linear = linear_model.LinearRegression()
部分。香港专业教育学院一直在研究,但找不到指数等价物。如果有人可以用等价的指数替换该行,那就太好了。
您可以将logistic regression(尽管它仍然是线性模型)或Support Vector Regression与RBF内核一起使用。
lin_rg = linear_model.LogisticRegression()
nonlin_rg = sklearn.SVR(kernel='rbf', C=0.5, epsilon=0.2)
model = nonlin_rg
model.fit(x_train, y_train)