AI-Ready Python Engineering, Governance and Emerging PracticeIntroductionPython has become a principal engineering language for artificial intelligence and machine learning (AI/ML). Its importance does not arise only from concise syntax. Python connects data acquisition, scientific computing, statistical analysis, model training, deployment, monitoring and governance through a large ecosystem of interoperable libraries. However, a successful AI application requires more than a notebook containing a trained model. It requires a reproducible software system whose data, dependencies, experiments, decisions and risks can be inspected and managed. AI-ready Python engineering therefore combines programming practice with scientific reproducibility, software engineering, information governance and responsible innovation. A data scientist may obtain an impressive validation score while still producing an unusable system if the data split is invalid, the environment cannot be recreated, the model is impossible to explain, or personal information is handled unlawfully. This chapter presents a practical framework for developing reliable AI/ML pipelines and capstone applications using Python. The chapter also examines containers, cloud platforms, automation, generative AI coding assistants and emerging Python practices. These technologies can accelerate development, but they do not remove the need for human review, testing, security controls or accountability. Learning ObjectivesBy the end of this chapter, students should be able to: 1. Design a reproducible Python-based AI/ML project structure. 2. Manage dependencies, environments, configuration and experiment metadata. 3. Construct reliable data and model pipelines using established libraries. 4. Evaluate models using appropriate performance and fairness measures. 5. Apply explainability, privacy, licensing and governance principles. 6. Explain the roles of testing, continuous integration, containers and cloud services. 7. Critically assess generative AI coding tools in professional development. 8. Plan and communicate an AI/ML capstone application responsibly. 1. From Python Scripts to AI SystemsA short script can be adequate for exploration, but production-oriented AI work has additional requirements: - Reproducibility: another person can recreate the result using recorded code, data versions, dependencies and configuration.
- Traceability: the origin of data, transformations, model versions and decisions is known.
- Reliability: failures are detected and handled rather than silently producing incorrect predictions.
- Maintainability: the system can be modified without creating uncontrolled side effects.
- Security and privacy: access, secrets and sensitive information are protected.
- Accountability: responsible people and review procedures are identified.
An AI pipeline commonly contains the following stages: 1. Define the problem and decision context. 2. Acquire and validate data. 3. Split data into training, validation and test sets. 4. Transform features using operations learned only from permitted data. 5. Train and compare models. 6. Evaluate technical, operational and social performance. 7. Package and deploy the selected model. 8. Monitor predictions, data quality, drift and incidents. 9. Periodically review, retrain or retire the system. The pipeline is not necessarily linear. Monitoring may reveal that the original problem definition was incomplete, requiring a return to data collection or stakeholder analysis. 2. Reproducible Project Engineering2.1 Project structureA useful project separates source code, configuration, tests, documentation and generated artifacts. One possible structure is: ```text loan-risk/ ├── pyproject.toml ├── README.md ├── src/ │ └── loan_risk/ │ ├── data.py │ ├── features.py │ ├── train.py │ ├── predict.py │ └── monitoring.py ├── tests/ ├── configs/ │ └── baseline.yaml ├── notebooks/ ├── data/ │ ├── raw/ │ └── processed/ ├── models/ ├── reports/ └── .gitignore ``` The `src` layout helps prevent accidental imports from the project root. Notebooks are valuable for investigation and communication, but reusable logic should normally be moved into tested modules. Raw data should not be overwritten, and large data files or model binaries should be managed through suitable artifact or data-versioning systems rather than ordinary source control. A `README` should state the purpose, setup commands, data assumptions, model limitations and reproducibility instructions. Documentation is part of engineering quality, not an optional presentation activity. 2.2 Environments and dependenciesA Python environment isolates project packages from the operating system and other projects. Tools such as `venv`, Conda, `uv` and Poetry can create environments and resolve dependencies. A project should record both direct dependencies and, where appropriate, exact resolved versions. Version ranges provide flexibility, whereas exact lock files improve repeatability. The appropriate choice depends on the deployment context. For example, a project might declare dependencies in `pyproject.toml`: ```toml [project] name = "loan-risk" version = "0.1.0" dependencies = [ "numpy>=1.26,<3", "pandas>=2.1,<3", "scikit-learn>=1.4,<2", "pydantic>=2,<3" ] ``` A dependency is more than a package name. It may affect numerical results, security, serialization formats and compatibility with hardware. Updates should be tested rather than applied blindly. Pinning every package forever is also undesirable because it can prevent security updates. A mature practice uses controlled updates, lock files, vulnerability scanning and periodic rebuilds. 2.3 Configuration and secretsHyperparameters, file locations and operational thresholds should be configuration rather than unexplained constants embedded in code. Configuration supports comparable experiments and reduces accidental changes. Secrets such as API keys, database passwords and signing credentials must not be committed to source control. They should be supplied through a secret manager or protected environment mechanism. Configuration must be validated. A model-training program should fail early if a learning rate is invalid, a path is inaccessible or a required feature is absent. Libraries such as Pydantic can define typed settings and validation rules. 2.4 Determinism and reproducibilitySetting a random seed improves repeatability, but it does not guarantee identical results in every environment. Sources of variation include multiple random-number generators, parallel execution, GPU kernels, library versions, floating-point behavior and nondeterministic data ordering. A reproducibility record should therefore include: - source-code revision;
- data or dataset version;
- dependency and operating-system information;
- configuration and random seeds;
- hardware details when relevant;
- training and evaluation logs;
- model and preprocessing artifacts.
Reproducibility also has a scientific dimension. A result that can be rerun is not automatically valid. For example, leakage from test data can produce a repeatable but misleading score. 3. Building Reliable ML Pipelines3.1 Avoiding leakageData leakage occurs when information unavailable at prediction time influences training or evaluation. Examples include using a post-outcome field as a predictor, normalizing the full dataset before splitting, or allowing records from the same patient to appear in both training and test sets. For supervised learning, a common sequence is: ```python from sklearn.compose import ColumnTransformer from sklearn.pipeline import Pipeline from sklearn.impute import SimpleImputer from sklearn.preprocessing import OneHotEncoder, StandardScaler from sklearn.linear_model import LogisticRegression numeric = ["income", "age"] categorical = ["region", "employment"] preprocess = ColumnTransformer([ ("num", Pipeline([ ("impute", SimpleImputer(strategy="median")), ("scale", StandardScaler()) ]), numeric), ("cat", Pipeline([ ("impute", SimpleImputer(strategy="most_frequent")), ("encode", OneHotEncoder(handle_unknown="ignore")) ]), categorical) ]) model = Pipeline([ ("preprocess", preprocess), ("classifier", LogisticRegression(max_iter=1000)) ]) ``` The scikit-learn `Pipeline` fits transformations within the training procedure and applies the same learned transformation to validation or test data. This is safer than manually transforming all records before splitting. The splitting strategy must reflect the application. Random splitting may be unsuitable for time-dependent prediction, where training should precede testing chronologically. Grouped splitting is appropriate when related observations must remain together, such as multiple measurements from one person. 3.2 Evaluation metricsAccuracy is defined as `Accuracy = (TP + TN) / (TP + TN + FP + FN)` where TP is true positive, TN true negative, FP false positive and FN false negative. Accuracy can be misleading for imbalanced classes. If only 1% of transactions are fraudulent, predicting “not fraud” for every transaction gives 99% accuracy but detects nothing. Precision and recall are: `Precision = TP / (TP + FP)` `Recall = TP / (TP + FN)` Precision answers: among predicted positives, how many are positive? Recall answers: among actual positives, how many were detected? The denominators must be nonzero for these expressions to be defined; software commonly specifies a policy for zero-division cases. The F1 score is the harmonic mean of precision and recall: `F1 = 2 × Precision × Recall / (Precision + Recall)` It is applicable when both precision and recall matter and their trade-off should be represented by one score. It should not be treated as universally superior to other metrics. In a medical screening context, recall may be prioritized; in an expensive investigation system, precision may be more important. For regression, mean absolute error is `MAE = (1/n) Σ |y_i - ŷ_i|` where `y_i` is the observed value, `ŷ_i` the prediction and `n` the number of observations. MAE has the same units as the target and gives each error a linear contribution. Root mean squared error is more sensitive to large errors because errors are squared before averaging and square-rooting. Metrics should be selected from the decision consequences, not chosen after observing which score looks best. Thresholds, calibration, subgroup performance, latency, cost and failure modes may all matter. 3.3 Experiment trackingAn experiment is a structured comparison, not merely a notebook execution. Each run should record the input data version, code revision, configuration, metrics, artifacts and environment. Tools such as MLflow, Weights & Biases and cloud-native tracking systems can record runs, but a simple database or structured log may be sufficient for a small educational project. A useful experiment record distinguishes: - parameters: choices set before training, such as regularization strength;
- metrics: measured outcomes, such as validation F1;
- artifacts: files such as a model, confusion matrix or feature report;
- tags: contextual information, such as “baseline” or “fairness review.”
The test set should generally be reserved for final assessment. Repeatedly selecting models using test performance turns the test set into another training resource and weakens the credibility of the estimate. 4. Software Quality, Automation and Deployment4.1 Testing AI systemsTraditional unit tests remain important. A feature-cleaning function can be tested with known inputs and expected outputs. Additional AI-specific tests include: - schema tests for column names, types and permitted ranges;
- data-quality tests for missingness, duplicates and impossible values;
- pipeline tests confirming that training and inference use compatible transformations;
- model contract tests for input and output shape;
- performance regression tests against an accepted baseline;
- fairness and subgroup tests;
- robustness tests for malformed or unusual inputs.
Tests should avoid asserting exact floating-point values unless tolerance is appropriate. A test that merely checks whether training completes is insufficient; it should also check whether the result is meaningful and safe. 4.2 Continuous integration and deliveryContinuous integration (CI) automatically builds and tests changes submitted to a repository. A typical workflow might lint code, run unit tests, validate package installation, scan dependencies and execute a small data or model test. Continuous delivery (CD) prepares an artifact for release, while continuous deployment automatically releases it under defined controls. For a model, deployment should include a model card or equivalent record specifying intended use, training data, evaluation results, limitations, ethical considerations and monitoring requirements. Automated deployment does not mean automatic approval: high-impact applications often require human review and staged release. 4.3 Containers and cloud platformsA container packages an application with its runtime dependencies while sharing the host operating system kernel. Docker is widely used to build portable images. A minimal conceptual Dockerfile might contain: ```dockerfile FROM python:3.12-slim WORKDIR /app COPY pyproject.toml . RUN pip install --no-cache-dir . COPY src ./src CMD ["python", "-m", "loan_risk.predict"] ``` In practice, the build context, package configuration, non-root execution, health checks and image scanning require attention. Containers improve consistency but do not automatically provide security or reproducibility. The base image must be maintained, and secrets should not be baked into the image. Cloud platforms provide managed storage, compute, databases, model registries, orchestration and monitoring. Their advantages include elasticity and reduced infrastructure administration. Risks include unexpected costs, vendor lock-in, data residency concerns, network exposure and unclear responsibility boundaries. Cloud architecture should therefore be selected from requirements such as latency, workload variability, regulatory obligations and total cost of ownership. 5. Governance, Ethics and Responsible AI5.1 Governance as an engineering activityAI governance defines how an organization identifies, evaluates, approves, deploys and monitors AI systems. It should operate throughout the system life cycle. A practical governance record can include: - system purpose and prohibited uses;
- data provenance and legal basis for use;
- roles, owners and escalation contacts;
- risk classification and impact assessment;
- evaluation results, including subgroup analysis;
- security and privacy controls;
- human oversight and appeal mechanisms;
- monitoring, incident response and retirement criteria.
Governance is not equivalent to paperwork. It should change technical design. For example, a requirement for contestability may require storing reasons for a decision and providing a human review route. 5.2 Bias and fairnessBias can enter through historical decisions, sampling, labels, measurement, feature selection, deployment context or feedback loops. Removing a sensitive attribute does not necessarily remove unfairness because correlated variables may preserve its information. Fairness cannot be reduced to one universal metric. For binary classification, demographic parity compares positive prediction rates across groups, while equal opportunity compares true-positive rates. Equalized odds considers both true-positive and false-positive rates. These criteria may conflict, especially when groups have different base rates or score distributions. Therefore, the appropriate criterion must be justified by the application, stakeholders and applicable law. A responsible evaluation should report overall and subgroup metrics, examine intersectional groups where data supports it, document uncertainty and investigate causes rather than applying unexamined threshold adjustments. Fairness metrics can also be unstable for small groups, so sample size and confidence intervals matter. 5.3 ExplainabilityExplainability has several meanings. A global explanation describes overall model behavior; a local explanation describes an individual prediction; a process explanation describes how the system is operated and governed. Interpretable models such as linear models or decision trees may be easier to explain, but interpretability depends on feature meaning and model use. Feature importance is not automatically causation. Post-hoc methods such as SHAP or LIME can provide useful evidence, but explanations may depend on background data, correlated features and algorithmic assumptions. An explanation should be tested for stability and presented in language appropriate to its audience. In high-impact settings, explanations should support meaningful review rather than merely decorate a prediction interface. 5.4 Privacy and securityPrivacy-preserving design begins with data minimization: collect only what is necessary for a specified purpose, retain it for an appropriate period and restrict access. Personal data should be classified, encrypted in transit and at rest where appropriate, and protected by authentication, authorization and audit logging. Anonymization is difficult when datasets can be linked with external information. Pseudonymization replaces direct identifiers but does not necessarily remove privacy obligations. Differential privacy provides a formal framework for limiting the influence of an individual record on released results, but it introduces a privacy–utility trade-off and requires careful management of the privacy budget. It is not a generic synonym for removing names. AI systems also face prompt injection, data poisoning, model extraction, adversarial inputs, insecure deserialization and supply-chain vulnerabilities. Threat modeling should consider assets, attackers, trust boundaries and possible mitigations. 5.5 Licensing and intellectual propertyPython packages are distributed under licenses with different obligations. Permissive licenses commonly allow reuse subject to notices and disclaimers, while copyleft licenses may require corresponding source distribution under specified conditions. Model weights and datasets can have separate licenses from their software wrappers. A project should maintain a software bill of materials (SBOM), review dataset terms, preserve required notices and avoid assuming that publicly accessible data is unrestricted. Generative AI outputs may also raise questions about copyright, confidentiality and provenance. Organizational policy should specify whether proprietary code or personal information may be submitted to an external service and how generated material must be reviewed. 6. Generative AI Coding ToolsCode-generating assistants can explain APIs, draft tests, refactor functions and generate documentation. They are useful productivity tools, particularly when a developer already understands the problem. They can also produce insecure code, hallucinated libraries, outdated syntax, licensing concerns or subtly incorrect data transformations. A disciplined workflow is: 1. State the requirement, constraints and context. 2. Ask for a small, reviewable change. 3. Inspect the code line by line. 4. Check documentation and package versions. 5. Run tests, linters and security scans. 6. Test edge cases and failure behavior. 7. Record human approval for consequential changes. The assistant should not be treated as an authority or as a replacement for design reasoning. Generated code is an untrusted contribution until reviewed. In educational settings, students should disclose substantial use where institutional policy requires it and should be able to explain all submitted code. 7. Illustrative Case: A University Early-Alert SystemBackgroundThe fictional Northbridge University wants to identify students who may benefit from academic support. It proposes a Python system using attendance, assessment submissions and prior academic records. The system is intended to prioritize outreach, not to make automatic disciplinary decisions. ProblemAn initial prototype achieves high accuracy, but advisors report that the predictions are difficult to interpret. Student representatives are concerned that commuter students and students with caring responsibilities may be disadvantaged. The university also needs to comply with privacy and records-management requirements. AnalysisThe engineering team identifies several risks. Attendance data is recorded differently across departments. A field called “support outcome” is entered after an advisor intervention and would leak future information if used as a feature. Random splitting may place records from the same student in both training and testing periods. The overall accuracy hides weaker recall for a small student subgroup. Approach and solutionThe team first defines the use case: the output is a ranked list for trained advisors, with students able to request review. It removes post-intervention fields, documents feature meanings and uses a time-based evaluation so that earlier terms predict later outcomes. A scikit-learn pipeline handles imputation and encoding within each training fold. The team compares a regularized logistic regression with a tree-based model. It reports recall, precision, calibration and subgroup results rather than accuracy alone. The logistic model is selected because its performance is competitive and its coefficients can be explained more directly. Advisors receive contributing factors and a warning that the prediction is not a judgment of ability. Access is limited to authorized staff. Data retention is defined, audit logs are enabled and raw exports are prohibited. A model card describes intended and prohibited uses. Before deployment, the university conducts a pilot with human review and establishes an appeal route. Monitoring checks data completeness, changes in prediction rates and subgroup performance. OutcomeThe pilot improves the consistency of outreach but does not automate decisions. Several data-quality problems are discovered and corrected. The system is accepted only with quarterly review, advisor training and a process for suspending it if performance or fairness deteriorates. Learning pointsThe case demonstrates that model selection is only one part of an AI system. Problem framing, temporal validity, explainability, access control, human oversight and monitoring are equally important. A lower-complexity model may be preferable when it provides adequate performance and stronger accountability. 8. Contemporary and Emerging PracticePython development is evolving toward faster package management, typed interfaces, array APIs, compiled extensions and more efficient execution. Static type checkers such as mypy and pyright can detect inconsistent interfaces before runtime. Dataclass- and schema-oriented designs improve validation and documentation. Modern Python releases also provide language improvements, but projects should adopt versions according to ecosystem compatibility and support policy. AI workloads increasingly use GPUs, specialized accelerators and distributed systems. Frameworks such as PyTorch, JAX and TensorFlow support automatic differentiation and hardware acceleration, while tools such as ONNX can assist interoperability in selected deployment scenarios. Performance engineering should begin with profiling and measurement; premature optimization can make code less maintainable without improving the actual bottleneck. Data and model operations are becoming more automated through feature stores, model registries, workflow orchestrators and observability platforms. Nevertheless, automation can amplify errors. A pipeline that automatically retrains on corrupted data is more dangerous than one that fails visibly. Approval gates, data-quality checks and rollback mechanisms remain essential. Digital transformation also changes organizational roles. AI-ready Python engineers need programming ability, statistical judgment, cloud and software practices, communication skills and ethical awareness. Employability depends not only on knowing library APIs but also on being able to explain design decisions, quantify limitations and collaborate with domain experts. Challenges and LimitationsReproducibility can be expensive when datasets are large, proprietary or changing. Exact reproduction may be impossible when vendors alter services or hardware behavior. Governance frameworks can become bureaucratic if they are disconnected from engineering decisions. Fairness metrics may conflict and cannot resolve value disagreements by themselves. Explainability methods can be unstable or misunderstood. Cloud services reduce operational work but introduce cost, dependency and jurisdiction risks. Generative AI can accelerate routine coding while increasing review demands and obscuring authorship. These limitations do not justify abandoning AI engineering practices. They indicate that claims should be qualified, evidence should be recorded and systems should be designed for uncertainty. A well-engineered model is not necessarily fair, and a fairer model is not necessarily appropriate; technical evidence must be interpreted within the social and institutional context. Best-Practice ChecklistBefore delivering an AI/ML Python application, confirm that: - the purpose, users and prohibited uses are documented;
- data provenance, consent or legal basis and retention are understood;
- training, validation and testing prevent leakage;
- preprocessing is included in the reproducible pipeline;
- dependencies, configuration, code and artifacts are versioned;
- experiments and final model selection are recorded;
- unit, data-quality, security and performance tests exist;
- subgroup results and relevant uncertainty are reported;
- privacy, licensing and supply-chain risks are reviewed;
- deployment includes monitoring, rollback and incident ownership;
- explanations and human review are appropriate to the decision;
- generated code has been independently checked.
Chapter SummaryAI-ready Python engineering treats an AI application as a reproducible, testable and governable system rather than as an isolated model or notebook. Reliable projects use clear structures, managed environments, validated configuration, versioned data and experiment records. Pipelines must prevent leakage and use evaluation metrics suited to the decision, including subgroup analysis where relevant. Software practices such as testing, continuous integration, containers and cloud deployment support maintainability but do not replace human judgment. Governance requires attention to bias, explainability, privacy, security, licensing and accountability across the system life cycle. Generative AI coding tools can improve productivity, yet their output must be reviewed, tested and checked for security and licensing concerns. The central professional lesson is that technical performance is only one dimension of quality. A trustworthy AI/ML application must also be reproducible, appropriate for its purpose, understandable to stakeholders, secure, legally defensible and capable of being monitored or withdrawn when conditions change. Key TermsReproducibility: The ability to recreate a result using recorded code, data, dependencies and configuration. Data leakage: Use of information in training or evaluation that would not be available at prediction time. Pipeline: A sequence of data-processing, feature, modeling or deployment operations. Dependency: An external package or component required by a Python project. Environment: An isolated runtime containing a project’s interpreter and installed packages. Experiment tracking: Recording parameters, metrics, artifacts and context for model runs. Artifact: A generated output such as a model file, report, dataset or evaluation plot. Continuous integration: Automated building and testing of software changes. Container: A packaged application and runtime environment sharing the host kernel. Model card: Documentation describing a model’s purpose, performance, limitations and risks. Fairness: The assessment and management of unjustified differences in system impacts or performance. Explainability: The provision of understandable information about a model or decision process. Data minimization: Collecting and retaining only data necessary for a specified purpose. Pseudonymization: Replacing direct identifiers while retaining a means of controlled re-identification. Differential privacy: A formal privacy framework that limits the influence of one individual record on an output. SBOM: A software bill of materials listing components included in a software product. Model drift: Change in data, relationships or performance after deployment. Human oversight: Deliberate human review, intervention or accountability in an AI system. Prompt injection: An attempt to manipulate an AI system through specially crafted input instructions. Review QuestionsShort Answer Questions1. Why is a notebook alone usually insufficient for a production AI application? 2. Define data leakage and give one example. 3. Distinguish precision from recall. 4. Why should secrets not be stored in source control? 5. What information should a model card contain? Long Answer Questions1. Explain how project structure, dependency management, configuration and experiment tracking contribute to reproducibility. 2. Compare accuracy, precision, recall and F1 score, including situations in which accuracy may be misleading. 3. Discuss how bias can enter an AI pipeline and how subgroup evaluation can help identify risks. 4. Explain the benefits and limitations of containers and cloud platforms for Python AI deployment. 5. Evaluate the appropriate role of generative AI coding assistants in professional Python engineering. Analytical / Application Questions1. Design an evaluation and governance plan for a Python model that prioritizes applicants for a public training program. Identify data, fairness, privacy, explainability and monitoring requirements. 2. A fraud model has 99% accuracy but detects only 20% of fraudulent transactions. Analyze why the score is inadequate and recommend additional metrics and evaluation procedures. 3. A team wants to retrain a deployed model automatically every night. Propose safeguards involving data validation, experiment tracking, approval, rollback and incident monitoring. Multiple Choice Questions with AnswersQuestion 1Which practice most directly helps prevent preprocessing leakage in a scikit-learn model? A. Applying transformations to the complete dataset before splitting B. Putting preprocessing and the estimator in a Pipeline C. Increasing the number of model parameters D. Removing the test set Correct Answer: B. Putting preprocessing and the estimator in a Pipeline Question 2Which metric measures the proportion of predicted positives that are actually positive? A. Recall B. Accuracy C. Precision D. Mean absolute error Correct Answer: C. Precision Question 3Why can a 99% accuracy score be misleading in fraud detection? A. Accuracy cannot be calculated for classifiers B. Fraud datasets are often imbalanced C. Accuracy measures only regression error D. Accuracy always equals recall Correct Answer: B. Fraud datasets are often imbalanced Question 4Which item should normally be treated as a secret? A. A public package name B. A model’s documented input schema C. An API credential D. A unit-test function name Correct Answer: C. An API credential Question 5What is the primary purpose of experiment tracking? A. To replace all model evaluation B. To record parameters, metrics and artifacts for comparison and traceability C. To eliminate the need for source control D. To guarantee fairness Correct Answer: B. To record parameters, metrics and artifacts for comparison and traceability Question 6Which statement about removing a sensitive attribute is correct? A. It always guarantees fairness B. It may not remove information carried by correlated features C. It makes privacy obligations disappear D. It prevents data leakage in every case Correct Answer: B. It may not remove information carried by correlated features Question 7What is a key security practice for containerized AI applications? A. Bake passwords into the image B. Run every process with unrestricted privileges C. Scan and maintain the base image D. Disable dependency updates permanently Correct Answer: C. Scan and maintain the base image Question 8Which statement best describes differential privacy? A. A guarantee that a dataset contains no personal information B. A method for limiting the influence of an individual record on an output C. A technique that removes all model error D. A synonym for pseudonymization Correct Answer: B. A method for limiting the influence of an individual record on an output Question 9What is the most appropriate attitude toward code generated by an AI assistant? A. It is trusted because it was generated automatically B. It should be reviewed, tested and checked for security and licensing issues C. It should never be executed under any circumstances D. It eliminates the need for documentation Correct Answer: B. It should be reviewed, tested and checked for security and licensing issues Question 10Why might a time-based split be preferable to a random split? A. It always produces a higher score B. It reflects situations in which earlier data is used to predict later events C. It removes the need for a test set D. It guarantees equal subgroup performance Correct Answer: B. It reflects situations in which earlier data is used to predict later events
|