用4种算法对数据进行分析预测并实现
时间: 2024-02-09 17:08:54 浏览: 21
以下是四种算法用于数据分析和预测的Python实现示例:
1. 线性回归:
```python
import numpy as np
from sklearn.linear_model import LinearRegression
# 创建数据集
X = np.array([[1, 1], [2, 2], [3, 3], [4, 4]])
y = np.array([2, 4, 6, 8])
# 构建模型
model = LinearRegression()
# 拟合数据
model.fit(X, y)
# 预测新数据
new_data = np.array([[5, 5], [6, 6]])
predictions = model.predict(new_data)
print(predictions)
```
2. 决策树:
```python
from sklearn.tree import DecisionTreeClassifier
from sklearn.datasets import load_iris
# 加载数据集
iris = load_iris()
X = iris.data[:, :2]
y = iris.target
# 构建模型
model = DecisionTreeClassifier(max_depth=3)
# 拟合数据
model.fit(X, y)
# 预测新数据
new_data = np.array([[5.1, 3.5], [6.2, 3.4]])
predictions = model.predict(new_data)
print(predictions)
```
3. 支持向量机:
```python
from sklearn import svm
from sklearn.datasets import load_iris
# 加载数据集
iris = load_iris()
X = iris.data[:, :2]
y = iris.target
# 构建模型
model = svm.SVC(kernel='linear')
# 拟合数据
model.fit(X, y)
# 预测新数据
new_data = np.array([[5.1, 3.5], [6.2, 3.4]])
predictions = model.predict(new_data)
print(predictions)
```
4. 神经网络:
```python
import tensorflow as tf
from tensorflow import keras
from sklearn.datasets import load_iris
# 加载数据集
iris = load_iris()
X = iris.data
y = iris.target
# 构建模型
model = keras.Sequential([
keras.layers.Dense(10, input_shape=(4,), activation='relu'),
keras.layers.Dense(3, activation='softmax')
])
# 编译模型
model.compile(optimizer='adam',
loss='sparse_categorical_crossentropy',
metrics=['accuracy'])
# 拟合数据
model.fit(X, y, epochs=100, batch_size=16)
# 预测新数据
new_data = np.array([[5.1, 3.5, 1.4, 0.2], [6.2, 3.4, 5.4, 2.3]])
predictions = np.argmax(model.predict(new_data), axis=-1)
print(predictions)
```