基于ann的宝石识别代码
时间: 2024-02-27 20:54:39 浏览: 146
基于ANN的神经网络识别数字系统
以下是一个基于ANN(人工神经网络)的宝石识别代码示例:
```python
import numpy as np
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.neural_network import MLPClassifier
# 读取数据
data = pd.read_csv('gemstones.csv')
# 将目标变量转化为数值
data['type'] = pd.factorize(data['type'])[0]
# 分割数据为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(data.drop('type', axis=1),
data['type'],
test_size=0.2,
random_state=42)
# 数据标准化
scaler = StandardScaler()
X_train = scaler.fit_transform(X_train)
X_test = scaler.transform(X_test)
# 创建ANN模型
mlp = MLPClassifier(hidden_layer_sizes=(10, 10), max_iter=1000)
# 模型训练
mlp.fit(X_train, y_train)
# 模型预测
predictions = mlp.predict(X_test)
# 计算准确率
accuracy = np.mean(predictions == y_test)
print('Accuracy:', accuracy)
```
这个示例使用了一个包含两个隐藏层、每层10个神经元的ANN模型,使用gemstones.csv中的数据进行训练和测试,目标变量为“type”。数据标准化使用了StandardScaler,用于将数据缩放到均值为0,标准差为1的范围内。最后,计算了模型的准确率并输出。
阅读全文