diff --git a/docs/surveys/Best practices assessment.csv b/docs/surveys/Best practices assessment.csv
new file mode 100644
index 0000000..afb7896
--- /dev/null
+++ b/docs/surveys/Best practices assessment.csv
@@ -0,0 +1,11 @@
+"How many years of software engineering experience do you have?","How many years of data science experience do you have?","Write reusable scripts for data cleaning and merging","Make datasets available on shared infrastructure","Use versioning for data, model, configurations and training scripts","Continuously monitor the behaviour of deployed models","Log production predictions with the model’s version and input data","Store models in a single format for ease of use","Equip with web interface, package image, provide REST API","Provide simple API for serving batch and real-time requests","Integration with existing data infrastructure","Querying, visualising and understanding metrics and event logging","Allow experimentation with the inference code","Keep the model’s API and documentation together","Parallelise feature extraction","Cache predictions","Async support for top-down chaining models"
+"3","1","Strongly agree","Agree","Strongly agree","Neither agree nor disagree","Strongly agree","Strongly agree","Strongly agree","Strongly agree","Strongly agree","Strongly agree","Strongly agree","Strongly agree","Strongly agree","Neither agree nor disagree","Strongly agree"
+"6","2","Neither agree nor disagree","Agree","Neither agree nor disagree","Agree","Agree","Neither agree nor disagree","Disagree","Strongly disagree","Disagree","Strongly disagree","Disagree","Strongly disagree","Disagree","Strongly agree","Strongly disagree"
+"1","5","Strongly disagree","Disagree","Disagree","Strongly disagree","Disagree","Strongly disagree","Strongly disagree","Neither agree nor disagree","Strongly disagree","Disagree","Neither agree nor disagree","Agree","Strongly disagree","Strongly disagree","Disagree"
+"3","3","Agree","Agree","Disagree","Neither agree nor disagree","Agree","Not applicable","Not applicable","Neither agree nor disagree","Agree","Disagree","Agree","Strongly agree","Not applicable","Neither agree nor disagree","Agree"
+"1","7","Neither agree nor disagree","Disagree","Neither agree nor disagree","Disagree","Strongly disagree","Not applicable","Not applicable","Disagree","Strongly disagree","Disagree","Disagree","Neither agree nor disagree","Strongly disagree","Strongly agree","Not applicable"
+"6","0","Strongly agree","Strongly agree","Agree","Neither agree nor disagree","Agree","Strongly agree","Agree","Strongly agree","Agree","Strongly agree","Disagree","Strongly agree","Agree","Strongly agree","Not applicable"
+"2","2","Disagree","Neither agree nor disagree","Agree","Strongly agree","Neither agree nor disagree","Disagree","Strongly agree","Disagree","Disagree","Agree","Neither agree nor disagree","Neither agree nor disagree","Not applicable","Disagree","Strongly agree"
+"1","2","Disagree","Neither agree nor disagree","Disagree","Agree","Disagree","Strongly disagree","Strongly agree","Strongly agree","Strongly disagree","Disagree","Agree","Strongly disagree","Not applicable","Strongly disagree","Strongly disagree"
+"0","1","Strongly disagree","Disagree","Strongly disagree","Disagree","Strongly disagree","Disagree","Agree","Strongly disagree","Disagree","Strongly disagree","Disagree","Strongly disagree","Disagree","Disagree","Strongly disagree"
+"7","1","Strongly agree","Strongly agree","Agree","Strongly agree","Agree","Agree","Strongly agree","Strongly disagree","Strongly agree","Not applicable","Agree","Agree","Strongly agree","Strongly agree","Agree"
\ No newline at end of file
diff --git a/docs/surveys/Technology acceptance model questionnaire.csv b/docs/surveys/Technology acceptance model questionnaire.csv
new file mode 100644
index 0000000..27537b5
--- /dev/null
+++ b/docs/surveys/Technology acceptance model questionnaire.csv
@@ -0,0 +1,11 @@
+"I believe the use of GreatAI improves the quality of AI deployments.","I believe the use of GreatAI would increase my productivity.","I believe the use of GreatAI can lead to robust and trustworthy deployments.","Overall, I found GreatAI useful when working with AI.","I found the GreatAI easy to learn.","I found it is easy to employ GreatAI in practice.","I found it is easy to integrate GreatAI into an existing project.","Overall, I found GreatAI easy to use.","Assuming GreatAI is applicable to my task, I predict that I will use it on a regular basis in the future.","Overall, I intend to use the GreatAI in my personal or professional projects."
+"7","7","7","7","7","7","7","7","7","7"
+"7","7","6","7","5","6","7","6","7","7"
+"4","4","5","6","6","5","4","4","5","4"
+"6","7","6","7","7","6","7","6","7","6"
+"7","7","6","7","4","5","5","5","6","6"
+"6","6","6","6","6","6","6","6","6","6"
+"6","6","6","4","5","7","6","6","7","7"
+"7","6","6","6","4","5","3","5","5","6"
+"4","5","5","5","7","2","3","3","3","3"
+"7","7","7","7","5","6","5","6","7","7"
\ No newline at end of file
diff --git a/docs/surveys/surveys.ipynb b/docs/surveys/surveys.ipynb
new file mode 100644
index 0000000..34d90d4
--- /dev/null
+++ b/docs/surveys/surveys.ipynb
@@ -0,0 +1,1167 @@
+{
+ "cells": [
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "
\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " How many years of software engineering experience do you have? \n",
+ " How many years of data science experience do you have? \n",
+ " Write reusable scripts for data cleaning and merging \n",
+ " Make datasets available on shared infrastructure \n",
+ " Use versioning for data, model, configurations and training scripts \n",
+ " Continuously monitor the behaviour of deployed models \n",
+ " Log production predictions with the model’s version and input data \n",
+ " Store models in a single format for ease of use \n",
+ " Equip with web interface, package image, provide REST API \n",
+ " Provide simple API for serving batch and real-time requests \n",
+ " Integration with existing data infrastructure \n",
+ " Querying, visualising and understanding metrics and event logging \n",
+ " Allow experimentation with the inference code \n",
+ " Keep the model’s API and documentation together \n",
+ " Parallelise feature extraction \n",
+ " Cache predictions \n",
+ " Async support for top-down chaining models \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 3 \n",
+ " 1 \n",
+ " Strongly agree \n",
+ " Agree \n",
+ " Strongly agree \n",
+ " Neither agree nor disagree \n",
+ " Strongly agree \n",
+ " Strongly agree \n",
+ " Strongly agree \n",
+ " Strongly agree \n",
+ " Strongly agree \n",
+ " Strongly agree \n",
+ " Strongly agree \n",
+ " Strongly agree \n",
+ " Strongly agree \n",
+ " Neither agree nor disagree \n",
+ " Strongly agree \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 6 \n",
+ " 2 \n",
+ " Neither agree nor disagree \n",
+ " Agree \n",
+ " Neither agree nor disagree \n",
+ " Agree \n",
+ " Agree \n",
+ " Neither agree nor disagree \n",
+ " Disagree \n",
+ " Strongly disagree \n",
+ " Disagree \n",
+ " Strongly disagree \n",
+ " Disagree \n",
+ " Strongly disagree \n",
+ " Disagree \n",
+ " Strongly agree \n",
+ " Strongly disagree \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 1 \n",
+ " 5 \n",
+ " Strongly disagree \n",
+ " Disagree \n",
+ " Disagree \n",
+ " Strongly disagree \n",
+ " Disagree \n",
+ " Strongly disagree \n",
+ " Strongly disagree \n",
+ " Neither agree nor disagree \n",
+ " Strongly disagree \n",
+ " Disagree \n",
+ " Neither agree nor disagree \n",
+ " Agree \n",
+ " Strongly disagree \n",
+ " Strongly disagree \n",
+ " Disagree \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 3 \n",
+ " 3 \n",
+ " Agree \n",
+ " Agree \n",
+ " Disagree \n",
+ " Neither agree nor disagree \n",
+ " Agree \n",
+ " Not applicable \n",
+ " Not applicable \n",
+ " Neither agree nor disagree \n",
+ " Agree \n",
+ " Disagree \n",
+ " Agree \n",
+ " Strongly agree \n",
+ " Not applicable \n",
+ " Neither agree nor disagree \n",
+ " Agree \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 1 \n",
+ " 7 \n",
+ " Neither agree nor disagree \n",
+ " Disagree \n",
+ " Neither agree nor disagree \n",
+ " Disagree \n",
+ " Strongly disagree \n",
+ " Not applicable \n",
+ " Not applicable \n",
+ " Disagree \n",
+ " Strongly disagree \n",
+ " Disagree \n",
+ " Disagree \n",
+ " Neither agree nor disagree \n",
+ " Strongly disagree \n",
+ " Strongly agree \n",
+ " Not applicable \n",
+ " \n",
+ " \n",
+ " 5 \n",
+ " 6 \n",
+ " 0 \n",
+ " Strongly agree \n",
+ " Strongly agree \n",
+ " Agree \n",
+ " Neither agree nor disagree \n",
+ " Agree \n",
+ " Strongly agree \n",
+ " Agree \n",
+ " Strongly agree \n",
+ " Agree \n",
+ " Strongly agree \n",
+ " Disagree \n",
+ " Strongly agree \n",
+ " Agree \n",
+ " Strongly agree \n",
+ " Not applicable \n",
+ " \n",
+ " \n",
+ " 6 \n",
+ " 2 \n",
+ " 2 \n",
+ " Disagree \n",
+ " Neither agree nor disagree \n",
+ " Agree \n",
+ " Strongly agree \n",
+ " Neither agree nor disagree \n",
+ " Disagree \n",
+ " Strongly agree \n",
+ " Disagree \n",
+ " Disagree \n",
+ " Agree \n",
+ " Neither agree nor disagree \n",
+ " Neither agree nor disagree \n",
+ " Not applicable \n",
+ " Disagree \n",
+ " Strongly agree \n",
+ " \n",
+ " \n",
+ " 7 \n",
+ " 1 \n",
+ " 2 \n",
+ " Disagree \n",
+ " Neither agree nor disagree \n",
+ " Disagree \n",
+ " Agree \n",
+ " Disagree \n",
+ " Strongly disagree \n",
+ " Strongly agree \n",
+ " Strongly agree \n",
+ " Strongly disagree \n",
+ " Disagree \n",
+ " Agree \n",
+ " Strongly disagree \n",
+ " Not applicable \n",
+ " Strongly disagree \n",
+ " Strongly disagree \n",
+ " \n",
+ " \n",
+ " 8 \n",
+ " 0 \n",
+ " 1 \n",
+ " Strongly disagree \n",
+ " Disagree \n",
+ " Strongly disagree \n",
+ " Disagree \n",
+ " Strongly disagree \n",
+ " Disagree \n",
+ " Agree \n",
+ " Strongly disagree \n",
+ " Disagree \n",
+ " Strongly disagree \n",
+ " Disagree \n",
+ " Strongly disagree \n",
+ " Disagree \n",
+ " Disagree \n",
+ " Strongly disagree \n",
+ " \n",
+ " \n",
+ " 9 \n",
+ " 7 \n",
+ " 1 \n",
+ " Strongly agree \n",
+ " Strongly agree \n",
+ " Agree \n",
+ " Strongly agree \n",
+ " Agree \n",
+ " Agree \n",
+ " Strongly agree \n",
+ " Strongly disagree \n",
+ " Strongly agree \n",
+ " Not applicable \n",
+ " Agree \n",
+ " Agree \n",
+ " Strongly agree \n",
+ " Strongly agree \n",
+ " Agree \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " How many years of software engineering experience do you have? \\\n",
+ "0 3 \n",
+ "1 6 \n",
+ "2 1 \n",
+ "3 3 \n",
+ "4 1 \n",
+ "5 6 \n",
+ "6 2 \n",
+ "7 1 \n",
+ "8 0 \n",
+ "9 7 \n",
+ "\n",
+ " How many years of data science experience do you have? \\\n",
+ "0 1 \n",
+ "1 2 \n",
+ "2 5 \n",
+ "3 3 \n",
+ "4 7 \n",
+ "5 0 \n",
+ "6 2 \n",
+ "7 2 \n",
+ "8 1 \n",
+ "9 1 \n",
+ "\n",
+ " Write reusable scripts for data cleaning and merging \\\n",
+ "0 Strongly agree \n",
+ "1 Neither agree nor disagree \n",
+ "2 Strongly disagree \n",
+ "3 Agree \n",
+ "4 Neither agree nor disagree \n",
+ "5 Strongly agree \n",
+ "6 Disagree \n",
+ "7 Disagree \n",
+ "8 Strongly disagree \n",
+ "9 Strongly agree \n",
+ "\n",
+ " Make datasets available on shared infrastructure \\\n",
+ "0 Agree \n",
+ "1 Agree \n",
+ "2 Disagree \n",
+ "3 Agree \n",
+ "4 Disagree \n",
+ "5 Strongly agree \n",
+ "6 Neither agree nor disagree \n",
+ "7 Neither agree nor disagree \n",
+ "8 Disagree \n",
+ "9 Strongly agree \n",
+ "\n",
+ " Use versioning for data, model, configurations and training scripts \\\n",
+ "0 Strongly agree \n",
+ "1 Neither agree nor disagree \n",
+ "2 Disagree \n",
+ "3 Disagree \n",
+ "4 Neither agree nor disagree \n",
+ "5 Agree \n",
+ "6 Agree \n",
+ "7 Disagree \n",
+ "8 Strongly disagree \n",
+ "9 Agree \n",
+ "\n",
+ " Continuously monitor the behaviour of deployed models \\\n",
+ "0 Neither agree nor disagree \n",
+ "1 Agree \n",
+ "2 Strongly disagree \n",
+ "3 Neither agree nor disagree \n",
+ "4 Disagree \n",
+ "5 Neither agree nor disagree \n",
+ "6 Strongly agree \n",
+ "7 Agree \n",
+ "8 Disagree \n",
+ "9 Strongly agree \n",
+ "\n",
+ " Log production predictions with the model’s version and input data \\\n",
+ "0 Strongly agree \n",
+ "1 Agree \n",
+ "2 Disagree \n",
+ "3 Agree \n",
+ "4 Strongly disagree \n",
+ "5 Agree \n",
+ "6 Neither agree nor disagree \n",
+ "7 Disagree \n",
+ "8 Strongly disagree \n",
+ "9 Agree \n",
+ "\n",
+ " Store models in a single format for ease of use \\\n",
+ "0 Strongly agree \n",
+ "1 Neither agree nor disagree \n",
+ "2 Strongly disagree \n",
+ "3 Not applicable \n",
+ "4 Not applicable \n",
+ "5 Strongly agree \n",
+ "6 Disagree \n",
+ "7 Strongly disagree \n",
+ "8 Disagree \n",
+ "9 Agree \n",
+ "\n",
+ " Equip with web interface, package image, provide REST API \\\n",
+ "0 Strongly agree \n",
+ "1 Disagree \n",
+ "2 Strongly disagree \n",
+ "3 Not applicable \n",
+ "4 Not applicable \n",
+ "5 Agree \n",
+ "6 Strongly agree \n",
+ "7 Strongly agree \n",
+ "8 Agree \n",
+ "9 Strongly agree \n",
+ "\n",
+ " Provide simple API for serving batch and real-time requests \\\n",
+ "0 Strongly agree \n",
+ "1 Strongly disagree \n",
+ "2 Neither agree nor disagree \n",
+ "3 Neither agree nor disagree \n",
+ "4 Disagree \n",
+ "5 Strongly agree \n",
+ "6 Disagree \n",
+ "7 Strongly agree \n",
+ "8 Strongly disagree \n",
+ "9 Strongly disagree \n",
+ "\n",
+ " Integration with existing data infrastructure \\\n",
+ "0 Strongly agree \n",
+ "1 Disagree \n",
+ "2 Strongly disagree \n",
+ "3 Agree \n",
+ "4 Strongly disagree \n",
+ "5 Agree \n",
+ "6 Disagree \n",
+ "7 Strongly disagree \n",
+ "8 Disagree \n",
+ "9 Strongly agree \n",
+ "\n",
+ " Querying, visualising and understanding metrics and event logging \\\n",
+ "0 Strongly agree \n",
+ "1 Strongly disagree \n",
+ "2 Disagree \n",
+ "3 Disagree \n",
+ "4 Disagree \n",
+ "5 Strongly agree \n",
+ "6 Agree \n",
+ "7 Disagree \n",
+ "8 Strongly disagree \n",
+ "9 Not applicable \n",
+ "\n",
+ " Allow experimentation with the inference code \\\n",
+ "0 Strongly agree \n",
+ "1 Disagree \n",
+ "2 Neither agree nor disagree \n",
+ "3 Agree \n",
+ "4 Disagree \n",
+ "5 Disagree \n",
+ "6 Neither agree nor disagree \n",
+ "7 Agree \n",
+ "8 Disagree \n",
+ "9 Agree \n",
+ "\n",
+ " Keep the model’s API and documentation together \\\n",
+ "0 Strongly agree \n",
+ "1 Strongly disagree \n",
+ "2 Agree \n",
+ "3 Strongly agree \n",
+ "4 Neither agree nor disagree \n",
+ "5 Strongly agree \n",
+ "6 Neither agree nor disagree \n",
+ "7 Strongly disagree \n",
+ "8 Strongly disagree \n",
+ "9 Agree \n",
+ "\n",
+ " Parallelise feature extraction Cache predictions \\\n",
+ "0 Strongly agree Neither agree nor disagree \n",
+ "1 Disagree Strongly agree \n",
+ "2 Strongly disagree Strongly disagree \n",
+ "3 Not applicable Neither agree nor disagree \n",
+ "4 Strongly disagree Strongly agree \n",
+ "5 Agree Strongly agree \n",
+ "6 Not applicable Disagree \n",
+ "7 Not applicable Strongly disagree \n",
+ "8 Disagree Disagree \n",
+ "9 Strongly agree Strongly agree \n",
+ "\n",
+ " Async support for top-down chaining models \n",
+ "0 Strongly agree \n",
+ "1 Strongly disagree \n",
+ "2 Disagree \n",
+ "3 Agree \n",
+ "4 Not applicable \n",
+ "5 Not applicable \n",
+ "6 Strongly agree \n",
+ "7 Strongly disagree \n",
+ "8 Strongly disagree \n",
+ "9 Agree "
+ ]
+ },
+ "execution_count": 1,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "import pandas as pd\n",
+ "\n",
+ "best_practices = pd.read_csv(\"Best practices assessment.csv\")\n",
+ "best_practices"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "m = {\n",
+ " \"Strongly agree\": 4 / 4,\n",
+ " \"Agree\": 3 / 4,\n",
+ " \"Neither agree nor disagree\": 2 / 4,\n",
+ " \"Disagree\": 1 / 4,\n",
+ " \"Strongly disagree\": 0 / 4,\n",
+ "}\n",
+ "\n",
+ "best_practices_dicts = [v.to_dict() for _, v in best_practices.iterrows()]\n",
+ "\n",
+ "best_practice_score_ds = []\n",
+ "best_practice_score_se = []\n",
+ "\n",
+ "for d in best_practices_dicts:\n",
+ " ds_experience = int(d[\"How many years of data science experience do you have?\"])\n",
+ " del d[\"How many years of data science experience do you have?\"]\n",
+ "\n",
+ " se_experience = int(\n",
+ " d[\"How many years of software engineering experience do you have?\"]\n",
+ " )\n",
+ " del d[\"How many years of software engineering experience do you have?\"]\n",
+ "\n",
+ " scores = [m[v] for v in d.values() if v != \"Not applicable\"]\n",
+ " score = sum(scores) / len(scores)\n",
+ " best_practice_score_ds.append((ds_experience, score))\n",
+ " best_practice_score_se.append((se_experience, score))"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "(-0.5440527060340572, 0.10399880919437814)"
+ ]
+ },
+ "execution_count": 3,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "needs_background": "light"
+ },
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "import matplotlib.pyplot as plt\n",
+ "from scipy import stats\n",
+ "\n",
+ "best_practice_score_ds = sorted(best_practice_score_ds)\n",
+ "plt.scatter(\n",
+ " [x for x, y in best_practice_score_ds], [y for x, y in best_practice_score_ds]\n",
+ ")\n",
+ "stats.pearsonr(\n",
+ " [x for x, y in best_practice_score_ds], [y for x, y in best_practice_score_ds]\n",
+ ")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "(0.6722543326178704, 0.03321124881554773)"
+ ]
+ },
+ "execution_count": 4,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "needs_background": "light"
+ },
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "best_practice_score_se = sorted(best_practice_score_se)\n",
+ "\n",
+ "\n",
+ "plt.scatter(\n",
+ " [x for x, y in best_practice_score_se], [y for x, y in best_practice_score_se]\n",
+ ")\n",
+ "stats.pearsonr(\n",
+ " [x for x, y in best_practice_score_se], [y for x, y in best_practice_score_se]\n",
+ ")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " I believe the use of GreatAI improves the quality of AI deployments. \n",
+ " I believe the use of GreatAI would increase my productivity. \n",
+ " I believe the use of GreatAI can lead to robust and trustworthy deployments. \n",
+ " Overall, I found GreatAI useful when working with AI. \n",
+ " I found the GreatAI easy to learn. \n",
+ " I found it is easy to employ GreatAI in practice. \n",
+ " I found it is easy to integrate GreatAI into an existing project. \n",
+ " Overall, I found GreatAI easy to use. \n",
+ " Assuming GreatAI is applicable to my task, I predict that I will use it on a regular basis in the future. \n",
+ " Overall, I intend to use the GreatAI in my personal or professional projects. \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 7 \n",
+ " 7 \n",
+ " 7 \n",
+ " 7 \n",
+ " 7 \n",
+ " 7 \n",
+ " 7 \n",
+ " 7 \n",
+ " 7 \n",
+ " 7 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 7 \n",
+ " 7 \n",
+ " 6 \n",
+ " 7 \n",
+ " 5 \n",
+ " 6 \n",
+ " 7 \n",
+ " 6 \n",
+ " 7 \n",
+ " 7 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 4 \n",
+ " 4 \n",
+ " 5 \n",
+ " 6 \n",
+ " 6 \n",
+ " 5 \n",
+ " 4 \n",
+ " 4 \n",
+ " 5 \n",
+ " 4 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 6 \n",
+ " 7 \n",
+ " 6 \n",
+ " 7 \n",
+ " 7 \n",
+ " 6 \n",
+ " 7 \n",
+ " 6 \n",
+ " 7 \n",
+ " 6 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 7 \n",
+ " 7 \n",
+ " 6 \n",
+ " 7 \n",
+ " 4 \n",
+ " 5 \n",
+ " 5 \n",
+ " 5 \n",
+ " 6 \n",
+ " 6 \n",
+ " \n",
+ " \n",
+ " 5 \n",
+ " 6 \n",
+ " 6 \n",
+ " 6 \n",
+ " 6 \n",
+ " 6 \n",
+ " 6 \n",
+ " 6 \n",
+ " 6 \n",
+ " 6 \n",
+ " 6 \n",
+ " \n",
+ " \n",
+ " 6 \n",
+ " 6 \n",
+ " 6 \n",
+ " 6 \n",
+ " 4 \n",
+ " 5 \n",
+ " 7 \n",
+ " 6 \n",
+ " 6 \n",
+ " 7 \n",
+ " 7 \n",
+ " \n",
+ " \n",
+ " 7 \n",
+ " 7 \n",
+ " 6 \n",
+ " 6 \n",
+ " 6 \n",
+ " 4 \n",
+ " 5 \n",
+ " 3 \n",
+ " 5 \n",
+ " 5 \n",
+ " 6 \n",
+ " \n",
+ " \n",
+ " 8 \n",
+ " 4 \n",
+ " 5 \n",
+ " 5 \n",
+ " 5 \n",
+ " 7 \n",
+ " 2 \n",
+ " 3 \n",
+ " 3 \n",
+ " 3 \n",
+ " 3 \n",
+ " \n",
+ " \n",
+ " 9 \n",
+ " 7 \n",
+ " 7 \n",
+ " 7 \n",
+ " 7 \n",
+ " 5 \n",
+ " 6 \n",
+ " 5 \n",
+ " 6 \n",
+ " 7 \n",
+ " 7 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " I believe the use of GreatAI improves the quality of AI deployments. \\\n",
+ "0 7 \n",
+ "1 7 \n",
+ "2 4 \n",
+ "3 6 \n",
+ "4 7 \n",
+ "5 6 \n",
+ "6 6 \n",
+ "7 7 \n",
+ "8 4 \n",
+ "9 7 \n",
+ "\n",
+ " I believe the use of GreatAI would increase my productivity. \\\n",
+ "0 7 \n",
+ "1 7 \n",
+ "2 4 \n",
+ "3 7 \n",
+ "4 7 \n",
+ "5 6 \n",
+ "6 6 \n",
+ "7 6 \n",
+ "8 5 \n",
+ "9 7 \n",
+ "\n",
+ " I believe the use of GreatAI can lead to robust and trustworthy deployments. \\\n",
+ "0 7 \n",
+ "1 6 \n",
+ "2 5 \n",
+ "3 6 \n",
+ "4 6 \n",
+ "5 6 \n",
+ "6 6 \n",
+ "7 6 \n",
+ "8 5 \n",
+ "9 7 \n",
+ "\n",
+ " Overall, I found GreatAI useful when working with AI. \\\n",
+ "0 7 \n",
+ "1 7 \n",
+ "2 6 \n",
+ "3 7 \n",
+ "4 7 \n",
+ "5 6 \n",
+ "6 4 \n",
+ "7 6 \n",
+ "8 5 \n",
+ "9 7 \n",
+ "\n",
+ " I found the GreatAI easy to learn. \\\n",
+ "0 7 \n",
+ "1 5 \n",
+ "2 6 \n",
+ "3 7 \n",
+ "4 4 \n",
+ "5 6 \n",
+ "6 5 \n",
+ "7 4 \n",
+ "8 7 \n",
+ "9 5 \n",
+ "\n",
+ " I found it is easy to employ GreatAI in practice. \\\n",
+ "0 7 \n",
+ "1 6 \n",
+ "2 5 \n",
+ "3 6 \n",
+ "4 5 \n",
+ "5 6 \n",
+ "6 7 \n",
+ "7 5 \n",
+ "8 2 \n",
+ "9 6 \n",
+ "\n",
+ " I found it is easy to integrate GreatAI into an existing project. \\\n",
+ "0 7 \n",
+ "1 7 \n",
+ "2 4 \n",
+ "3 7 \n",
+ "4 5 \n",
+ "5 6 \n",
+ "6 6 \n",
+ "7 3 \n",
+ "8 3 \n",
+ "9 5 \n",
+ "\n",
+ " Overall, I found GreatAI easy to use. \\\n",
+ "0 7 \n",
+ "1 6 \n",
+ "2 4 \n",
+ "3 6 \n",
+ "4 5 \n",
+ "5 6 \n",
+ "6 6 \n",
+ "7 5 \n",
+ "8 3 \n",
+ "9 6 \n",
+ "\n",
+ " Assuming GreatAI is applicable to my task, I predict that I will use it on a regular basis in the future. \\\n",
+ "0 7 \n",
+ "1 7 \n",
+ "2 5 \n",
+ "3 7 \n",
+ "4 6 \n",
+ "5 6 \n",
+ "6 7 \n",
+ "7 5 \n",
+ "8 3 \n",
+ "9 7 \n",
+ "\n",
+ " Overall, I intend to use the GreatAI in my personal or professional projects. \n",
+ "0 7 \n",
+ "1 7 \n",
+ "2 4 \n",
+ "3 6 \n",
+ "4 6 \n",
+ "5 6 \n",
+ "6 7 \n",
+ "7 6 \n",
+ "8 3 \n",
+ "9 7 "
+ ]
+ },
+ "execution_count": 5,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "tam = pd.read_csv(\"Technology acceptance model questionnaire.csv\")\n",
+ "tam"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "(0.8813771517996869, array([0.688, 0.967]))"
+ ]
+ },
+ "execution_count": 6,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "import pingouin\n",
+ "\n",
+ "pu = [\n",
+ " \"I believe the use of GreatAI improves the quality of AI deployments.\",\n",
+ " \"I believe the use of GreatAI would increase my productivity.\",\n",
+ " \"I believe the use of GreatAI can lead to robust and trustworthy deployments.\",\n",
+ " \"Overall, I found GreatAI useful when working with AI.\",\n",
+ "]\n",
+ "pingouin.cronbach_alpha(tam[pu])"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "(0.7729220222793487, array([0.403, 0.937]))"
+ ]
+ },
+ "execution_count": 7,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "peou = [\n",
+ " \"I found the GreatAI easy to learn.\",\n",
+ " \"I found it is easy to employ GreatAI in practice.\",\n",
+ " \"I found it is easy to integrate GreatAI into an existing project.\",\n",
+ " \"Overall, I found GreatAI easy to use.\",\n",
+ "]\n",
+ "pingouin.cronbach_alpha(tam[peou])"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "(0.9538950715421304, array([0.814, 0.989]))"
+ ]
+ },
+ "execution_count": 8,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "itu = [\n",
+ " \"Assuming GreatAI is applicable to my task, I predict that I will use it on a regular basis in the future.\",\n",
+ " \"Overall, I intend to use the GreatAI in my personal or professional projects.\",\n",
+ "]\n",
+ "pingouin.cronbach_alpha(tam[itu])"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " pu \n",
+ " peou \n",
+ " itu \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 7.00 \n",
+ " 7.00 \n",
+ " 7.0 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 6.75 \n",
+ " 6.00 \n",
+ " 7.0 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 4.75 \n",
+ " 4.75 \n",
+ " 4.5 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 6.50 \n",
+ " 6.50 \n",
+ " 6.5 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 6.75 \n",
+ " 4.75 \n",
+ " 6.0 \n",
+ " \n",
+ " \n",
+ " 5 \n",
+ " 6.00 \n",
+ " 6.00 \n",
+ " 6.0 \n",
+ " \n",
+ " \n",
+ " 6 \n",
+ " 5.50 \n",
+ " 6.00 \n",
+ " 7.0 \n",
+ " \n",
+ " \n",
+ " 7 \n",
+ " 6.25 \n",
+ " 4.25 \n",
+ " 5.5 \n",
+ " \n",
+ " \n",
+ " 8 \n",
+ " 4.75 \n",
+ " 3.75 \n",
+ " 3.0 \n",
+ " \n",
+ " \n",
+ " 9 \n",
+ " 7.00 \n",
+ " 5.50 \n",
+ " 7.0 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " pu peou itu\n",
+ "0 7.00 7.00 7.0\n",
+ "1 6.75 6.00 7.0\n",
+ "2 4.75 4.75 4.5\n",
+ "3 6.50 6.50 6.5\n",
+ "4 6.75 4.75 6.0\n",
+ "5 6.00 6.00 6.0\n",
+ "6 5.50 6.00 7.0\n",
+ "7 6.25 4.25 5.5\n",
+ "8 4.75 3.75 3.0\n",
+ "9 7.00 5.50 7.0"
+ ]
+ },
+ "execution_count": 9,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "tam[\"pu\"] = tam[pu].mean(1)\n",
+ "tam[\"peou\"] = tam[peou].mean(1)\n",
+ "tam[\"itu\"] = tam[itu].mean(1)\n",
+ "tam[[\"pu\", \"peou\", \"itu\"]]"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "(0.5515422017785757, 0.09838124227663879)"
+ ]
+ },
+ "execution_count": 10,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "stats.pearsonr(tam[\"peou\"], tam[\"pu\"])"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "(0.8066270322592023, 0.004809023073123024)"
+ ]
+ },
+ "execution_count": 11,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "stats.pearsonr(tam[\"peou\"], tam[\"itu\"])"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "(0.7880605510627579, 0.006774486564715021)"
+ ]
+ },
+ "execution_count": 12,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "stats.pearsonr(tam[\"pu\"], tam[\"itu\"])"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3.10.4 ('.env': venv)",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.10.4"
+ },
+ "orig_nbformat": 4,
+ "vscode": {
+ "interpreter": {
+ "hash": "02dd6d3afbfa9fbbe1037d64ad9014965528a1ccad21929d6e72f466389a68ad"
+ }
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}