【问题标题】:Entering new data to sklearn model with pickle使用pickle将新数据输入到sklearn模型
【发布时间】:2022-01-05 13:45:36
【问题描述】:

我是一名 sklearn 初学者,我已经训练了一个 logreg 算法,我想将一个新行输入到该算法中以获得预测。这是算法:

X=dataframe[['Age', 'DailyRate',
       'DistanceFromHome', 'Education', 'EnvironmentSatisfaction', 'HourlyRate',
       'JobInvolvement', 'JobLevel', 'JobSatisfaction',
        'MonthlyIncome', 'MonthlyRate', 'NumCompaniesWorked',
       'PercentSalaryHike', 'PerformanceRating',
       'RelationshipSatisfaction', 'StockOptionLevel',
       'TotalWorkingYears', 'TrainingTimesLastYear', 'WorkLifeBalance',
       'YearsAtCompany', 'YearsInCurrentRole', 'YearsSinceLastPromotion',
       'YearsWithCurrManager', 'Gender', 'BusinessTravel', 'EducationField']]
y=dataframe[['Attrition']].values.ravel()
X_train,X_test,y_train,y_test=train_test_split(X,y,random_state=42069)
log_reg=LogisticRegression(C=1000,max_iter=10000)
log_reg.fit(X_train,y_train)

print('Second Attempt at Logistic Regression:')
print('Traning Model accruracy scores: {:.3f}'.format(log_reg.score(X_train,y_train)))
print('Test Model accruracy scores: {:.3f}'.format(log_reg.score(X_test,y_test)))

filename = 'model1.sav'
pickle.dump(log_reg, open('model1.sav', 'wb'))

loaded_model = pickle.load(open('model1.sav', 'rb'))
result = loaded_model.score(X_test, y_test)
print(result)

基本上我想输入新的一行数据(例如:(0, 41, Yes, 1, 1102 etc))并让算法对其进行预测。任何帮助都会很棒,非常感谢您的阅读!

【问题讨论】:

    标签: python scikit-learn pickle logistic-regression


    【解决方案1】:

    你使用 predict 方法。

    pred = loaded_model.predict([0, 41, Yes, 1, 1102])
    print(pred)
    

    【讨论】:

    • 非常感谢!
    猜你喜欢
    • 2019-07-19
    • 2019-11-17
    • 1970-01-01
    • 2019-12-15
    • 2020-04-08
    • 1970-01-01
    • 2020-02-24
    • 2022-12-04
    • 2020-05-31
    相关资源
    最近更新 更多