import argparse import numpy as np import pandas as pd from sklearn import model_selection from sklearn import preprocessing from sklearn import linear_model from sklearn import metrics import joblib from config import * def train(x_train, x_test, y_train, y_test): estimator = linear_model.Ridge() estimator.fit(x_train, y_train) print('梯度下降的权重系数是:', estimator.coef_) print('梯度下降的偏置是:', estimator.intercept_) joblib.dump(estimator, model_save_path) y_predict = estimator.predict(x_test) err = metrics.mean_squared_error(y_test, y_predict) print('梯度下降的误差率为:', err) def pred(x): estimator = joblib.load(model_save_path) x= np.array(x) predict = estimator.predict(x.reshape((x.shape[0], 1))) return predict def main(): parser = argparse.ArgumentParser(description='Demo of argparse') parser.add_argument('--method', type=str, default='train') args = parser.parse_args() method = args.method if method == 'train': df = pd.read_excel(file_name, dtype={ '年份': int, '值': float }) x = df['年份'].to_numpy() x = x.reshape((x.shape[0], 1)) y = df['值'].to_numpy() x_train, x_test, y_train, y_test=model_selection.train_test_split(x, y) train(x_train, x_test, y_train, y_test) elif method == 'test': predict = pred(pred_year).round(2) df = pd.DataFrame({ '预测年份': pred_year, '预测结果(单位:万吨)': predict }) print(df) df.to_excel(save_pred_path, index=False) else: print('wrong') if __name__ == '__main__': main()
时间: 2024-02-19 08:59:42 浏览: 68
这是一个使用 Ridge 回归模型进行数据训练和预测的 Python 代码。其中使用 argparse 模块进行命令行参数解析,可以通过传入不同的参数值来选择是进行模型训练还是进行数据预测。训练数据来自一个 Excel 文件,包含年份和对应的值。训练过程中使用 sklearn 库的 train_test_split 函数将数据集分为训练集和测试集。训练完成后,模型会被保存到指定路径。预测过程中,使用保存的模型对给定的年份进行预测,并将结果保存到一个 Excel 文件中。
相关问题
import numpy as np import pandas import pandas as pd import matplotlib from sklearn import naive_bayes from sklearn.preprocessing import MinMaxScaler from sklearn.preprocessing import StandardScaler from sklearn.preprocessing import normalize from sklearn.preprocessing import Binarizer from sklearn.impute import SimpleImputer from sklearn.preprocessing import OneHotEncoder import matplotlib.pyplot as plt from sklearn.metrics import roc_curve, auc from sklearn.model_selection import train_test_split from sklearn.linear_model import LogisticRegression from sklearn.metrics import confusion_matrix matplotlib.rc("font", family='Microsoft YaHei') data=pd.read_csv(r'D:\杂货铺\机器学习\银行数据集.csv',header=None)
这段代码导入了一系列的Python库,包括NumPy、Pandas、Matplotlib、scikit-learn等。其中,NumPy是Python科学计算的核心库,Pandas是数据处理的重要库,Matplotlib是绘图库,scikit-learn是机器学习库。接下来,使用Pandas读取一个CSV文件,该文件路径为D:\杂货铺\机器学习\银行数据集.csv,文件没有列名,所以header参数设置为None。
import pandas as pd import numpy as np import matplotlib.pyplot as plt from sklearn.model_selection import train_test_split from sklearn.preprocessing import MinMaxScaler from sklearn.linear_model import LogisticRegression from sklearn.tree import DecisionTreeClassifier from sklearn.neighbors import KNeighborsClassifier from sklearn.svm import SVC from sklearn.metrics import classification_report from sklearn.metrics import confusion_matrix
这段代码是在 Python 中导入了一些常用的机器学习库和模块,包括 pandas、numpy、matplotlib、sklearn 等。其中:
- pandas 是 Python 中常用的数据分析库,可以用来读取和处理数据;
- numpy 是 Python 中常用的科学计算库,提供了数组、矩阵等数据结构和各种数学函数;
- matplotlib 是 Python 中常用的数据可视化库,可以用来绘制各种图表;
- sklearn 是 Python 中常用的机器学习库,提供了许多常用的机器学习算法和工具,比如数据预处理、模型选择、模型评估等。
这段代码中还导入了不同的机器学习算法,包括逻辑回归、决策树、K近邻和支持向量机等。最后还导入了一些评估指标,比如分类报告和混淆矩阵。
阅读全文