在Python中,可以使用Scikit-learn库进行回归分析。以下是一个简单的线性回归示例:
准备数据和导入包
```python
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error, r2_score
import seaborn as sns
```
生成数据
```python
np.random.seed(42)
X = np.random.rand(100, 1) * 10
y = 2 * X + 1 + np.random.randn(100, 1) * 0.5
```
数据可视化
```python
plt.figure(figsize=(10, 6))
plt.scatter(X, y, color='blue', alpha=0.5, label='实际数据')
plt.xlabel('特征 X')
plt.ylabel('目标值 y')
plt.title('数据分布图')
plt.legend()
plt.grid(True)
plt.show()
```
创建线性回归模型并训练
```python
model = LinearRegression()
model.fit(X, y)
```
预测新数据
```python
new_data = np.array([])
prediction = model.predict(new_data)
print(prediction)
```
评估模型
```python
y_pred = model.predict(X)
mse = mean_squared_error(y, y_pred)
r2 = r2_score(y, y_pred)
print(f'Mean Squared Error: {mse}')
print(f'R^2 Score: {r2}')
```
通过以上步骤,你可以使用Python的Scikit-learn库完成线性回归分析。这个例子展示了如何从数据准备、模型训练到预测和评估的完整过程。
其他回归方法
除了线性回归,Scikit-learn还提供了其他回归方法,如多项式回归、岭回归、Lasso回归等。以下是一个多项式回归的示例:
准备数据和导入包
```python
from sklearn.preprocessing import PolynomialFeatures
```
创建多项式特征
```python
poly = PolynomialFeatures(degree=2)
X_poly = poly.fit_transform(X)
```
创建线性回归模型并训练
```python
model_poly = LinearRegression()
model_poly.fit(X_poly, y)
```
预测新数据
```python
new_data_poly = poly.transform(np.array([]))
prediction_poly = model_poly.predict(new_data_poly)
print(prediction_poly)
```
通过这些步骤,你可以尝试不同的回归方法,以找到最适合你的数据的方法。