24 KiB
Data Science for Beginners-ലേക്ക് സംഭാവന ചെയ്യുക
Data Science for Beginners പാഠ്യപദ്ധതിയിലേക്ക് സംഭാവന ചെയ്യുന്നതിൽ താൽപര്യമുള്ളതിന് നന്ദി! സമൂഹത്തിൽ നിന്നുള്ള സംഭാവനകൾ ഞങ്ങൾ സ്വാഗതം ചെയ്യുന്നു.
ഉള്ളടക്ക പട്ടിക
- നടപടികളുടെ കോഡ്
- ഞാൻ എങ്ങനെ സംഭാവന ചെയ്യാം?
- ആരംഭിക്കുന്നത്
- സംഭാവന മാർഗ്ഗനിർദ്ദേശങ്ങൾ
- പുൾ അഭ്യർത്ഥന പ്രക്രിയ
- ശൈലി മാർഗ്ഗനിർദ്ദേശങ്ങൾ
- സംഭാവനാ ലൈസൻസ് കരാർ
നടപ്പടികളുടെ കോഡ്
ഈ പ്രോജക്റ്റ് Microsoft Open Source Code of Conduct സ്വീകരിച്ചിട്ടുണ്ട്. കൂടുതൽ വിവരങ്ങൾക്ക് Code of Conduct FAQ കാണുക അല്ലെങ്കിൽ opencode@microsoft.com എന്ന വിലാസത്തിൽ അധിക ചോദ്യങ്ങൾക്കോ അഭിപ്രായങ്ങൾക്കോ ബന്ധപ്പെടുക.
ഞാൻ എങ്ങനെ സംഭാവന ചെയ്യാം?
പിശകുകൾ റിപ്പോർട്ട് ചെയ്യൽ
പിശകുകൾ റിപ്പോർട്ട് ചെയ്യുന്നതിന് മുമ്പ്, പുനരാവൃതികൾ ഒഴിവാക്കാൻ നിലവിലുള്ള പ്രശ്നങ്ങൾ പരിശോധിക്കുക. പിശക് റിപ്പോർട്ട് ചെയ്യുമ്പോൾ, 가능한ത്ര വിശദാംശങ്ങൾ ഉൾപ്പെടുത്തുക:
- വ്യക്തമായ, വിവരണാത്മകമായ തലക്കെട്ട് ഉപയോഗിക്കുക
- പ്രശ്നം പുനരാവർത്തിപ്പെടുത്താനുള്ള കൃത്യമായ ഘട്ടങ്ങൾ വിവരിക്കുക
- നിർദ്ദിഷ്ട ഉദാഹരണങ്ങൾ നൽകുക (കോഡ് സ്നിപ്പറ്റുകൾ, സ്ക്രീൻഷോട്ടുകൾ)
- നിങ്ങൾ കണ്ട പെരുമാറ്റവും പ്രതീക്ഷിച്ചതും വിവരിക്കുക
- നിങ്ങളുടെ പരിസ്ഥിതി വിശദാംശങ്ങൾ ഉൾപ്പെടുത്തുക (ഓപ്പറേറ്റിംഗ് സിസ്റ്റം, Python പതിപ്പ്, ബ്രൗസർ)
മെച്ചപ്പെടുത്തലുകൾ നിർദ്ദേശിക്കൽ
മെച്ചപ്പെടുത്തലുകൾ നിർദ്ദേശിക്കുന്നത് സ്വാഗതം ചെയ്യുന്നു! നിർദ്ദേശിക്കുമ്പോൾ:
- വ്യക്തമായ, വിവരണാത്മകമായ തലക്കെട്ട് ഉപയോഗിക്കുക
- നിർദ്ദേശിച്ച മെച്ചപ്പെടുത്തലിന്റെ വിശദമായ വിവരണം നൽകുക
- ഈ മെച്ചപ്പെടുത്തൽ എങ്ങനെ പ്രയോജനകരമാകും എന്ന് വിശദീകരിക്കുക
- അന്യ പ്രോജക്റ്റുകളിൽ സമാനമായ ഫീച്ചറുകൾ ഉണ്ടെങ്കിൽ അവ പട്ടികപ്പെടുത്തുക
ഡോക്യുമെന്റേഷൻ സംഭാവന
ഡോക്യുമെന്റേഷൻ മെച്ചപ്പെടുത്തലുകൾ എപ്പോഴും അഭിനന്ദനാർഹമാണ്:
- വ്യാകരണ പിശകുകളും ടൈപ്പോകളും ശരിയാക്കുക
- വിവരണങ്ങളുടെ വ്യക്തത മെച്ചപ്പെടുത്തുക
- കാണാതിരുന്ന ഡോക്യുമെന്റേഷൻ ചേർക്കുക
- പഴയ വിവരങ്ങൾ പുതുക്കുക
- ഉദാഹരണങ്ങൾ അല്ലെങ്കിൽ ഉപയോഗ കേസുകൾ ചേർക്കുക
കോഡ് സംഭാവന
നാം കോഡ് സംഭാവനകൾ സ്വാഗതം ചെയ്യുന്നു, അതിൽ ഉൾപ്പെടുന്നു:
- പുതിയ പാഠങ്ങൾ അല്ലെങ്കിൽ അഭ്യാസങ്ങൾ
- പിശക് പരിഹാരങ്ങൾ
- നിലവിലുള്ള നോട്ട്ബുക്കുകളിൽ മെച്ചപ്പെടുത്തലുകൾ
- പുതിയ ഡാറ്റാസെറ്റുകൾ അല്ലെങ്കിൽ ഉദാഹരണങ്ങൾ
- ക്വിസ് ആപ്പ് മെച്ചപ്പെടുത്തലുകൾ
ആരംഭിക്കുന്നത്
മുൻകൂട്ടി ആവശ്യങ്ങൾ
സംഭാവന ചെയ്യുന്നതിന് മുമ്പ്, നിങ്ങൾക്കുണ്ടെന്ന് ഉറപ്പാക്കുക:
- GitHub അക്കൗണ്ട്
- നിങ്ങളുടെ സിസ്റ്റത്തിൽ Git ഇൻസ്റ്റാൾ ചെയ്തിട്ടുള്ളത്
- Python 3.7+യും Jupyter-ഉം ഇൻസ്റ്റാൾ ചെയ്തിട്ടുള്ളത്
- Node.js, npm (ക്വിസ് ആപ്പ് സംഭാവനകൾക്കായി)
- പാഠ്യപദ്ധതി ഘടനയെ പരിചയമുള്ളത്
വിശദമായ സജ്ജീകരണ നിർദ്ദേശങ്ങൾക്കായി INSTALLATION.md കാണുക.
Fork ചെയ്യുക, Clone ചെയ്യുക
- GitHub-ൽ റിപ്പോസിറ്ററി Fork ചെയ്യുക
- നിങ്ങളുടെ Fork ലോക്കലായി Clone ചെയ്യുക:
git clone https://github.com/YOUR-USERNAME/Data-Science-For-Beginners.git cd Data-Science-For-Beginners - Upstream remote ചേർക്കുക:
git remote add upstream https://github.com/microsoft/Data-Science-For-Beginners.git
ബ്രാഞ്ച് സൃഷ്ടിക്കുക
നിങ്ങളുടെ പ്രവർത്തനത്തിനായി പുതിയ ബ്രാഞ്ച് സൃഷ്ടിക്കുക:
git checkout -b feature/your-feature-name
# അല്ലെങ്കിൽ
git checkout -b fix/your-bug-fix
ബ്രാഞ്ച് നാമകരണം:
feature/- പുതിയ ഫീച്ചറുകൾ അല്ലെങ്കിൽ പാഠങ്ങൾfix/- പിശക് പരിഹാരങ്ങൾdocs/- ഡോക്യുമെന്റേഷൻ മാറ്റങ്ങൾrefactor/- കോഡ് പുനഃസംഘടനം
സംഭാവന മാർഗ്ഗനിർദ്ദേശങ്ങൾ
പാഠം ഉള്ളടക്കത്തിന്
പാഠങ്ങൾ സംഭാവന ചെയ്യുമ്പോൾ അല്ലെങ്കിൽ നിലവിലുള്ളവ മാറ്റുമ്പോൾ:
-
നിലവിലുള്ള ഘടന പാലിക്കുക:
- README.md-ൽ പാഠം ഉള്ളടക്കം
- Jupyter നോട്ട്ബുക്കിൽ അഭ്യാസങ്ങൾ
- അസൈൻമെന്റ് (ഉണ്ടെങ്കിൽ)
- മുൻകൂട്ടി, ശേഷമുള്ള ക്വിസുകൾക്ക് ലിങ്ക്
-
ഈ ഘടകങ്ങൾ ഉൾപ്പെടുത്തുക:
- വ്യക്തമായ പഠന ലക്ഷ്യങ്ങൾ
- ഘട്ടം ഘട്ടമായ വിശദീകരണങ്ങൾ
- കോഡ് ഉദാഹരണങ്ങൾ കമന്റുകളോടുകൂടി
- അഭ്യാസങ്ങൾ പ്രാക്ടീസിനായി
- അധിക സ്രോതസുകളിലേക്ക് ലിങ്കുകൾ
-
പ്രവേശനയോഗ്യത ഉറപ്പാക്കുക:
- വ്യക്തവും ലളിതവുമായ ഭാഷ ഉപയോഗിക്കുക
- ചിത്രങ്ങൾക്ക് alt ടെക്സ്റ്റ് നൽകുക
- കോഡ് കമന്റുകൾ ഉൾപ്പെടുത്തുക
- വ്യത്യസ്ത പഠന ശൈലികൾ പരിഗണിക്കുക
Jupyter നോട്ട്ബുക്കുകൾക്ക്
-
കമ്മിറ്റ് ചെയ്യുന്നതിന് മുമ്പ് എല്ലാ ഔട്ട്പുട്ടുകളും ക്ലിയർ ചെയ്യുക:
jupyter nbconvert --clear-output --inplace notebook.ipynb -
വിവരണങ്ങളോടെയുള്ള മാർക്ക്ഡൗൺ സെല്ലുകൾ ഉൾപ്പെടുത്തുക
-
സമാനമായ ഫോർമാറ്റിംഗ് ഉപയോഗിക്കുക:
# മുകളിൽ ലൈബ്രറികൾ ഇറക്കുമതി ചെയ്യുക import pandas as pd import numpy as np import matplotlib.pyplot as plt # അർത്ഥമുള്ള വേരിയബിൾ നാമങ്ങൾ ഉപയോഗിക്കുക # സങ്കീർണ്ണമായ പ്രവർത്തനങ്ങൾക്ക് കമന്റുകൾ ചേർക്കുക # PEP 8 സ്റ്റൈൽ മാർഗ്ഗനിർദ്ദേശങ്ങൾ പാലിക്കുക -
നിങ്ങളുടെ നോട്ട്ബുക്ക് സമ്പൂർണമായി ടെസ്റ്റ് ചെയ്യുക
Python കോഡിനായി
PEP 8 ശൈലി മാർഗ്ഗനിർദ്ദേശങ്ങൾ പാലിക്കുക:
# നല്ല പ്രാക്ടീസുകൾ
import pandas as pd
def calculate_mean(data):
"""Calculate the mean of a dataset.
Args:
data (list): List of numerical values
Returns:
float: Mean of the dataset
"""
return sum(data) / len(data)
ക്വിസ് ആപ്പ് സംഭാവനകൾക്കായി
ക്വിസ് ആപ്പ് മാറ്റുമ്പോൾ:
-
ലോക്കലായി ടെസ്റ്റ് ചെയ്യുക:
cd quiz-app npm install npm run serve -
Linter ഓടിക്കുക:
npm run lint -
സഫലമായി ബിൽഡ് ചെയ്യുക:
npm run build -
Vue.js ശൈലി ഗൈഡ്യും നിലവിലുള്ള മാതൃകകളും പാലിക്കുക
വിവർത്തനങ്ങൾക്കായി
വിവർത്തനങ്ങൾ ചേർക്കുമ്പോൾ അല്ലെങ്കിൽ പുതുക്കുമ്പോൾ:
translations/ഫോൾഡറിലെ ഘടന പാലിക്കുക- ഭാഷാ കോഡ് ഫോൾഡർ നാമമായി ഉപയോഗിക്കുക (ഉദാ: ഫ്രഞ്ച്ക്കായി
fr) - ഇംഗ്ലീഷ് പതിപ്പിന്റെ ഫയൽ ഘടന നിലനിർത്തുക
- ക്വിസ് ലിങ്കുകൾ ഭാഷാ പാരാമീറ്റർ ഉൾക്കൊള്ളുന്നതായി പുതുക്കുക:
?loc=fr - എല്ലാ ലിങ്കുകളും ഫോർമാറ്റിംഗും ടെസ്റ്റ് ചെയ്യുക
പുൾ അഭ്യർത്ഥന പ്രക്രിയ
സമർപ്പിക്കുന്നതിന് മുമ്പ്
-
നിങ്ങളുടെ ബ്രാഞ്ച് ഏറ്റവും പുതിയ മാറ്റങ്ങളോടെ അപ്ഡേറ്റ് ചെയ്യുക:
git fetch upstream git rebase upstream/main -
നിങ്ങളുടെ മാറ്റങ്ങൾ ടെസ്റ്റ് ചെയ്യുക:
- മാറ്റിയ എല്ലാ നോട്ട്ബുക്കുകളും ഓടിക്കുക
- ക്വിസ് ആപ്പ് മാറ്റിയെങ്കിൽ ടെസ്റ്റ് ചെയ്യുക
- എല്ലാ ലിങ്കുകളും പ്രവർത്തിക്കുന്നുവെന്ന് ഉറപ്പാക്കുക
- വാക്ക് പിശകുകളും വ്യാകരണ പിശകുകളും പരിശോധിക്കുക
-
നിങ്ങളുടെ മാറ്റങ്ങൾ കമ്മിറ്റ് ചെയ്യുക:
git add . git commit -m "Brief description of changes"വ്യക്തമായ കമ്മിറ്റ് സന്ദേശങ്ങൾ എഴുതുക:
- ഇപ്പോഴത്തെ കാലം ഉപയോഗിക്കുക ("Add feature" "Added feature" അല്ല)
- നിർദ്ദേശാത്മക വാചകം ഉപയോഗിക്കുക ("Move cursor to..." "Moves cursor to..." അല്ല)
- ആദ്യ വരി 72 അക്ഷരങ്ങളിൽ പരിമിതപ്പെടുത്തുക
- ബന്ധപ്പെട്ട പ്രശ്നങ്ങളും പുൾ അഭ്യർത്ഥനകളും സൂചിപ്പിക്കുക
-
നിങ്ങളുടെ Fork-ലേക്ക് പുഷ് ചെയ്യുക:
git push origin feature/your-feature-name
പുൾ അഭ്യർത്ഥന സൃഷ്ടിക്കൽ
- റിപ്പോസിറ്ററിയിലേക്ക് പോകുക
- "Pull requests" → "New pull request" ക്ലിക്ക് ചെയ്യുക
- "compare across forks" ക്ലിക്ക് ചെയ്യുക
- നിങ്ങളുടെ Forkയും ബ്രാഞ്ചും തിരഞ്ഞെടുക്കുക
- "Create pull request" ക്ലിക്ക് ചെയ്യുക
PR തലക്കെട്ട് ഫോർമാറ്റ്
വ്യക്തവും വിവരണാത്മകവുമായ തലക്കെട്ടുകൾ ഈ ഫോർമാറ്റ് പാലിച്ച് ഉപയോഗിക്കുക:
[Component] Brief description
ഉദാഹരണങ്ങൾ:
[Lesson 7] Python നോട്ട്ബുക്ക് ഇമ്പോർട്ട് പിശക് പരിഹരിക്കുക[Quiz App] ജർമ്മൻ വിവർത്തനം ചേർക്കുക[Docs] README പുതിയ മുൻകൂട്ടി ആവശ്യങ്ങളോടെ അപ്ഡേറ്റ് ചെയ്യുക[Fix] Visualization പാഠത്തിലെ ഡാറ്റ പാത ശരിയാക്കുക
PR വിവരണം
നിങ്ങളുടെ PR വിവരണത്തിൽ ഉൾപ്പെടുത്തുക:
- എന്ത്: നിങ്ങൾ എന്ത് മാറ്റങ്ങൾ ചെയ്തു?
- എന്തുകൊണ്ട്: ഈ മാറ്റങ്ങൾ എന്തുകൊണ്ട് ആവശ്യമാണ്?
- എങ്ങനെ: മാറ്റങ്ങൾ എങ്ങനെ നടപ്പിലാക്കി?
- ടെസ്റ്റിംഗ്: മാറ്റങ്ങൾ എങ്ങനെ ടെസ്റ്റ് ചെയ്തു?
- സ്ക്രീൻഷോട്ടുകൾ: ദൃശ്യ മാറ്റങ്ങൾക്ക് സ്ക്രീൻഷോട്ടുകൾ ചേർക്കുക
- ബന്ധപ്പെട്ട പ്രശ്നങ്ങൾ: ബന്ധപ്പെട്ട പ്രശ്നങ്ങൾക്ക് ലിങ്ക് (ഉദാ: "Fixes #123")
അവലോകന പ്രക്രിയ
- ഓട്ടോമേറ്റഡ് ചെക്കുകൾ നിങ്ങളുടെ PR-ൽ ഓടും
- മെയിന്റെയ്നർമാർ നിങ്ങളുടെ സംഭാവന പരിശോധിക്കും
- പ്രതികരണങ്ങൾ പരിഹരിക്കുക അധിക കമ്മിറ്റുകൾ ചെയ്ത്
- അംഗീകൃതമായാൽ, മെയിന്റെയ്നർ നിങ്ങളുടെ PR മർജ് ചെയ്യും
നിങ്ങളുടെ PR മർജ് ചെയ്തശേഷം
-
നിങ്ങളുടെ ബ്രാഞ്ച് ഡിലീറ്റ് ചെയ്യുക:
git branch -d feature/your-feature-name git push origin --delete feature/your-feature-name -
നിങ്ങളുടെ Fork അപ്ഡേറ്റ് ചെയ്യുക:
git checkout main git pull upstream main git push origin main
ശൈലി മാർഗ്ഗനിർദ്ദേശങ്ങൾ
മാർക്ക്ഡൗൺ
- സ്ഥിരമായ തലക്കെട്ട് തലങ്ങൾ ഉപയോഗിക്കുക
- വിഭാഗങ്ങൾക്കിടയിൽ ശൂന്യ വരികൾ ഉൾപ്പെടുത്തുക
- ഭാഷാ നിർദ്ദേശങ്ങളോടെയുള്ള കോഡ് ബ്ലോക്കുകൾ ഉപയോഗിക്കുക:
```python import pandas as pd ``` - ചിത്രങ്ങൾക്ക് alt ടെക്സ്റ്റ് ചേർക്കുക:
 - വരി നീളം യുക്തമായിരിക്കണം (ഏകദേശം 80-100 അക്ഷരങ്ങൾ)
