2024-08-10



import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error
 
# 读取数据
dataset = pd.read_csv('50_Startups.csv')
X = dataset.iloc[:, :-1].values
y = dataset.iloc[:, 4].values
 
# 划分数据集为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)
 
# 特征缩放
from sklearn.preprocessing import StandardScaler
sc_X = StandardScaler()
X_train = sc_X.fit_transform(X_train)
X_test = sc_X.transform(X_test)
 
# 使用LinearRegression进行训练
regressor = LinearRegression()
regressor.fit(X_train, y_train)
 
# 预测测试集结果
y_pred = regressor.predict(X_test)
 
# 评估模型性能
print(f'Mean Squared Error: {mean_squared_error(y_test, y_pred)}')
 
# 输出模型参数
print('Model intercept:', regressor.intercept_)
print('Model coefficients:', regressor.coef_)

这段代码首先导入必要的Python库,并加载数据集。接着,使用train_test_split函数划分数据集。然后,使用StandardScaler对训练集进行特征缩放。接下来,创建一个LinearRegression对象,并用训练数据集拟合模型。最后,使用测试集来预测并评估模型性能,打印出均方误差和模型参数。这个过程是进行多元线性回归分析的标准流程。

2024-08-09

由于篇幅限制,我无法提供完整的代码。但我可以提供一个简化的示例来说明如何使用Python创建一个简单的Web应用程序,用于显示农产品价格预测结果。




from flask import Flask, request, jsonify
import numpy as np
import pandas as pd
from sklearn.linear_model import LinearRegression
 
app = Flask(__name__)
model = LinearRegression()
 
# 加载模型和数据
def load_model_and_data():
    global model
    # 假设已经有了保存好的模型和数据
    model = ... # 加载模型
    X_test, y_test = ... # 加载测试数据
    return X_test, y_test
 
# 加载数据和模型
X_test, y_test = load_model_and_data()
 
@app.route('/predict', methods=['POST'])
def predict():
    data = request.json
    # 假设输入数据是以JSON格式接收的,例如:{"feature1": value1, "feature2": value2, ...}
    prediction = model.predict(np.array([data]))[0]
    return jsonify({'prediction': prediction})
 
if __name__ == '__main__':
    app.run(debug=True, host='0.0.0.0')

这个简化的Web应用程序使用Flask框架,接收JSON格式的数据,并返回预测结果。在实际应用中,你需要根据你的数据集和模型进行适当的调整。记得在实际部署时关闭debug模式并使用更安全的方法来传递和接收数据。