使用逻辑回归进行预测(Python Sci Kit Learn)

时间:2017-08-07 07:19:53

标签: python machine-learning scikit-learn

我在Python中使用logistic regressionSciKit learn相对较新。在阅读了一些主题并观看了一些演示之后,我决定自己潜水。

所以,基本上,我试图根据一些功能预测客户的转换率。结果是 Active (1)或 Not active (0)。我尝试了 KNN 逻辑回归。使用 KNN ,我得到0.893的平均准确度和逻辑回归0.994。后者看起来如此之高,甚至是现实的/可能的?

无论如何:假设我的模型确实非常准确,我现在想要导入一个具有相同特征列的新数据集并预测它们的转换(它们在本月结束)。在上面的例子中,我使用cross_val_score来获得准确度分数。

我现在是否需要导入新的设置,以某种方式将新设置适合此模型。 (不再训练,现在我只是想用它)

有人可以告诉我怎么办?如果需要其他信息,请对此进行评论。

提前致谢!

2 个答案:

答案 0 :(得分:2)

除了'Pickle','joblib'也可以使用。

## 
from sklearn.linear_model import LogisticRegression
from sklearn.externals import joblib

假设已经定义了X,Y

model = LogisticRegression()
model.fit(X, Y)

将模型保存到磁盘

filename = 'finalized_model.sav'
joblib.dump(model, filename)

从磁盘加载模型

loaded_model = joblib.load(filename)
result = loaded_model.score(X_test, Y_test)

答案 1 :(得分:1)

对于统计问题:当然,它可能会发生,要么您的数据噪音很小,要么在评论中提到的方案时钟奴隶。

对于分类器的导入,您可以pickle它(将其保存为pickle模块的二进制文件,然后只需在需要时加载它并使用clf.predict()关于新数据的方法

import pickle 

#Do the classification and name the fitted object clf
with open('clf.pickle', 'wb') as file :
    pickle.dump(clf,file,pickle.HIGHEST_PROTOCOL)

然后你可以加载它

import pickle 

with open('clf.pickle', 'rb') as file :
    clf =pickle.load(file)

# Now predict on the new dataframe df as 
pred = clf.predict(df.values)