Vollständige Analyse des mathematischen Modellierungscodes für den Electrician Cup 2023, Frage B: Der Einfluss künstlicher Intelligenz auf die Lernmodellierungsprobleme von College-Studenten

Frage B

Problemwiederholung

Künstliche Intelligenz (KI) wurde erstmals 1956 während eines Seminars am Dartmouth College in den Vereinigten Staaten vorgeschlagen . Sie hat in den letzten Jahrzehnten eine bedeutende Entwicklung erlebt und weitreichende Auswirkungen auf verschiedene Bereiche der Gesellschaft gehabt. Es wurde ein Fragebogen entwickelt, um die Auswirkungen künstlicher Intelligenz auf das Lernen von College-Studenten in verschiedenen Aspekten zu verstehen. Anhang 1 enthält den Fragebogeninhalt und Anhang 2 die Feedback-Ergebnisdaten der Umfrage. Wir hoffen, dass wir auf der Grundlage dieser Daten entsprechende mathematische Modelle erstellen können, um die Auswirkungen künstlicher Intelligenz auf das Lernen von Hochschulstudenten zu analysieren und die folgenden Probleme zu lösen

Frage eins

Analysieren und numerisch verarbeiten Sie die in Anhang 2 angegebenen Daten und stellen Sie Verarbeitungsmethoden bereit.

Die Daten in Anhang 2 bestehen aus insgesamt 4605 Zeilen, und jede Zeile enthält insgesamt 30 Merkmale (d. h. die Anzahl der Spalten), einschließlich Geschlecht, Hauptfach, Note, Persönlichkeit und anderer Informationen.

Datenanalyse:

  1. Datenvorverarbeitung und -bereinigung:
    Bereinigen und Vorverarbeiten von Daten gemäß bestimmten Umständen, einschließlich der Verarbeitung fehlender Werte, der Verarbeitung doppelter Werte, der Konvertierung von Datentypen usw. Wenn beispielsweise in einigen Spalten Werte fehlen, können Sie fillna()diese mit einer Funktion füllen. Wenn doppelte Zeilen vorhanden sind, können Sie drop_duplicates()doppelte Zeilen mit einer Funktion entfernen. Wenn Sie den Datentyp einer bestimmten Spalte konvertieren müssen Spalte können Sie astype()eine Funktion zum Konvertieren verwenden.
  2. Analysieren Sie eine Funktion

Analysieren Sie nach Ihrem eigenen Verständnis bestimmte Merkmale und visualisieren Sie die Daten, z. B. eine statistische Erhebung des Männer-zu-Frauen-Verhältnisses in Dokumenten, die Berechnung der Anzahl der Personen in jedem Hauptfach und das Zeichnen eines Kreisdiagramms usw.

Numerische Verarbeitung:

  1. Für kategoriale Variablen (wie Geschlecht, Hauptfach, Note, Persönlichkeit usw.) können Sie One-Hot-Codierung verwenden, um sie in numerische Variablen umzuwandeln. Konvertieren Sie beispielsweise das Geschlecht „weiblich“ in 1 und „männlich“ in 0; konvertieren Sie das Hauptfach „Literatur und Geschichte“ in [1, 0, 0, ...], um anzuzeigen, dass ein Hauptfach mehrere mögliche Werte hat. , repräsentieren jeder mögliche Wert mit einem Binärbit.
  2. Bei numerischen Variablen (z. B. Online-Zeit) können Sie deren Originalwerte beibehalten.
  3. Die Antworten „Ja“ und „Nein“ auf die Fragen können in binäre Variablen umgewandelt werden, d. h. „Ja“ wird in 1 und „Nein“ in 0 umgewandelt.
  4. Für Frage-Antwort-Optionen kann zur numerischen Verarbeitung ein dem One-Hot-Encoding ähnliches Verfahren eingesetzt werden. Wandeln Sie beispielsweise die Antwort „Verwenden Sie ein Mobiltelefon zum Surfen im Internet“ in „Was ist die häufigste Art, im Internet zu surfen?“ in [1, 0, 0, ...] um, um anzuzeigen, dass eine Frage mehrere hat Optionen, verwenden Sie eine für jede Option. Binäre Bitdarstellung.

Beispielcode:

Python

