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')
Python 分类算法:决策树、逻辑回归和神经网络

原文地址: https://www.cveoy.top/t/topic/pcEj 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录