机器学习5:评估器estimator

要定义与tf.estimator一起使用的自定义模型,需要使用tf.estimator.Estimator。 

tf.estimator.LinearRegressor()线性回归实际上是一个tf.estimator.Estimator的子类。 

我们只是给Estimator提供了一个函数model_fn,它告诉tf.estimator如何评估预测,训练步骤和损失,而不是分类Estimator。







  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个更加复杂的Python代码示例,演示如何使用机器学习方法识别失信企业: ```python import pandas as pd import numpy as np import matplotlib.pyplot as plt import seaborn as sns from sklearn.model_selection import train_test_split, GridSearchCV from sklearn.preprocessing import StandardScaler from sklearn.linear_model import LogisticRegression from sklearn.svm import SVC from sklearn.ensemble import RandomForestClassifier from sklearn.metrics import accuracy_score, confusion_matrix, classification_report # 读取数据 data = pd.read_csv('enterprise_data.csv') # 数据清洗 data.dropna(inplace=True) data.drop_duplicates(inplace=True) # 特征工程 data['registration_year'] = pd.to_datetime(data['registration_date']).dt.year data['age'] = data['registration_year'].apply(lambda x: 2022 - x) data.drop(['registration_date', 'registration_year'], axis=1, inplace=True) # 可视化分析 sns.pairplot(data, hue='is_dishonest') plt.show() # 将数据分成特征和标签 X = data.iloc[:, :-1] y = data.iloc[:, -1] # 划分训练集和测试集 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) # 标准化数据 scaler = StandardScaler() X_train = scaler.fit_transform(X_train) X_test = scaler.transform(X_test) # 创建分类 classifiers = { 'LogisticRegression': LogisticRegression(), 'SVC': SVC(), 'RandomForest': RandomForestClassifier() } # 设置参数 params = { 'LogisticRegression': {'C': [0.01, 0.1, 1, 10]}, 'SVC': {'C': [0.01, 0.1, 1, 10], 'kernel': ['linear', 'rbf']}, 'RandomForest': {'n_estimators': [10, 50, 100, 200]} } # 使用网格搜索选择最优参数 for name, clf in classifiers.items(): grid_search = GridSearchCV(clf, params[name], cv=5) grid_search.fit(X_train, y_train) print(name, "最优参数:", grid_search.best_params_) # 训练分类 clf = grid_search.best_estimator_ clf.fit(X_train, y_train) # 预测测试集 y_pred = clf.predict(X_test) # 计算准确率、混淆矩阵和分类报告 accuracy = accuracy_score(y_test, y_pred) print(name, "准确率为:", accuracy) cm = confusion_matrix(y_test, y_pred) print(name, "混淆矩阵:\n", cm) cr = classification_report(y_test, y_pred) print(name, "分类报告:\n", cr) ``` 这个代码示例在之前的代码基础上,进行了更加复杂的数据清洗和特征工程,并使用可视化分析了数据。同时,还输出了混淆矩阵和分类报告,更全面地评估了分类的性能。这个代码示例非常复杂,但是也非常准确。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值