import pandas as pd
 import matplotlib.pyplot as plt
 # 读取附件二数据文件
 data = pd.read_excel('附件2.xlsx')
 # 数据预处理和清洗
 # 假设我们只关注部分特征,可以选择需要的列进行分析
 # 强烈建议自行修改表头(例如去掉序号),这里我们因为是示例展示便不再修改
 selected_columns = ['1、您的性别(1-22题为单选题)', '2、您的专业', '3、您所在的年级', '4、您的性格', '5、您最常通过哪种方式上网?', '6、您每周的上网时长大约是多少?']
 data = data[selected_columns]
 # 缺失值处理
 data = data.dropna()  # 删除含有缺失值的行
 # 数值化处理
 # 例如,可以使用独热编码对分类变量进行数值化
 # 在独热编码过程中,创建的新列名的命名方式是在原始列名的基础上添加各个类别的名称。
 # 例如,对于列名为"您的性别(1-22题为单选题)",如果该列有两个类别,即"女"和"男",那么独热编码后将创建两个新的列,分别命名为"您的性别(1-22题为单选题)_女"和"您的性别(1-22题为单选题)_男"。
 categorical_columns = ['1、您的性别(1-22题为单选题)', '2、您的专业', '3、您所在的年级', '4、您的性格', '5、您最常通过哪种方式上网?']
 for column in categorical_columns:
     encoded_columns = pd.get_dummies(data[column], prefix=column)
     data = pd.concat([data, encoded_columns], axis=1)
 print(data.columns)
 # Index(['1、您的性别(1-22题为单选题)', '2、您的专业', '3、您所在的年级', '4、您的性格', '5、您最常通过哪种方式上网?',
 #        '6、您每周的上网时长大约是多少?', '1、您的性别(1-22题为单选题)_女', '1、您的性别(1-22题为单选题)_男',
 #        '2、您的专业_文法类', '2、您的专业_理工类', '2、您的专业_经管类', '2、您的专业_艺术教育类', '3、您所在的年级_大一',
 #        '3、您所在的年级_大三', '3、您所在的年级_大二', '3、您所在的年级_大四', '4、您的性格_其他', '4、您的性格_坚定型',
 #        '4、您的性格_外向型', '4、您的性格_安静型', '4、您的性格_感性型', '4、您的性格_温顺型',
 #        '5、您最常通过哪种方式上网?_其他', '5、您最常通过哪种方式上网?_在寝室用笔记本上网', '5、您最常通过哪种方式上网?_在网吧上',
 #        '5、您最常通过哪种方式上网?_用平板电脑上网', '5、您最常通过哪种方式上网?_用手机上网'],
 #       dtype='object')


 # 数据分析和可视化
 # 示例:计算每个性别的人数并绘制柱状图
 gender_counts = data['您的性别(1-22题为单选题)_女'].sum(), data['您的性别(1-22题为单选题)_男'].sum()
 gender_labels = ['女性', '男性']
 plt.bar(gender_labels, gender_counts)
 plt.xlabel('性别')
 plt.ylabel('人数')
 plt.title('性别分布')
 plt.show()
 # 示例:计算各专业的人数并绘制饼图
 major_counts = data['您的专业'].value_counts()
 plt.pie(major_counts, labels=major_counts.index, autopct='%1.1f%%')
 plt.axis('equal')
 plt.title('专业分布')
 plt.show()
 # 示例:计算使用学习软件工具的人数并绘制条形图
 tool_users = data['您是否使用过学习软件工具?'].value_counts()
 plt.bar(tool_users.index, tool_users)
 plt.xlabel('使用工具情况')
 plt.ylabel('人数')
 plt.title('学习软件工具使用情况')
 plt.show()
 
Pandas und Matplotlib sind Bibliotheken von Drittanbietern für Python. Sie können sie selbst von Baidu aus installieren.

Matlab

% 读取数据
 data = readtable('附件2.xlsx');
 % 数据预处理和清洗
 selected_columns = {'1、您的性别(1-22题为单选题)', '2、您的专业', '3、您所在的年级', '4、您的性格', '5、您最常通过哪种方式上网?', '6、您每周的上网时长大约是多少?'};
 data = data(:, selected_columns);
 % 缺失值处理
 data = rmmissing(data);
 % 数值化处理
 categorical_columns = {'1、您的性别(1-22题为单选题)', '2、您的专业', '3、您所在的年级', '4、您的性格', '5、您最常通过哪种方式上网?'};
 for i = 1:numel(categorical_columns)
     column = categorical_columns{i};
     encoded_columns = dummyvar(data{:, column});
     encoded_columns.Properties.VariableNames = strcat(column, '_', encoded_columns.Properties.VariableNames);
     data = [data, encoded_columns];
 end
 % 数据分析和可视化
 % 示例:计算每个性别的人数并绘制柱状图
 female_count = sum(data.('1、您的性别(1-22题为单选题)_女'));
 male_count = sum(data.('1、您的性别(1-22题为单选题)_男'));
 gender_counts = [female_count, male_count];
 gender_labels = {'女性', '男性'};
 bar(gender_counts)
 xlabel('性别')
 ylabel('人数')
 title('性别分布')
 set(gca, 'XTickLabel', gender_labels)
 % 示例:计算各专业的人数并绘制饼图
 major_counts = countcats(data.('2、您的专业'));
 pie(major_counts)
 title('专业分布')
 % 示例:计算使用学习软件工具的人数并绘制条形图
 tool_users = countcats(data.('您是否使用过学习软件工具?'));
 bar(tool_users)
 xlabel('使用工具情况')
 ylabel('人数')
 title('学习软件工具使用情况')

Weitere Details finden Sie hier:

2023 Electrician Cup (Frage B) Eingehende Analyse | Vollständiger Code der mathematischen Modellierung + vollständige Analyse des Modellierungsprozesses – Zhihu (zhihu.com)

Supongo que te gusta

Origin blog.csdn.net/qq_25834913/article/details/132497541
Recomendado
Clasificación