Python
- PEP 8 ശൈലി ഗൈഡ് പാലിക്കുക
- അർത്ഥമുള്ള വേരിയബിൾ നാമങ്ങൾ ഉപയോഗിക്കുക
- ഫംഗ്ഷനുകൾക്ക് ഡോക്സ്ട്രിംഗുകൾ ചേർക്കുക
- ആവശ്യമായിടത്ത് ടൈപ്പ് ഹിന്റുകൾ ഉൾപ്പെടുത്തുക:
def process_data(df: pd.DataFrame) -> pd.DataFrame: """Process the input dataframe.""" return df
JavaScript/Vue.js
- Vue.js 2 ശൈലി ഗൈഡ് പാലിക്കുക
- നൽകിയ ESLint കോൺഫിഗറേഷൻ ഉപയോഗിക്കുക
- മോടുലാർ, പുനരുപയോഗയോഗ്യമായ ഘടകങ്ങൾ എഴുതുക
- സങ്കീർണ്ണമായ ലജിക് കമന്റുകളോടെ ചേർക്കുക
ഫയൽ ഓർഗനൈസേഷൻ
- ബന്ധപ്പെട്ട ഫയലുകൾ ഒന്നിച്ച് സൂക്ഷിക്കുക
- വിവരണാത്മകമായ ഫയൽ നാമങ്ങൾ ഉപയോഗിക്കുക
- നിലവിലുള്ള ഡയറക്ടറി ഘടന പാലിക്കുക
- അനാവശ്യ ഫയലുകൾ (.DS_Store, .pyc, node_modules, തുടങ്ങിയവ) കമ്മിറ്റ് ചെയ്യരുത്
സംഭാവനാ ലൈസൻസ് കരാർ
ഈ പ്രോജക്റ്റ് സംഭാവനകളും നിർദ്ദേശങ്ങളും സ്വാഗതം ചെയ്യുന്നു. ഭൂരിഭാഗം സംഭാവനകൾക്ക് Contributor License Agreement (CLA) യിൽ നിങ്ങൾക്ക് അവകാശമുണ്ടെന്ന്, ഞങ്ങൾക്ക് നിങ്ങളുടെ സംഭാവന ഉപയോഗിക്കാൻ അവകാശം നൽകുന്നതായി പ്രഖ്യാപിക്കുന്നതിന് സമ്മതിക്കേണ്ടതാണ്. വിശദാംശങ്ങൾക്ക് https://cla.microsoft.com കാണുക.
നിങ്ങൾ പുൾ അഭ്യർത്ഥന സമർപ്പിക്കുമ്പോൾ, CLA-ബോട്ട് സ്വയം നിങ്ങൾക്ക് CLA നൽകേണ്ടതുണ്ടോ എന്ന് നിർണ്ണയിച്ച് PR-നെ അനുയോജ്യമായി അലങ്കരിക്കും (ഉദാ: ലേബൽ, കമന്റ്). ബോട്ടിന്റെ നിർദ്ദേശങ്ങൾ പാലിക്കുക. ഞങ്ങളുടെ CLA ഉപയോഗിക്കുന്ന എല്ലാ റിപ്പോസിറ്ററികളിലും ഇത് ഒരിക്കൽ മാത്രം ചെയ്യേണ്ടതുണ്ട്.
ചോദ്യങ്ങൾ?
- ഞങ്ങളുടെ Discord ചാനൽ #data-science-for-beginners പരിശോധിക്കുക
- ഞങ്ങളുടെ Discord സമൂഹത്തിൽ ചേരുക
- നിലവിലുള്ള പ്രശ്നങ്ങൾയും പുൾ അഭ്യർത്ഥനകളും അവലോകനം ചെയ്യുക
നന്ദി!
നിങ്ങളുടെ സംഭാവനകൾ ഈ പാഠ്യപദ്ധതിയെ എല്ലാവർക്കും മെച്ചപ്പെടുത്തുന്നു. സംഭാവന ചെയ്യാൻ സമയം കണ്ടെത്തിയതിന് നന്ദി!
അസൂയാപത്രം:
ഈ രേഖ AI വിവർത്തന സേവനം Co-op Translator ഉപയോഗിച്ച് വിവർത്തനം ചെയ്തതാണ്. നാം കൃത്യതയ്ക്ക് ശ്രമിച്ചിട്ടുണ്ടെങ്കിലും, സ്വയം പ്രവർത്തിക്കുന്ന വിവർത്തനങ്ങളിൽ പിശകുകൾ അല്ലെങ്കിൽ തെറ്റുകൾ ഉണ്ടാകാമെന്ന് ദയവായി ശ്രദ്ധിക്കുക. അതിന്റെ മാതൃഭാഷയിലുള്ള യഥാർത്ഥ രേഖയാണ് പ്രാമാണികമായ ഉറവിടം എന്ന് പരിഗണിക്കേണ്ടതാണ്. നിർണായകമായ വിവരങ്ങൾക്ക്, പ്രൊഫഷണൽ മനുഷ്യ വിവർത്തനം ശുപാർശ ചെയ്യപ്പെടുന്നു. ഈ വിവർത്തനം ഉപയോഗിക്കുന്നതിൽ നിന്നുണ്ടാകുന്ന ഏതെങ്കിലും തെറ്റിദ്ധാരണകൾക്കോ തെറ്റായ വ്യാഖ്യാനങ്ങൾക്കോ ഞങ്ങൾ ഉത്തരവാദികളല്ല.