Python 分类算法:决策树、逻辑回归和神经网络
This code reads in a test dataset and performs classification using three different algorithms: decision tree, logistic regression, and neural network.
For each algorithm, it loops through 15 training datasets, trains the model on each training dataset, and predicts the target variable for the test dataset. The results are stored in separate dataframes for each algorithm.
The code then saves the results for each algorithm in separate CSV files.
import pandas as pd
from sklearn.linear_model import LogisticRegression
from sklearn.neural_network import MLPClassifier
from sklearn.tree import DecisionTreeClassifier
df1 = pd.read_csv(r'D:/大四/实训/测试训练集/test.csv')
test = pd.DataFrame(df1)
X_test = test.drop(['hostid', 'hostname', 'type'], axis=1)
dt_test = pd.DataFrame()
lr_test = pd.DataFrame()
nn_test = pd.DataFrame()
# 决策树
for i in range(15):
df2 = pd.read_csv(r'D:/大四/实训/测试训练集/train' + str(i) + '.csv', encoding='utf-8')
train = pd.DataFrame(df2)
X_train = train.drop(['hostid', 'hostname', 'type'], axis=1)
Y_train = train['type']
dt_model = DecisionTreeClassifier()
dt_model.fit(X_train, Y_train)
result1 = dt_model.predict(X_test)
dt_test['dt_result' + str(i)] = result1
dt_test.to_csv('D:/大四/实训/测试训练集/分类算法结果/dt_test.csv', index=False, encoding='utf-8')
# 逻辑回归
for j in range(15):
df2 = pd.read_csv(r'D:/大四/实训/测试训练集/train' + str(j) + '.csv', encoding='utf-8')
train = pd.DataFrame(df2)
X_train = train.drop(['hostid', 'hostname', 'type'], axis=1)
Y_train = train['type']
lr_model = LogisticRegression()
lr_model.fit(X_train, Y_train)
result2 = lr_model.predict(X_test)
lr_test['lr_result' + str(j)] = result2
lr_test.to_csv('D:/大四/实训/测试训练集/分类算法结果/lr_test.csv', index=False, encoding='utf-8')
# 神经网络
for k in range(15):
df2 = pd.read_csv(r'D:/大四/实训/测试训练集/train' + str(k) + '.csv', encoding='utf-8')
train = pd.DataFrame(df2)
X_train = train.drop(['hostid', 'hostname', 'type'], axis=1)
Y_train = train['type']
nn_model = MLPClassifier()
nn_model.fit(X_train, Y_train)
result3 = nn_model.predict(X_test)
nn_test['nn_result' + str(k)] = result3
nn_test.to_csv('D:/大四/实训/测试训练集/分类算法结果/nn_test.csv', index=False, encoding='utf-8')
原文地址: https://www.cveoy.top/t/topic/pcEj 著作权归作者所有。请勿转载和采集!