├── NeuralNetBasics_short.key ├── NeuralNetBasics_short.pptx ├── Orpheus_(3B)-TTS.ipynb ├── Qwen3_gradio.ipynb ├── README.md ├── STAT_ML.pptx ├── VOT.Collection ├── Whisper.ipynb ├── a.wav ├── a_man_in_the_house.wav ├── aeiou.wav ├── audio_processing.ipynb ├── classification.ipynb ├── clustering.ipynb ├── complex100to1000Hz.Collection ├── crawling(requests_BS).ipynb ├── crawling(selenium).ipynb ├── dimensionality_reduction(PCA).ipynb ├── function.ipynb ├── guitar_A_note(220Hz).wav ├── import.ipynb ├── nlp.ipynb ├── numpy_matplotlib.ipynb ├── pandas.ipynb ├── pure_A_tone(220Hz).wav ├── regression.ipynb ├── string.ipynb ├── syntax.ipynb ├── variables.ipynb ├── vowelEGG.Collection └── yourgoodpants.wav /NeuralNetBasics_short.key: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nkyc-no-name/class2025Spring/39895637589b9d739949026ace3e87c6dd159454/NeuralNetBasics_short.key -------------------------------------------------------------------------------- /NeuralNetBasics_short.pptx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nkyc-no-name/class2025Spring/39895637589b9d739949026ace3e87c6dd159454/NeuralNetBasics_short.pptx -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # class2025Spring 2 | 3 | 4 | phonetics_basics.pptx 자료 링크 5 | https://www.dropbox.com/scl/fi/gugeqrlec0vsmi78ah2cw/phonetics_basics.pptx?rlkey=ppwf0c9wtomch5y4rlehlfdxy&dl=0 6 | -------------------------------------------------------------------------------- /STAT_ML.pptx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nkyc-no-name/class2025Spring/39895637589b9d739949026ace3e87c6dd159454/STAT_ML.pptx -------------------------------------------------------------------------------- /VOT.Collection: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nkyc-no-name/class2025Spring/39895637589b9d739949026ace3e87c6dd159454/VOT.Collection -------------------------------------------------------------------------------- /Whisper.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": { 6 | "id": "view-in-github", 7 | "colab_type": "text" 8 | }, 9 | "source": [ 10 | "\"Open" 11 | ] 12 | }, 13 | { 14 | "cell_type": "markdown", 15 | "metadata": { 16 | "id": "NfzEkMJOVMyx" 17 | }, 18 | "source": [ 19 | "To run this, press \"*Runtime*\" and press \"*Run all*\" on a **free** Tesla T4 Google Colab instance!\n", 20 | "
\n", 21 | "\n", 22 | "\n", 23 | " Join Discord if you need help + ⭐ Star us on Github ⭐\n", 24 | "
\n", 25 | "\n", 26 | "To install Unsloth on your own computer, follow the installation instructions on our Github page [here](https://docs.unsloth.ai/get-started/installing-+-updating).\n", 27 | "\n", 28 | "You will learn how to do [data prep](#Data), how to [train](#Train), how to [run the model](#Inference), & [how to save it](#Save)\n" 29 | ] 30 | }, 31 | { 32 | "cell_type": "markdown", 33 | "metadata": { 34 | "id": "zZ7uAT06VMy1" 35 | }, 36 | "source": [ 37 | "### News" 38 | ] 39 | }, 40 | { 41 | "cell_type": "markdown", 42 | "metadata": { 43 | "id": "7TaXzwhXVMy1" 44 | }, 45 | "source": [ 46 | "Unsloth now supports Text-to-Speech (TTS) models. Read our [guide here](https://docs.unsloth.ai/basics/text-to-speech-tts-fine-tuning).\n", 47 | "\n", 48 | "Read our **[Qwen3 Guide](https://docs.unsloth.ai/basics/qwen3-how-to-run-and-fine-tune)** and check out our new **[Dynamic 2.0](https://docs.unsloth.ai/basics/unsloth-dynamic-2.0-ggufs)** quants which outperforms other quantization methods!\n", 49 | "\n", 50 | "Visit our docs for all our [model uploads](https://docs.unsloth.ai/get-started/all-our-models) and [notebooks](https://docs.unsloth.ai/get-started/unsloth-notebooks).\n" 51 | ] 52 | }, 53 | { 54 | "cell_type": "markdown", 55 | "metadata": { 56 | "id": "Bil-y_B4VMy2" 57 | }, 58 | "source": [ 59 | "### Installation" 60 | ] 61 | }, 62 | { 63 | "cell_type": "code", 64 | "execution_count": null, 65 | "metadata": { 66 | "id": "8ZuN5ICMVMy2" 67 | }, 68 | "outputs": [], 69 | "source": [ 70 | "%%capture\n", 71 | "import os\n", 72 | "if \"COLAB_\" not in \"\".join(os.environ.keys()):\n", 73 | " !pip install unsloth\n", 74 | "else:\n", 75 | " # Do this only in Colab notebooks! Otherwise use pip install unsloth\n", 76 | " !pip install --no-deps bitsandbytes accelerate xformers==0.0.29.post3 peft trl==0.15.2 triton cut_cross_entropy unsloth_zoo\n", 77 | " !pip install sentencepiece protobuf \"datasets>=3.4.1\" huggingface_hub hf_transfer\n", 78 | " !pip install transformers==4.51.3\n", 79 | " !pip install --no-deps unsloth\n", 80 | "!pip install librosa soundfile evaluate jiwer" 81 | ] 82 | }, 83 | { 84 | "cell_type": "markdown", 85 | "metadata": { 86 | "id": "6I6W7f3lnU5Y" 87 | }, 88 | "source": [ 89 | "### Unsloth" 90 | ] 91 | }, 92 | { 93 | "cell_type": "code", 94 | "execution_count": null, 95 | "metadata": { 96 | "id": "QmUBVEnvCDJv" 97 | }, 98 | "outputs": [], 99 | "source": [ 100 | "from unsloth import FastModel\n", 101 | "from transformers import WhisperForConditionalGeneration\n", 102 | "import torch\n", 103 | "\n", 104 | "fourbit_models = [\n", 105 | " # 4bit dynamic quants for superior accuracy and low memory use\n", 106 | " \"unsloth/gemma-3-4b-it-unsloth-bnb-4bit\",\n", 107 | " \"unsloth/gemma-3-12b-it-unsloth-bnb-4bit\",\n", 108 | " \"unsloth/gemma-3-27b-it-unsloth-bnb-4bit\",\n", 109 | " # Qwen3 new models\n", 110 | " \"unsloth/Qwen3-4B-unsloth-bnb-4bit\",\n", 111 | " \"unsloth/Qwen3-8B-unsloth-bnb-4bit\",\n", 112 | " # Other very popular models!\n", 113 | " \"unsloth/Llama-3.1-8B\",\n", 114 | " \"unsloth/Llama-3.2-3B\",\n", 115 | " \"unsloth/Llama-3.3-70B\",\n", 116 | " \"unsloth/mistral-7b-instruct-v0.3\",\n", 117 | " \"unsloth/Phi-4\",\n", 118 | "] # More models at https://huggingface.co/unsloth\n", 119 | "\n", 120 | "model, tokenizer = FastModel.from_pretrained(\n", 121 | " model_name = \"unsloth/whisper-large-v3\",\n", 122 | " dtype = None, # Leave as None for auto detection\n", 123 | " load_in_4bit = False, # Set to True to do 4bit quantization which reduces memory\n", 124 | " auto_model = WhisperForConditionalGeneration,\n", 125 | " whisper_language = \"English\",\n", 126 | " whisper_task = \"transcribe\",\n", 127 | " # token = \"hf_...\", # use one if using gated models like meta-llama/Llama-2-7b-hf\n", 128 | ")" 129 | ] 130 | }, 131 | { 132 | "cell_type": "markdown", 133 | "metadata": { 134 | "id": "SXd9bTZd1aaL" 135 | }, 136 | "source": [ 137 | "We now add LoRA adapters so we only need to update 1 to 10% of all parameters!" 138 | ] 139 | }, 140 | { 141 | "cell_type": "code", 142 | "execution_count": null, 143 | "metadata": { 144 | "id": "6bZsfBuZDeCL" 145 | }, 146 | "outputs": [], 147 | "source": [ 148 | "model = FastModel.get_peft_model(\n", 149 | " model,\n", 150 | " r = 64, # Choose any number > 0 ! Suggested 8, 16, 32, 64, 128\n", 151 | " target_modules = [\"q_proj\", \"v_proj\"],\n", 152 | " lora_alpha = 64,\n", 153 | " lora_dropout = 0, # Supports any, but = 0 is optimized\n", 154 | " bias = \"none\", # Supports any, but = \"none\" is optimized\n", 155 | " # [NEW] \"unsloth\" uses 30% less VRAM, fits 2x larger batch sizes!\n", 156 | " use_gradient_checkpointing = \"unsloth\", # True or \"unsloth\" for very long context\n", 157 | " random_state = 3407,\n", 158 | " use_rslora = False, # We support rank stabilized LoRA\n", 159 | " loftq_config = None, # And LoftQ\n", 160 | " task_type = None, # ** MUST set this for Whisper **\n", 161 | ")" 162 | ] 163 | }, 164 | { 165 | "cell_type": "markdown", 166 | "metadata": { 167 | "id": "vITh0KVJ10qX" 168 | }, 169 | "source": [ 170 | "\n", 171 | "### Data Prep \n", 172 | "\n", 173 | "We will use the `MrDragonFox/Elise`, which is designed for training TTS models. Ensure that your dataset follows the required format: **text, audio**. You can modify this section to accommodate your own dataset, but maintaining the correct structure is essential for optimal training." 174 | ] 175 | }, 176 | { 177 | "cell_type": "code", 178 | "execution_count": null, 179 | "metadata": { 180 | "id": "LjY75GoYUCB8" 181 | }, 182 | "outputs": [], 183 | "source": [ 184 | "import numpy as np\n", 185 | "import tqdm\n", 186 | "\n", 187 | "#Set this to the language you want to train on\n", 188 | "model.generation_config.language = \"<|en|>\"\n", 189 | "model.generation_config.task = \"transcribe\"\n", 190 | "model.config.suppress_tokens = []\n", 191 | "model.generation_config.forced_decoder_ids = None\n", 192 | "\n", 193 | "def formatting_prompts_func(example):\n", 194 | " audio_arrays = example['audio']['array']\n", 195 | " sampling_rate = example[\"audio\"][\"sampling_rate\"]\n", 196 | " features = tokenizer.feature_extractor(\n", 197 | " audio_arrays, sampling_rate=sampling_rate\n", 198 | " )\n", 199 | " tokenized_text = tokenizer.tokenizer(example[\"text\"])\n", 200 | " return {\n", 201 | " \"input_features\": features.input_features[0],\n", 202 | " \"labels\": tokenized_text.input_ids,\n", 203 | " }\n", 204 | "from datasets import load_dataset, Audio\n", 205 | "dataset = load_dataset(\"MrDragonFox/Elise\", split=\"train\")\n", 206 | "\n", 207 | "dataset = dataset.cast_column(\"audio\", Audio(sampling_rate=16000))\n", 208 | "dataset = dataset.train_test_split(test_size=0.06)\n", 209 | "train_dataset = [formatting_prompts_func(example) for example in tqdm.tqdm(dataset['train'], desc='Train split')]\n", 210 | "test_dataset = [formatting_prompts_func(example) for example in tqdm.tqdm(dataset['test'], desc='Test split')]" 211 | ] 212 | }, 213 | { 214 | "cell_type": "code", 215 | "execution_count": null, 216 | "metadata": { 217 | "id": "_w6weK8CGScg" 218 | }, 219 | "outputs": [], 220 | "source": [ 221 | "# @title Create compute_metrics and datacollator\n", 222 | "import evaluate\n", 223 | "import torch\n", 224 | "\n", 225 | "from dataclasses import dataclass\n", 226 | "from typing import Any, Dict, List, Union\n", 227 | "\n", 228 | "metric = evaluate.load(\"wer\")\n", 229 | "def compute_metrics(pred):\n", 230 | " pred_ids = pred.predictions\n", 231 | " label_ids = pred.label_ids\n", 232 | "\n", 233 | " # replace -100 with the pad_token_id\n", 234 | " label_ids[label_ids == -100] = tokenizer.pad_token_id\n", 235 | "\n", 236 | " # we do not want to group tokens when computing the metrics\n", 237 | " pred_str = tokenizer.batch_decode(pred_ids, skip_special_tokens=True)\n", 238 | " label_str = tokenizer.batch_decode(label_ids, skip_special_tokens=True)\n", 239 | "\n", 240 | " wer = 100 * metric.compute(predictions=pred_str, references=label_str)\n", 241 | "\n", 242 | " return {\"wer\": wer}\n", 243 | "\n", 244 | "@dataclass\n", 245 | "class DataCollatorSpeechSeq2SeqWithPadding:\n", 246 | " processor: Any\n", 247 | "\n", 248 | " def __call__(self, features: List[Dict[str, Union[List[int], torch.Tensor]]]) -> Dict[str, torch.Tensor]:\n", 249 | " input_features = [{\"input_features\": feature[\"input_features\"]} for feature in features]\n", 250 | " batch = self.processor.feature_extractor.pad(input_features, return_tensors=\"pt\")\n", 251 | "\n", 252 | " label_features = [{\"input_ids\": feature[\"labels\"]} for feature in features]\n", 253 | " labels_batch = self.processor.tokenizer.pad(label_features, return_tensors=\"pt\")\n", 254 | "\n", 255 | " labels = labels_batch[\"input_ids\"].masked_fill(labels_batch.attention_mask.ne(1), -100)\n", 256 | "\n", 257 | " if (labels[:, 0] == self.processor.tokenizer.bos_token_id).all().cpu().item():\n", 258 | " labels = labels[:, 1:]\n", 259 | "\n", 260 | " batch[\"labels\"] = labels\n", 261 | "\n", 262 | " return batch\n" 263 | ] 264 | }, 265 | { 266 | "cell_type": "markdown", 267 | "metadata": { 268 | "id": "idAEIeSQ3xdS" 269 | }, 270 | "source": [ 271 | "\n", 272 | "### Train the model\n", 273 | "Now let's use Huggingface `Seq2SeqTrainer`! More docs here: [Transformers docs](https://huggingface.co/docs/transformers/main_classes/trainer#transformers.Seq2SeqTrainer). We do 60 steps to speed things up, but you can set `num_train_epochs=1` for a full run, and turn off `max_steps=None`." 274 | ] 275 | }, 276 | { 277 | "cell_type": "code", 278 | "execution_count": null, 279 | "metadata": { 280 | "id": "95_Nn-89DhsL" 281 | }, 282 | "outputs": [], 283 | "source": [ 284 | "from transformers import Seq2SeqTrainingArguments, Seq2SeqTrainer\n", 285 | "from unsloth import is_bfloat16_supported\n", 286 | "\n", 287 | "trainer = Seq2SeqTrainer(\n", 288 | " model = model,\n", 289 | " train_dataset = train_dataset,\n", 290 | " data_collator = DataCollatorSpeechSeq2SeqWithPadding(processor=tokenizer),\n", 291 | " eval_dataset = test_dataset,\n", 292 | " tokenizer = tokenizer.feature_extractor,\n", 293 | " args = Seq2SeqTrainingArguments(\n", 294 | " per_device_train_batch_size = 2,\n", 295 | " gradient_accumulation_steps = 4,\n", 296 | " warmup_steps = 5,\n", 297 | " #num_train_epochs = 1, # Set this for 1 full training run.\n", 298 | " max_steps = 60,\n", 299 | " learning_rate = 1e-4,\n", 300 | " fp16 = not is_bfloat16_supported(),\n", 301 | " bf16 = is_bfloat16_supported(),\n", 302 | " logging_steps = 1,\n", 303 | " optim = \"adamw_8bit\",\n", 304 | " weight_decay = 0.01,\n", 305 | " remove_unused_columns=False, # required as the PeftModel forward doesn't have the signature of the wrapped model's forward\n", 306 | " lr_scheduler_type = \"linear\",\n", 307 | " label_names = ['labels'],\n", 308 | " eval_steps = 5 ,\n", 309 | " eval_strategy=\"steps\",\n", 310 | " seed = 3407,\n", 311 | " output_dir = \"outputs\",\n", 312 | " report_to = \"none\", # Use this for WandB etc\n", 313 | " ),\n", 314 | ")" 315 | ] 316 | }, 317 | { 318 | "cell_type": "code", 319 | "execution_count": null, 320 | "metadata": { 321 | "cellView": "form", 322 | "id": "2ejIt2xSNKKp" 323 | }, 324 | "outputs": [], 325 | "source": [ 326 | "# @title Show current memory stats\n", 327 | "gpu_stats = torch.cuda.get_device_properties(0)\n", 328 | "start_gpu_memory = round(torch.cuda.max_memory_reserved() / 1024 / 1024 / 1024, 3)\n", 329 | "max_memory = round(gpu_stats.total_memory / 1024 / 1024 / 1024, 3)\n", 330 | "print(f\"GPU = {gpu_stats.name}. Max memory = {max_memory} GB.\")\n", 331 | "print(f\"{start_gpu_memory} GB of memory reserved.\")" 332 | ] 333 | }, 334 | { 335 | "cell_type": "code", 336 | "execution_count": null, 337 | "metadata": { 338 | "id": "yqxqAZ7KJ4oL" 339 | }, 340 | "outputs": [], 341 | "source": [ 342 | "trainer_stats = trainer.train()" 343 | ] 344 | }, 345 | { 346 | "cell_type": "code", 347 | "execution_count": null, 348 | "metadata": { 349 | "cellView": "form", 350 | "id": "pCqnaKmlO1U9" 351 | }, 352 | "outputs": [], 353 | "source": [ 354 | "# @title Show final memory and time stats\n", 355 | "used_memory = round(torch.cuda.max_memory_reserved() / 1024 / 1024 / 1024, 3)\n", 356 | "used_memory_for_lora = round(used_memory - start_gpu_memory, 3)\n", 357 | "used_percentage = round(used_memory / max_memory * 100, 3)\n", 358 | "lora_percentage = round(used_memory_for_lora / max_memory * 100, 3)\n", 359 | "print(f\"{trainer_stats.metrics['train_runtime']} seconds used for training.\")\n", 360 | "print(\n", 361 | " f\"{round(trainer_stats.metrics['train_runtime']/60, 2)} minutes used for training.\"\n", 362 | ")\n", 363 | "print(f\"Peak reserved memory = {used_memory} GB.\")\n", 364 | "print(f\"Peak reserved memory for training = {used_memory_for_lora} GB.\")\n", 365 | "print(f\"Peak reserved memory % of max memory = {used_percentage} %.\")\n", 366 | "print(f\"Peak reserved memory for training % of max memory = {lora_percentage} %.\")" 367 | ] 368 | }, 369 | { 370 | "cell_type": "markdown", 371 | "metadata": { 372 | "id": "ekOmTR1hSNcr" 373 | }, 374 | "source": [ 375 | "\n", 376 | "### Inference\n", 377 | "Let's run the model! Because we finetuned Whisper for speech recognition, we need to have a audio file.\n", 378 | "\n", 379 | "For example we use the Harvard Sentences audio dataset https://en.wikipedia.org/wiki/Harvard_sentences" 380 | ] 381 | }, 382 | { 383 | "cell_type": "code", 384 | "execution_count": null, 385 | "metadata": { 386 | "id": "fVdUTgPZzLeG" 387 | }, 388 | "outputs": [], 389 | "source": [ 390 | "!wget https://upload.wikimedia.org/wikipedia/commons/5/5b/Speech_12dB_s16.flac\n", 391 | "\n", 392 | "from IPython.display import Audio, display\n", 393 | "display(Audio(\"Speech_12dB_s16.flac\", rate = 24000))" 394 | ] 395 | }, 396 | { 397 | "cell_type": "code", 398 | "execution_count": null, 399 | "metadata": { 400 | "id": "kR3gIAX-SM2q" 401 | }, 402 | "outputs": [], 403 | "source": [ 404 | "from transformers import pipeline\n", 405 | "import torch\n", 406 | "FastModel.for_inference(model)\n", 407 | "model.eval()\n", 408 | "# Create pipeline without specifying the device\n", 409 | "whisper = pipeline(\n", 410 | " \"automatic-speech-recognition\",\n", 411 | " model=model,\n", 412 | " tokenizer=tokenizer.tokenizer,\n", 413 | " feature_extractor=tokenizer.feature_extractor,\n", 414 | " processor=tokenizer,\n", 415 | " return_language=True,\n", 416 | " torch_dtype=torch.float16 # Remove the device parameter\n", 417 | ")\n", 418 | "# Example usage\n", 419 | "audio_file = \"Speech_12dB_s16.flac\"\n", 420 | "transcribed_text = whisper(audio_file)\n", 421 | "print(transcribed_text[\"text\"])" 422 | ] 423 | }, 424 | { 425 | "cell_type": "markdown", 426 | "metadata": { 427 | "id": "uMuVrWbjAzhc" 428 | }, 429 | "source": [ 430 | "\n", 431 | "### Saving, loading finetuned models\n", 432 | "To save the final model as LoRA adapters, either use Huggingface's `push_to_hub` for an online save or `save_pretrained` for a local save.\n", 433 | "\n", 434 | "**[NOTE]** This ONLY saves the LoRA adapters, and not the full model. To save to 16bit or GGUF, scroll down!" 435 | ] 436 | }, 437 | { 438 | "cell_type": "code", 439 | "execution_count": null, 440 | "metadata": { 441 | "id": "upcOlWe7A1vc" 442 | }, 443 | "outputs": [], 444 | "source": [ 445 | "model.save_pretrained(\"lora_model\") # Local saving\n", 446 | "tokenizer.save_pretrained(\"lora_model\")\n", 447 | "# model.push_to_hub(\"your_name/lora_model\", token = \"...\") # Online saving\n", 448 | "# tokenizer.push_to_hub(\"your_name/lora_model\", token = \"...\") # Online saving" 449 | ] 450 | }, 451 | { 452 | "cell_type": "markdown", 453 | "metadata": { 454 | "id": "f422JgM9sdVT" 455 | }, 456 | "source": [ 457 | "### Saving to float16\n", 458 | "\n", 459 | "We also support saving to `float16` directly. Select `merged_16bit` for float16 or `merged_4bit` for int4. We also allow `lora` adapters as a fallback. Use `push_to_hub_merged` to upload to your Hugging Face account! You can go to https://huggingface.co/settings/tokens for your personal tokens." 460 | ] 461 | }, 462 | { 463 | "cell_type": "code", 464 | "execution_count": null, 465 | "metadata": { 466 | "id": "iHjt_SMYsd3P" 467 | }, 468 | "outputs": [], 469 | "source": [ 470 | "# Merge to 16bit\n", 471 | "if False: model.save_pretrained_merged(\"model\", tokenizer, save_method = None,)\n", 472 | "if False: model.push_to_hub_merged(\"hf/model\", tokenizer, save_method = \"merged_16bit\", token = \"\")\n", 473 | "\n", 474 | "# Merge to 4bit\n", 475 | "if False: model.save_pretrained_merged(\"model\", tokenizer, save_method = \"merged_4bit\",)\n", 476 | "if False: model.push_to_hub_merged(\"hf/model\", tokenizer, save_method = \"merged_4bit\", token = \"\")\n", 477 | "\n", 478 | "# Just LoRA adapters\n", 479 | "if False: model.save_pretrained_merged(\"model\", tokenizer, save_method = \"lora\",)\n", 480 | "if False: model.push_to_hub_merged(\"hf/model\", tokenizer, save_method = \"lora\", token = \"\")" 481 | ] 482 | }, 483 | { 484 | "cell_type": "markdown", 485 | "metadata": { 486 | "id": "avBmlRm5VMy8" 487 | }, 488 | "source": [ 489 | "And we're done! If you have any questions on Unsloth, we have a [Discord](https://discord.gg/unsloth) channel! If you find any bugs or want to keep updated with the latest LLM stuff, or need help, join projects etc, feel free to join our Discord!\n", 490 | "\n", 491 | "Some other links:\n", 492 | "1. Train your own reasoning model - Llama GRPO notebook [Free Colab](https://colab.research.google.com/github/unslothai/notebooks/blob/main/nb/Llama3.1_(8B)-GRPO.ipynb)\n", 493 | "2. Saving finetunes to Ollama. [Free notebook](https://colab.research.google.com/github/unslothai/notebooks/blob/main/nb/Llama3_(8B)-Ollama.ipynb)\n", 494 | "3. Llama 3.2 Vision finetuning - Radiography use case. [Free Colab](https://colab.research.google.com/github/unslothai/notebooks/blob/main/nb/Llama3.2_(11B)-Vision.ipynb)\n", 495 | "6. See notebooks for DPO, ORPO, Continued pretraining, conversational finetuning and more on our [documentation](https://docs.unsloth.ai/get-started/unsloth-notebooks)!\n", 496 | "\n", 497 | "
\n", 498 | " \n", 499 | " \n", 500 | " \n", 501 | "\n", 502 | " Join Discord if you need help + ⭐️ Star us on Github ⭐️\n", 503 | "
\n" 504 | ] 505 | } 506 | ], 507 | "metadata": { 508 | "accelerator": "GPU", 509 | "colab": { 510 | "gpuType": "T4", 511 | "provenance": [], 512 | "include_colab_link": true 513 | }, 514 | "kernelspec": { 515 | "display_name": ".venv", 516 | "language": "python", 517 | "name": "python3" 518 | }, 519 | "language_info": { 520 | "codemirror_mode": { 521 | "name": "ipython", 522 | "version": 3 523 | }, 524 | "file_extension": ".py", 525 | "mimetype": "text/x-python", 526 | "name": "python", 527 | "nbconvert_exporter": "python", 528 | "pygments_lexer": "ipython3", 529 | "version": "3.11.6" 530 | } 531 | }, 532 | "nbformat": 4, 533 | "nbformat_minor": 0 534 | } -------------------------------------------------------------------------------- /a.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nkyc-no-name/class2025Spring/39895637589b9d739949026ace3e87c6dd159454/a.wav -------------------------------------------------------------------------------- /a_man_in_the_house.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nkyc-no-name/class2025Spring/39895637589b9d739949026ace3e87c6dd159454/a_man_in_the_house.wav -------------------------------------------------------------------------------- /aeiou.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nkyc-no-name/class2025Spring/39895637589b9d739949026ace3e87c6dd159454/aeiou.wav -------------------------------------------------------------------------------- /clustering.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": { 6 | "colab_type": "text", 7 | "id": "view-in-github" 8 | }, 9 | "source": [ 10 | "\"Open" 11 | ] 12 | }, 13 | { 14 | "cell_type": "markdown", 15 | "metadata": { 16 | "id": "u8M1FUzv4HVg" 17 | }, 18 | "source": [ 19 | "## Loading a dataset" 20 | ] 21 | }, 22 | { 23 | "cell_type": "code", 24 | "execution_count": 25, 25 | "metadata": { 26 | "colab": { 27 | "base_uri": "https://localhost:8080/", 28 | "height": 424 29 | }, 30 | "id": "9JmnJiue4HVv", 31 | "outputId": "edc0efe4-b0f2-469a-ae4a-906e5414f63c" 32 | }, 33 | "outputs": [ 34 | { 35 | "data": { 36 | "text/html": [ 37 | "\n", 38 | "
\n", 39 | "
\n", 40 | "
\n", 41 | "\n", 54 | "\n", 55 | " \n", 56 | " \n", 57 | " \n", 58 | " \n", 59 | " \n", 60 | " \n", 61 | " \n", 62 | " \n", 63 | " \n", 64 | " \n", 65 | " \n", 66 | " \n", 67 | " \n", 68 | " \n", 69 | " \n", 70 | " \n", 71 | " \n", 72 | " \n", 73 | " \n", 74 | " \n", 75 | " \n", 76 | " \n", 77 | " \n", 78 | " \n", 79 | " \n", 80 | " \n", 81 | " \n", 82 | " \n", 83 | " \n", 84 | " \n", 85 | " \n", 86 | " \n", 87 | " \n", 88 | " \n", 89 | " \n", 90 | " \n", 91 | " \n", 92 | " \n", 93 | " \n", 94 | " \n", 95 | " \n", 96 | " \n", 97 | " \n", 98 | " \n", 99 | " \n", 100 | " \n", 101 | " \n", 102 | " \n", 103 | " \n", 104 | " \n", 105 | " \n", 106 | " \n", 107 | " \n", 108 | " \n", 109 | " \n", 110 | " \n", 111 | " \n", 112 | " \n", 113 | " \n", 114 | " \n", 115 | " \n", 116 | " \n", 117 | " \n", 118 | " \n", 119 | " \n", 120 | " \n", 121 | " \n", 122 | " \n", 123 | " \n", 124 | " \n", 125 | " \n", 126 | " \n", 127 | " \n", 128 | " \n", 129 | " \n", 130 | " \n", 131 | " \n", 132 | " \n", 133 | " \n", 134 | " \n", 135 | " \n", 136 | " \n", 137 | " \n", 138 | " \n", 139 | " \n", 140 | " \n", 141 | " \n", 142 | " \n", 143 | " \n", 144 | " \n", 145 | " \n", 146 | " \n", 147 | " \n", 148 | " \n", 149 | " \n", 150 | " \n", 151 | " \n", 152 | " \n", 153 | " \n", 154 | " \n", 155 | "
sepal_lengthsepal_widthpetal_lengthpetal_widthlabel
05.13.51.40.2Iris-setosa
14.93.01.40.2Iris-setosa
24.73.21.30.2Iris-setosa
34.63.11.50.2Iris-setosa
45.03.61.40.2Iris-setosa
..................
1456.73.05.22.3Iris-virginica
1466.32.55.01.9Iris-virginica
1476.53.05.22.0Iris-virginica
1486.23.45.42.3Iris-virginica
1495.93.05.11.8Iris-virginica
\n", 156 | "

150 rows × 5 columns

\n", 157 | "
\n", 158 | " \n", 168 | " \n", 169 | " \n", 206 | "\n", 207 | " \n", 231 | "
\n", 232 | "
\n", 233 | " " 234 | ], 235 | "text/plain": [ 236 | " sepal_length sepal_width petal_length petal_width label\n", 237 | "0 5.1 3.5 1.4 0.2 Iris-setosa\n", 238 | "1 4.9 3.0 1.4 0.2 Iris-setosa\n", 239 | "2 4.7 3.2 1.3 0.2 Iris-setosa\n", 240 | "3 4.6 3.1 1.5 0.2 Iris-setosa\n", 241 | "4 5.0 3.6 1.4 0.2 Iris-setosa\n", 242 | ".. ... ... ... ... ...\n", 243 | "145 6.7 3.0 5.2 2.3 Iris-virginica\n", 244 | "146 6.3 2.5 5.0 1.9 Iris-virginica\n", 245 | "147 6.5 3.0 5.2 2.0 Iris-virginica\n", 246 | "148 6.2 3.4 5.4 2.3 Iris-virginica\n", 247 | "149 5.9 3.0 5.1 1.8 Iris-virginica\n", 248 | "\n", 249 | "[150 rows x 5 columns]" 250 | ] 251 | }, 252 | "execution_count": 25, 253 | "metadata": {}, 254 | "output_type": "execute_result" 255 | } 256 | ], 257 | "source": [ 258 | "import pandas as pd\n", 259 | "iris = pd.read_csv('https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data', names=['sepal_length', 'sepal_width', 'petal_length', 'petal_width', 'label'])\n", 260 | "iris" 261 | ] 262 | }, 263 | { 264 | "cell_type": "code", 265 | "execution_count": 26, 266 | "metadata": { 267 | "colab": { 268 | "base_uri": "https://localhost:8080/", 269 | "height": 424 270 | }, 271 | "id": "_pEBhIzlYojp", 272 | "outputId": "dc46b10a-eb3f-420e-88c3-e4bbe05e0752" 273 | }, 274 | "outputs": [ 275 | { 276 | "data": { 277 | "text/html": [ 278 | "\n", 279 | "
\n", 280 | "
\n", 281 | "
\n", 282 | "\n", 295 | "\n", 296 | " \n", 297 | " \n", 298 | " \n", 299 | " \n", 300 | " \n", 301 | " \n", 302 | " \n", 303 | " \n", 304 | " \n", 305 | " \n", 306 | " \n", 307 | " \n", 308 | " \n", 309 | " \n", 310 | " \n", 311 | " \n", 312 | " \n", 313 | " \n", 314 | " \n", 315 | " \n", 316 | " \n", 317 | " \n", 318 | " \n", 319 | " \n", 320 | " \n", 321 | " \n", 322 | " \n", 323 | " \n", 324 | " \n", 325 | " \n", 326 | " \n", 327 | " \n", 328 | " \n", 329 | " \n", 330 | " \n", 331 | " \n", 332 | " \n", 333 | " \n", 334 | " \n", 335 | " \n", 336 | " \n", 337 | " \n", 338 | " \n", 339 | " \n", 340 | " \n", 341 | " \n", 342 | " \n", 343 | " \n", 344 | " \n", 345 | " \n", 346 | " \n", 347 | " \n", 348 | " \n", 349 | " \n", 350 | " \n", 351 | " \n", 352 | " \n", 353 | " \n", 354 | " \n", 355 | " \n", 356 | " \n", 357 | " \n", 358 | " \n", 359 | " \n", 360 | " \n", 361 | " \n", 362 | " \n", 363 | " \n", 364 | " \n", 365 | " \n", 366 | " \n", 367 | " \n", 368 | " \n", 369 | " \n", 370 | " \n", 371 | " \n", 372 | " \n", 373 | " \n", 374 | " \n", 375 | " \n", 376 | " \n", 377 | " \n", 378 | " \n", 379 | " \n", 380 | " \n", 381 | " \n", 382 | " \n", 383 | " \n", 384 | "
sepal_lengthsepal_widthpetal_lengthpetal_width
05.13.51.40.2
14.93.01.40.2
24.73.21.30.2
34.63.11.50.2
45.03.61.40.2
...............
1456.73.05.22.3
1466.32.55.01.9
1476.53.05.22.0
1486.23.45.42.3
1495.93.05.11.8
\n", 385 | "

150 rows × 4 columns

\n", 386 | "
\n", 387 | " \n", 397 | " \n", 398 | " \n", 435 | "\n", 436 | " \n", 460 | "
\n", 461 | "
\n", 462 | " " 463 | ], 464 | "text/plain": [ 465 | " sepal_length sepal_width petal_length petal_width\n", 466 | "0 5.1 3.5 1.4 0.2\n", 467 | "1 4.9 3.0 1.4 0.2\n", 468 | "2 4.7 3.2 1.3 0.2\n", 469 | "3 4.6 3.1 1.5 0.2\n", 470 | "4 5.0 3.6 1.4 0.2\n", 471 | ".. ... ... ... ...\n", 472 | "145 6.7 3.0 5.2 2.3\n", 473 | "146 6.3 2.5 5.0 1.9\n", 474 | "147 6.5 3.0 5.2 2.0\n", 475 | "148 6.2 3.4 5.4 2.3\n", 476 | "149 5.9 3.0 5.1 1.8\n", 477 | "\n", 478 | "[150 rows x 4 columns]" 479 | ] 480 | }, 481 | "execution_count": 26, 482 | "metadata": {}, 483 | "output_type": "execute_result" 484 | } 485 | ], 486 | "source": [ 487 | "X = iris.drop(['label'], axis=1)\n", 488 | "X" 489 | ] 490 | }, 491 | { 492 | "cell_type": "markdown", 493 | "metadata": { 494 | "id": "om3V-ZFw4HVu" 495 | }, 496 | "source": [ 497 | "## Comparing Algorithms" 498 | ] 499 | }, 500 | { 501 | "cell_type": "markdown", 502 | "metadata": { 503 | "id": "ydWddMsnUqx4" 504 | }, 505 | "source": [ 506 | "### K-Means" 507 | ] 508 | }, 509 | { 510 | "cell_type": "code", 511 | "execution_count": 41, 512 | "metadata": { 513 | "colab": { 514 | "base_uri": "https://localhost:8080/" 515 | }, 516 | "id": "Spo5ISoBUp02", 517 | "outputId": "40412121-810e-4ead-f5e6-8a2ef41b38fa" 518 | }, 519 | "outputs": [ 520 | { 521 | "data": { 522 | "text/plain": [ 523 | "array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n", 524 | " 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n", 525 | " 1, 1, 1, 1, 1, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", 526 | " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", 527 | " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 2, 2, 2, 0, 2, 2, 2,\n", 528 | " 2, 2, 2, 0, 0, 2, 2, 2, 2, 0, 2, 0, 2, 0, 2, 2, 0, 0, 2, 2, 2, 2,\n", 529 | " 2, 0, 2, 2, 2, 2, 0, 2, 2, 2, 0, 2, 2, 2, 0, 2, 2, 0], dtype=int32)" 530 | ] 531 | }, 532 | "execution_count": 41, 533 | "metadata": {}, 534 | "output_type": "execute_result" 535 | } 536 | ], 537 | "source": [ 538 | "from sklearn.cluster import KMeans\n", 539 | "model = KMeans(n_clusters=3)\n", 540 | "model.fit_predict(X)" 541 | ] 542 | }, 543 | { 544 | "cell_type": "markdown", 545 | "metadata": { 546 | "id": "e35GqbOOXzWq" 547 | }, 548 | "source": [ 549 | "###Gaussian Mixture Model(GMM)" 550 | ] 551 | }, 552 | { 553 | "cell_type": "code", 554 | "execution_count": 29, 555 | "metadata": { 556 | "colab": { 557 | "base_uri": "https://localhost:8080/" 558 | }, 559 | "id": "cRY2FK1H4HVx", 560 | "outputId": "5d49abb9-cfaf-42bc-eae5-01e318dda612" 561 | }, 562 | "outputs": [ 563 | { 564 | "data": { 565 | "text/plain": [ 566 | "array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n", 567 | " 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n", 568 | " 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\n", 569 | " 2, 2, 0, 2, 0, 2, 0, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2,\n", 570 | " 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", 571 | " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", 572 | " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])" 573 | ] 574 | }, 575 | "execution_count": 29, 576 | "metadata": {}, 577 | "output_type": "execute_result" 578 | } 579 | ], 580 | "source": [ 581 | "from sklearn.mixture import GaussianMixture\n", 582 | "model = GaussianMixture(n_components=3)\n", 583 | "model.fit_predict(X)" 584 | ] 585 | }, 586 | { 587 | "cell_type": "markdown", 588 | "metadata": { 589 | "id": "iincSgPb4HVx" 590 | }, 591 | "source": [ 592 | "![](https://firebasestorage.googleapis.com/v0/b/programmingwithgilbert.appspot.com/o/Videos%2FScikit%20Learn%20Tutorials%2FScikit%20Learn%20Tutorial%20%237%20-%20Clustering%20Algorithms%2FAlgorithm%20Comparison.png?alt=media&token=c71334ff-e81f-465d-8009-655fe0132017)" 593 | ] 594 | } 595 | ], 596 | "metadata": { 597 | "colab": { 598 | "authorship_tag": "ABX9TyNmMDnsPkQYGI7dd+58lVtu", 599 | "include_colab_link": true, 600 | "provenance": [] 601 | }, 602 | "kernelspec": { 603 | "display_name": "Python 3", 604 | "name": "python3" 605 | }, 606 | "language_info": { 607 | "name": "python" 608 | } 609 | }, 610 | "nbformat": 4, 611 | "nbformat_minor": 0 612 | } 613 | -------------------------------------------------------------------------------- /complex100to1000Hz.Collection: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nkyc-no-name/class2025Spring/39895637589b9d739949026ace3e87c6dd159454/complex100to1000Hz.Collection -------------------------------------------------------------------------------- /crawling(selenium).ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": { 6 | "id": "view-in-github", 7 | "colab_type": "text" 8 | }, 9 | "source": [ 10 | "\"Open" 11 | ] 12 | }, 13 | { 14 | "cell_type": "code", 15 | "execution_count": null, 16 | "metadata": { 17 | "id": "FVqnz0tcAVFM" 18 | }, 19 | "outputs": [], 20 | "source": [ 21 | "!pip install selenium" 22 | ] 23 | }, 24 | { 25 | "cell_type": "code", 26 | "execution_count": null, 27 | "metadata": { 28 | "id": "8xUALw60_lie" 29 | }, 30 | "outputs": [], 31 | "source": [ 32 | "from selenium import webdriver\n", 33 | "from selenium.webdriver.common.by import By\n", 34 | "\n", 35 | "URL = \"https://product.kyobobook.co.kr/detail/S000000620181\"\n", 36 | "\n", 37 | "options = webdriver.ChromeOptions()\n", 38 | "options.add_argument(\" --headless\")\n", 39 | "options.add_argument(\" --disable-dev-shm-usage\")\n", 40 | "options.add_argument(\" --no-sandbox\")\n", 41 | "driver = webdriver.Chrome(options=options)\n", 42 | "driver.get(URL)\n", 43 | "print(driver.title)" 44 | ] 45 | }, 46 | { 47 | "cell_type": "code", 48 | "execution_count": null, 49 | "metadata": { 50 | "id": "iU1ID2KO3dDn" 51 | }, 52 | "outputs": [], 53 | "source": [ 54 | "comment_texts = driver.find_elements(By.CLASS_NAME, 'comment_text')\n", 55 | "for tmp in comment_texts:\n", 56 | " print(tmp.text)" 57 | ] 58 | }, 59 | { 60 | "cell_type": "code", 61 | "execution_count": 13, 62 | "metadata": { 63 | "id": "VAwABAPp0Pl4" 64 | }, 65 | "outputs": [], 66 | "source": [ 67 | "btn_page = driver.find_element(By.CLASS_NAME, 'btn_page.next')\n", 68 | "\n", 69 | "overlapping_element = driver.find_element(By.CSS_SELECTOR, '#contents > div.prod_detail_footer')\n", 70 | "driver.execute_script(\"arguments[0].remove()\", overlapping_element)" 71 | ] 72 | }, 73 | { 74 | "cell_type": "code", 75 | "source": [ 76 | "from bs4 import BeautifulSoup\n", 77 | "html = driver.page_source\n", 78 | "soup = BeautifulSoup(html, 'html.parser')\n", 79 | "\n", 80 | "last_page = soup.select_one(\"#ReviewList1 > div.tab_wrap.type_sm > div.tab_content > div > div.pagination > div > a:nth-child(10)\")\n", 81 | "last_page_num = int(last_page.get_text())" 82 | ], 83 | "metadata": { 84 | "id": "ObD0ciJzv2K8" 85 | }, 86 | "execution_count": 14, 87 | "outputs": [] 88 | }, 89 | { 90 | "cell_type": "code", 91 | "source": [ 92 | "import time\n", 93 | "\n", 94 | "for n in range(last_page_num-1):\n", 95 | " btn_page.click()\n", 96 | " time.sleep(1)\n", 97 | " comment_texts = driver.find_elements(By.CLASS_NAME, 'comment_text')\n", 98 | " for tmp in comment_texts:\n", 99 | " print(tmp.text)\n", 100 | " print('===============================')\n", 101 | "\n", 102 | "driver.quit()" 103 | ], 104 | "metadata": { 105 | "id": "eD9yfRJY44zI" 106 | }, 107 | "execution_count": null, 108 | "outputs": [] 109 | } 110 | ], 111 | "metadata": { 112 | "colab": { 113 | "provenance": [], 114 | "include_colab_link": true 115 | }, 116 | "kernelspec": { 117 | "display_name": "Python 3", 118 | "name": "python3" 119 | }, 120 | "language_info": { 121 | "codemirror_mode": { 122 | "name": "ipython", 123 | "version": 3 124 | }, 125 | "file_extension": ".py", 126 | "mimetype": "text/x-python", 127 | "name": "python", 128 | "nbconvert_exporter": "python", 129 | "pygments_lexer": "ipython3", 130 | "version": "3.12.2" 131 | } 132 | }, 133 | "nbformat": 4, 134 | "nbformat_minor": 0 135 | } -------------------------------------------------------------------------------- /function.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": { 6 | "colab_type": "text", 7 | "id": "view-in-github" 8 | }, 9 | "source": [ 10 | "\"Open" 11 | ] 12 | }, 13 | { 14 | "cell_type": "code", 15 | "execution_count": null, 16 | "metadata": { 17 | "id": "hpc_mhgAye2S" 18 | }, 19 | "outputs": [], 20 | "source": [ 21 | "def add(a,b):\n", 22 | " return a+b\n", 23 | "\n", 24 | "def subtract(a,b):\n", 25 | " return a-b\n", 26 | "\n", 27 | "def multiply(a,b):\n", 28 | " return a*b\n", 29 | "\n", 30 | "def divide(a,b):\n", 31 | " return a/b" 32 | ] 33 | }, 34 | { 35 | "cell_type": "code", 36 | "execution_count": null, 37 | "metadata": { 38 | "colab": { 39 | "base_uri": "https://localhost:8080/" 40 | }, 41 | "id": "8Y4oa05Eykn4", 42 | "outputId": "7e186590-61dc-49a9-e22f-0bcb617fd3b7" 43 | }, 44 | "outputs": [ 45 | { 46 | "name": "stdout", 47 | "output_type": "stream", 48 | "text": [ 49 | "3\n", 50 | "-1\n", 51 | "2\n", 52 | "0.5\n" 53 | ] 54 | } 55 | ], 56 | "source": [ 57 | "c = add(1,2); print(c)\n", 58 | "c = subtract(1,2); print(c)\n", 59 | "c = multiply(1,2); print(c)\n", 60 | "c = divide(1,2); print(c)" 61 | ] 62 | } 63 | ], 64 | "metadata": { 65 | "colab": { 66 | "authorship_tag": "ABX9TyNIN+fAOH3niQgAxlxuusQz", 67 | "include_colab_link": true, 68 | "name": "function.ipynb", 69 | "provenance": [] 70 | }, 71 | "kernelspec": { 72 | "display_name": "Python 3", 73 | "name": "python3" 74 | } 75 | }, 76 | "nbformat": 4, 77 | "nbformat_minor": 0 78 | } 79 | -------------------------------------------------------------------------------- /guitar_A_note(220Hz).wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nkyc-no-name/class2025Spring/39895637589b9d739949026ace3e87c6dd159454/guitar_A_note(220Hz).wav -------------------------------------------------------------------------------- /import.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": { 6 | "colab_type": "text", 7 | "id": "view-in-github" 8 | }, 9 | "source": [ 10 | "\"Open" 11 | ] 12 | }, 13 | { 14 | "cell_type": "code", 15 | "execution_count": null, 16 | "metadata": { 17 | "id": "JXicrkYOzPRo" 18 | }, 19 | "outputs": [], 20 | "source": [ 21 | "import numpy as np\n", 22 | "n = np.random.randn(100)" 23 | ] 24 | }, 25 | { 26 | "cell_type": "code", 27 | "execution_count": null, 28 | "metadata": { 29 | "colab": { 30 | "base_uri": "https://localhost:8080/", 31 | "height": 350 32 | }, 33 | "id": "oKT4vn4MwyLA", 34 | "outputId": "2b0aeb6e-b426-450b-964c-4374a09dfeb0" 35 | }, 36 | "outputs": [ 37 | { 38 | "data": { 39 | "text/plain": [ 40 | "(array([ 3., 4., 9., 11., 26., 19., 16., 10., 1., 1.]),\n", 41 | " array([-2.51307585, -1.99199295, -1.47091005, -0.94982715, -0.42874425,\n", 42 | " 0.09233865, 0.61342155, 1.13450445, 1.65558734, 2.17667024,\n", 43 | " 2.69775314]),\n", 44 | " )" 45 | ] 46 | }, 47 | "execution_count": 8, 48 | "metadata": {}, 49 | "output_type": "execute_result" 50 | }, 51 | { 52 | "data": { 53 | "image/png": "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", 54 | "text/plain": [ 55 | "
" 56 | ] 57 | }, 58 | "metadata": { 59 | "needs_background": "light" 60 | }, 61 | "output_type": "display_data" 62 | } 63 | ], 64 | "source": [ 65 | "import matplotlib\n", 66 | "matplotlib.pyplot.hist(n)" 67 | ] 68 | }, 69 | { 70 | "cell_type": "code", 71 | "execution_count": null, 72 | "metadata": { 73 | "colab": { 74 | "base_uri": "https://localhost:8080/", 75 | "height": 350 76 | }, 77 | "id": "zQJ4LnbA-Hvz", 78 | "outputId": "bec7eeff-8cae-4c3d-f090-eaf78cdb5fa9" 79 | }, 80 | "outputs": [ 81 | { 82 | "data": { 83 | "text/plain": [ 84 | "(array([ 4., 4., 4., 8., 19., 21., 16., 13., 6., 5.]),\n", 85 | " array([-2.54804234, -2.0585933 , -1.56914426, -1.07969522, -0.59024618,\n", 86 | " -0.10079714, 0.3886519 , 0.87810094, 1.36754998, 1.85699902,\n", 87 | " 2.34644806]),\n", 88 | " )" 89 | ] 90 | }, 91 | "execution_count": 4, 92 | "metadata": {}, 93 | "output_type": "execute_result" 94 | }, 95 | { 96 | "data": { 97 | "image/png": "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", 98 | "text/plain": [ 99 | "
" 100 | ] 101 | }, 102 | "metadata": { 103 | "needs_background": "light" 104 | }, 105 | "output_type": "display_data" 106 | } 107 | ], 108 | "source": [ 109 | "import matplotlib.pyplot\n", 110 | "matplotlib.pyplot.hist(n)" 111 | ] 112 | }, 113 | { 114 | "cell_type": "code", 115 | "execution_count": null, 116 | "metadata": { 117 | "colab": { 118 | "base_uri": "https://localhost:8080/", 119 | "height": 350 120 | }, 121 | "id": "AWU6awi53c07", 122 | "outputId": "9b49fb47-6bac-4887-8815-e5ed130f6c56" 123 | }, 124 | "outputs": [ 125 | { 126 | "data": { 127 | "text/plain": [ 128 | "(array([ 4., 4., 4., 8., 19., 21., 16., 13., 6., 5.]),\n", 129 | " array([-2.54804234, -2.0585933 , -1.56914426, -1.07969522, -0.59024618,\n", 130 | " -0.10079714, 0.3886519 , 0.87810094, 1.36754998, 1.85699902,\n", 131 | " 2.34644806]),\n", 132 | " )" 133 | ] 134 | }, 135 | "execution_count": 5, 136 | "metadata": {}, 137 | "output_type": "execute_result" 138 | }, 139 | { 140 | "data": { 141 | "image/png": "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", 142 | "text/plain": [ 143 | "
" 144 | ] 145 | }, 146 | "metadata": { 147 | "needs_background": "light" 148 | }, 149 | "output_type": "display_data" 150 | } 151 | ], 152 | "source": [ 153 | "import matplotlib.pyplot as plt\n", 154 | "plt.hist(n)" 155 | ] 156 | }, 157 | { 158 | "cell_type": "markdown", 159 | "metadata": { 160 | "id": "v1zA2xRWzpdu" 161 | }, 162 | "source": [ 163 | "## from import를 쓰면 import as처럼 축약해서 부를 수 있는 효과" 164 | ] 165 | }, 166 | { 167 | "cell_type": "code", 168 | "execution_count": null, 169 | "metadata": { 170 | "colab": { 171 | "base_uri": "https://localhost:8080/", 172 | "height": 350 173 | }, 174 | "id": "moIjn3Kv-Hqy", 175 | "outputId": "4b1e3880-1576-4b63-b4d0-192704221a8d" 176 | }, 177 | "outputs": [ 178 | { 179 | "data": { 180 | "text/plain": [ 181 | "(array([ 3., 4., 9., 11., 26., 19., 16., 10., 1., 1.]),\n", 182 | " array([-2.51307585, -1.99199295, -1.47091005, -0.94982715, -0.42874425,\n", 183 | " 0.09233865, 0.61342155, 1.13450445, 1.65558734, 2.17667024,\n", 184 | " 2.69775314]),\n", 185 | " )" 186 | ] 187 | }, 188 | "execution_count": 11, 189 | "metadata": {}, 190 | "output_type": "execute_result" 191 | }, 192 | { 193 | "data": { 194 | "image/png": "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", 195 | "text/plain": [ 196 | "
" 197 | ] 198 | }, 199 | "metadata": { 200 | "needs_background": "light" 201 | }, 202 | "output_type": "display_data" 203 | } 204 | ], 205 | "source": [ 206 | "from matplotlib import pyplot\n", 207 | "pyplot.hist(n)" 208 | ] 209 | }, 210 | { 211 | "cell_type": "code", 212 | "execution_count": null, 213 | "metadata": { 214 | "colab": { 215 | "base_uri": "https://localhost:8080/", 216 | "height": 350 217 | }, 218 | "id": "ORo259i7_Uqi", 219 | "outputId": "8faa9ebd-66ff-4f86-e588-f114023e649d" 220 | }, 221 | "outputs": [ 222 | { 223 | "data": { 224 | "text/plain": [ 225 | "(array([ 3., 4., 9., 11., 26., 19., 16., 10., 1., 1.]),\n", 226 | " array([-2.51307585, -1.99199295, -1.47091005, -0.94982715, -0.42874425,\n", 227 | " 0.09233865, 0.61342155, 1.13450445, 1.65558734, 2.17667024,\n", 228 | " 2.69775314]),\n", 229 | " )" 230 | ] 231 | }, 232 | "execution_count": 14, 233 | "metadata": {}, 234 | "output_type": "execute_result" 235 | }, 236 | { 237 | "data": { 238 | "image/png": "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", 239 | "text/plain": [ 240 | "
" 241 | ] 242 | }, 243 | "metadata": { 244 | "needs_background": "light" 245 | }, 246 | "output_type": "display_data" 247 | } 248 | ], 249 | "source": [ 250 | "from matplotlib.pyplot import hist\n", 251 | "hist(n)" 252 | ] 253 | } 254 | ], 255 | "metadata": { 256 | "colab": { 257 | "authorship_tag": "ABX9TyMFMvQMVl0NnE6plZo3NTbg", 258 | "include_colab_link": true, 259 | "name": "import.ipynb", 260 | "provenance": [] 261 | }, 262 | "kernelspec": { 263 | "display_name": "Python 3", 264 | "name": "python3" 265 | }, 266 | "language_info": { 267 | "name": "python" 268 | } 269 | }, 270 | "nbformat": 4, 271 | "nbformat_minor": 0 272 | } 273 | -------------------------------------------------------------------------------- /nlp.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "nbformat": 4, 3 | "nbformat_minor": 0, 4 | "metadata": { 5 | "kernelspec": { 6 | "display_name": "Python 3", 7 | "language": "python", 8 | "name": "python3" 9 | }, 10 | "language_info": { 11 | "codemirror_mode": { 12 | "name": "ipython", 13 | "version": 3 14 | }, 15 | "file_extension": ".py", 16 | "mimetype": "text/x-python", 17 | "name": "python", 18 | "nbconvert_exporter": "python", 19 | "pygments_lexer": "ipython3", 20 | "version": "3.7.1" 21 | }, 22 | "colab": { 23 | "name": "nlp.ipynb", 24 | "provenance": [], 25 | "include_colab_link": true 26 | } 27 | }, 28 | "cells": [ 29 | { 30 | "cell_type": "markdown", 31 | "metadata": { 32 | "id": "view-in-github", 33 | "colab_type": "text" 34 | }, 35 | "source": [ 36 | "\"Open" 37 | ] 38 | }, 39 | { 40 | "cell_type": "markdown", 41 | "metadata": { 42 | "id": "ltUO0sYwyGfU" 43 | }, 44 | "source": [ 45 | "### Tokenization" 46 | ] 47 | }, 48 | { 49 | "cell_type": "code", 50 | "metadata": { 51 | "id": "di6xZ08xsgO7" 52 | }, 53 | "source": [ 54 | "import nltk" 55 | ], 56 | "execution_count": 1, 57 | "outputs": [] 58 | }, 59 | { 60 | "cell_type": "code", 61 | "metadata": { 62 | "id": "tbHEyyNHntcZ" 63 | }, 64 | "source": [ 65 | "text = 'Here’s to the crazy ones, the misfits, the rebels, the troublemakers, the round pegs in the square holes. \\\n", 66 | "The ones who see things differently — they’re not fond of rules. \\\n", 67 | "You can quote them, disagree with them, glorify or vilify them, \\\n", 68 | "but the only thing you can’t do is ignore them because they change things. \\\n", 69 | "They push the human race forward, and while some may see them as the crazy ones, we see genius, \\\n", 70 | "because the ones who are crazy enough to think that they can change the world, are the ones who do.'" 71 | ], 72 | "execution_count": 5, 73 | "outputs": [] 74 | }, 75 | { 76 | "cell_type": "code", 77 | "metadata": { 78 | "id": "45jV2UYs1GEC" 79 | }, 80 | "source": [ 81 | "text.split()" 82 | ], 83 | "execution_count": null, 84 | "outputs": [] 85 | }, 86 | { 87 | "cell_type": "code", 88 | "metadata": { 89 | "id": "NFR-cRaahTPy" 90 | }, 91 | "source": [ 92 | "' '.join(text.split())" 93 | ], 94 | "execution_count": null, 95 | "outputs": [] 96 | }, 97 | { 98 | "cell_type": "code", 99 | "metadata": { 100 | "id": "Gq_lPZMHntcb", 101 | "colab": { 102 | "base_uri": "https://localhost:8080/" 103 | }, 104 | "outputId": "9139dccf-5d49-485c-f61b-8df6e9e6879f" 105 | }, 106 | "source": [ 107 | "from nltk.tokenize import word_tokenize\n", 108 | "nltk.download('punkt_tab')\n", 109 | "words = word_tokenize(text)" 110 | ], 111 | "execution_count": 8, 112 | "outputs": [ 113 | { 114 | "output_type": "stream", 115 | "name": "stderr", 116 | "text": [ 117 | "[nltk_data] Downloading package punkt_tab to /root/nltk_data...\n", 118 | "[nltk_data] Unzipping tokenizers/punkt_tab.zip.\n" 119 | ] 120 | } 121 | ] 122 | }, 123 | { 124 | "cell_type": "code", 125 | "metadata": { 126 | "id": "RC1fe7nWF6wN" 127 | }, 128 | "source": [ 129 | "from nltk.tokenize import RegexpTokenizer\n", 130 | "retokenize = RegexpTokenizer(\"[\\w]+\")\n", 131 | "words = retokenize.tokenize(text)" 132 | ], 133 | "execution_count": null, 134 | "outputs": [] 135 | }, 136 | { 137 | "cell_type": "markdown", 138 | "metadata": { 139 | "id": "Pc42Plwx56YS" 140 | }, 141 | "source": [ 142 | "### Normalization \n", 143 | "Stemming: am → am, the going → the go, having → hav \n", 144 | "Lemmatization: am → be, the going → the going, having → have" 145 | ] 146 | }, 147 | { 148 | "cell_type": "code", 149 | "metadata": { 150 | "id": "lsFfoAr259Fs" 151 | }, 152 | "source": [ 153 | "from nltk.stem import PorterStemmer\n", 154 | "stemmer = PorterStemmer()\n", 155 | "[stemmer.stem(w) for w in words]" 156 | ], 157 | "execution_count": null, 158 | "outputs": [] 159 | }, 160 | { 161 | "cell_type": "code", 162 | "metadata": { 163 | "id": "HkbgNiPd8BdL" 164 | }, 165 | "source": [ 166 | "from nltk.stem import LancasterStemmer\n", 167 | "stemmer = LancasterStemmer()\n", 168 | "[stemmer.stem(w) for w in words]" 169 | ], 170 | "execution_count": null, 171 | "outputs": [] 172 | }, 173 | { 174 | "cell_type": "code", 175 | "metadata": { 176 | "id": "VIIh5pYd8f74" 177 | }, 178 | "source": [ 179 | "from nltk.stem import WordNetLemmatizer\n", 180 | "nltk.download('wordnet')\n", 181 | "lemmatizer = WordNetLemmatizer()\n", 182 | "[lemmatizer.lemmatize(w) for w in words]" 183 | ], 184 | "execution_count": null, 185 | "outputs": [] 186 | }, 187 | { 188 | "cell_type": "markdown", 189 | "metadata": { 190 | "id": "RPgIzrjm8_1N" 191 | }, 192 | "source": [ 193 | "### Stopword" 194 | ] 195 | }, 196 | { 197 | "cell_type": "code", 198 | "metadata": { 199 | "id": "WdM2FaN8ntcc" 200 | }, 201 | "source": [ 202 | "from nltk.corpus import stopwords\n", 203 | "nltk.download('stopwords')\n", 204 | "print(words)\n", 205 | "words = [w for w in words if not w in stopwords.words('english')]\n", 206 | "print(words)" 207 | ], 208 | "execution_count": null, 209 | "outputs": [] 210 | }, 211 | { 212 | "cell_type": "markdown", 213 | "metadata": { 214 | "id": "OmwXTL0UA5aw" 215 | }, 216 | "source": [ 217 | "### Collocation, Concordance" 218 | ] 219 | }, 220 | { 221 | "cell_type": "code", 222 | "metadata": { 223 | "id": "Fll4ygxNA3OJ" 224 | }, 225 | "source": [ 226 | "nltk.download('gutenberg')\n", 227 | "text = nltk.corpus.gutenberg.raw('austen-emma.txt')\n", 228 | "words = retokenize.tokenize(text)" 229 | ], 230 | "execution_count": null, 231 | "outputs": [] 232 | }, 233 | { 234 | "cell_type": "code", 235 | "metadata": { 236 | "id": "NqVXlhIrAtmf" 237 | }, 238 | "source": [ 239 | "nltk.Text(words).collocations()" 240 | ], 241 | "execution_count": null, 242 | "outputs": [] 243 | }, 244 | { 245 | "cell_type": "code", 246 | "metadata": { 247 | "id": "Aq0wiutwA_au" 248 | }, 249 | "source": [ 250 | "nltk.Text(words).concordance('Emma', 79, 10)" 251 | ], 252 | "execution_count": null, 253 | "outputs": [] 254 | }, 255 | { 256 | "cell_type": "code", 257 | "metadata": { 258 | "id": "hIAIhXvP_BjU" 259 | }, 260 | "source": [ 261 | "nltk.Text(words).dispersion_plot([\"Emma\", \"Knightley\", \"Frank\", \"Jane\", \"Harriet\", \"Robert\"])" 262 | ], 263 | "execution_count": null, 264 | "outputs": [] 265 | }, 266 | { 267 | "cell_type": "code", 268 | "metadata": { 269 | "id": "lWYZOFxq_ex2" 270 | }, 271 | "source": [ 272 | "nltk.Text(words).similar(\"Emma\")" 273 | ], 274 | "execution_count": null, 275 | "outputs": [] 276 | }, 277 | { 278 | "cell_type": "code", 279 | "metadata": { 280 | "id": "ZihiVSBK_vy7" 281 | }, 282 | "source": [ 283 | "nltk.Text(words).common_contexts([\"Emma\", \"she\"])" 284 | ], 285 | "execution_count": null, 286 | "outputs": [] 287 | }, 288 | { 289 | "cell_type": "markdown", 290 | "metadata": { 291 | "id": "A8TrCE14vGcT" 292 | }, 293 | "source": [ 294 | "### Frequency distribution, Frequency plot" 295 | ] 296 | }, 297 | { 298 | "cell_type": "code", 299 | "metadata": { 300 | "id": "UdY3m6zSBHic" 301 | }, 302 | "source": [ 303 | "fd = nltk.FreqDist(words).most_common(20)" 304 | ], 305 | "execution_count": null, 306 | "outputs": [] 307 | }, 308 | { 309 | "cell_type": "code", 310 | "metadata": { 311 | "id": "1tpZThNV-ftv" 312 | }, 313 | "source": [ 314 | "nltk.Text(words).plot(20)" 315 | ], 316 | "execution_count": null, 317 | "outputs": [] 318 | }, 319 | { 320 | "cell_type": "markdown", 321 | "metadata": { 322 | "id": "JSOSzIovvKvE" 323 | }, 324 | "source": [ 325 | "### Dictionary" 326 | ] 327 | }, 328 | { 329 | "cell_type": "code", 330 | "metadata": { 331 | "id": "UIcAOAvqntce" 332 | }, 333 | "source": [ 334 | "nltk.download('words')\n", 335 | "nltk.corpus.words.words('en')[-20:-1]" 336 | ], 337 | "execution_count": null, 338 | "outputs": [] 339 | }, 340 | { 341 | "cell_type": "code", 342 | "metadata": { 343 | "id": "GjAy_Ju7ntce" 344 | }, 345 | "source": [ 346 | "len(nltk.corpus.words.words('en'))" 347 | ], 348 | "execution_count": null, 349 | "outputs": [] 350 | }, 351 | { 352 | "cell_type": "markdown", 353 | "metadata": { 354 | "id": "VrVGVc0X9j7r" 355 | }, 356 | "source": [ 357 | "### Regular expression" 358 | ] 359 | }, 360 | { 361 | "cell_type": "code", 362 | "metadata": { 363 | "id": "cQKgoQFI_cG-" 364 | }, 365 | "source": [ 366 | "import re" 367 | ], 368 | "execution_count": null, 369 | "outputs": [] 370 | }, 371 | { 372 | "cell_type": "code", 373 | "source": [ 374 | "out = re.search('w', 'Words, words, words.')\n", 375 | "print(out)\n", 376 | "print(out[0])" 377 | ], 378 | "metadata": { 379 | "id": "ypDm1tB7fsRf" 380 | }, 381 | "execution_count": null, 382 | "outputs": [] 383 | }, 384 | { 385 | "cell_type": "code", 386 | "source": [ 387 | "out = re.search('V', 'Words, words, words.')\n", 388 | "print(out)" 389 | ], 390 | "metadata": { 391 | "id": "_UFxn0pDG6AI" 392 | }, 393 | "execution_count": null, 394 | "outputs": [] 395 | }, 396 | { 397 | "cell_type": "code", 398 | "source": [ 399 | "out = re.findall('w', 'Words, words, words.')\n", 400 | "print(out)" 401 | ], 402 | "metadata": { 403 | "id": "m8x2juS2G-VI" 404 | }, 405 | "execution_count": null, 406 | "outputs": [] 407 | }, 408 | { 409 | "cell_type": "code", 410 | "source": [ 411 | "out = re.findall('V', 'Words, words, words.')\n", 412 | "print(out)" 413 | ], 414 | "metadata": { 415 | "id": "Q7St_KyzHFpY" 416 | }, 417 | "execution_count": null, 418 | "outputs": [] 419 | }, 420 | { 421 | "cell_type": "code", 422 | "source": [ 423 | "out = re.sub('w', 'V', 'Words, words, words.')\n", 424 | "print(out)" 425 | ], 426 | "metadata": { 427 | "id": "_0yzHS5zHLV8" 428 | }, 429 | "execution_count": null, 430 | "outputs": [] 431 | }, 432 | { 433 | "cell_type": "code", 434 | "metadata": { 435 | "id": "7U2pS-NL9p38" 436 | }, 437 | "source": [ 438 | "''' Basic Regular Expression Meta-Characters, Including Wildcards, Ranges and Closures\n", 439 | "\n", 440 | ".\t Wildcard, matches any character\n", 441 | "^abc\t Matches some pattern abc at the start of a string\n", 442 | "abc$\t Matches some pattern abc at the end of a string\n", 443 | "[abc]\t Matches one of a set of characters\n", 444 | "[^abc] Matches anything but a set of characters\n", 445 | "[A-Z0-9]\tMatches one of a range of characters\n", 446 | "ed|ing|s\tMatches one of the specified strings (disjunction)\n", 447 | "*\t Zero or more of previous item, e.g. a*, [a-z]* (also known as Kleene Closure)\n", 448 | "+\t One or more of previous item, e.g. a+, [a-z]+\n", 449 | "?\t Zero or one of the previous item (i.e. optional), e.g. a?, [a-z]?\n", 450 | "{n}\t Exactly n repeats where n is a non-negative integer, e.g. a{3}\n", 451 | "{n,}\t At least n repeats, e.g. a{5,}\n", 452 | "{,n}\t No more than n repeats, e.g. a{4,}\n", 453 | "{m,n}\t At least m and no more than n repeats, e.g. a{3,5}\n", 454 | "a(b|c)+\t Parentheses that indicate the scope of the operators\n", 455 | "(...) Matches whatever regular expression is inside the parentheses (capturing)\n", 456 | "\\d\n", 457 | "Matches any decimal digit; this is equivalent to the class [0-9].\n", 458 | "\\D\n", 459 | "Matches any non-digit character; this is equivalent to the class [^0-9].\n", 460 | "\\s\n", 461 | "Matches any whitespace character; this is equivalent to the class [ \\t\\n\\r\\f\\v].\n", 462 | "\\S\n", 463 | "Matches any non-whitespace character; this is equivalent to the class [^ \\t\\n\\r\\f\\v].\n", 464 | "\\w\n", 465 | "Matches any alphanumeric character; this is equivalent to the class [a-zA-Z0-9_].\n", 466 | "\\W\n", 467 | "Matches any non-alphanumeric character; this is equivalent to the class [^a-zA-Z0-9_].\n", 468 | "\n", 469 | "'''" 470 | ], 471 | "execution_count": null, 472 | "outputs": [] 473 | }, 474 | { 475 | "cell_type": "code", 476 | "metadata": { 477 | "id": "sp3_Dm9Q_tNQ" 478 | }, 479 | "source": [ 480 | "engdict = nltk.corpus.words.words('en')\n", 481 | "\n", 482 | "result = [w for w in engdict if re.search('ed$', w)]\n", 483 | "# result = [w for w in engdict if re.search('^..j..t..$', w)]\n", 484 | "# result = [w for w in engdict if re.search('^[ghi][mno][jlk][def]$', w)]\n", 485 | "# result = [w for w in engdict if re.search('^[ah]+$', w)][:10]\n", 486 | "print(result[:10])" 487 | ], 488 | "execution_count": null, 489 | "outputs": [] 490 | }, 491 | { 492 | "cell_type": "code", 493 | "metadata": { 494 | "id": "B1a5mQYj4hwn" 495 | }, 496 | "source": [ 497 | "nltk.download('treebank')\n", 498 | "wsj = nltk.corpus.treebank.words()\n", 499 | "\n", 500 | "result = [w for w in wsj if re.search('(ed|ing)$', w)]\n", 501 | "# result = [w for w in wsj if re.search('^[0-9]+\\.[0-9]+$', w)]\n", 502 | "# result = [w for w in wsj if re.search('^[A-Z]+\\$$', w)]\n", 503 | "# result = [w for w in wsj if re.search('^[0-9]{4}$', w)]\n", 504 | "# result = [w for w in wsj if re.search('^[0-9]+-[a-z]{3,5}$', w)]\n", 505 | "# result = [w for w in wsj if re.search('^[a-z]{5,}-[a-z]{2,3}-[a-z]{,6}$', w)]\n", 506 | "\n", 507 | "result = sorted(set(result))\n", 508 | "print(result[:10])" 509 | ], 510 | "execution_count": null, 511 | "outputs": [] 512 | }, 513 | { 514 | "cell_type": "code", 515 | "source": [ 516 | "''' lookaround\n", 517 | "x(?=y) Matches \"x\" only if \"x\" is followed by \"y\"\n", 518 | "x(?!y) Matches \"x\" only if \"x\" is not followed by \"y\"\n", 519 | "(?<=y)x Matches \"x\" only if \"x\" is preceded by \"y\"\n", 520 | "(?\"Open" 11 | ] 12 | }, 13 | { 14 | "cell_type": "markdown", 15 | "metadata": { 16 | "id": "JcCdLoe_4bY7" 17 | }, 18 | "source": [ 19 | "### create nd arrays (≈matrices)" 20 | ] 21 | }, 22 | { 23 | "cell_type": "code", 24 | "execution_count": null, 25 | "metadata": { 26 | "id": "5ap7xyofShBB" 27 | }, 28 | "outputs": [], 29 | "source": [ 30 | "import numpy as np" 31 | ] 32 | }, 33 | { 34 | "cell_type": "code", 35 | "execution_count": null, 36 | "metadata": { 37 | "colab": { 38 | "base_uri": "https://localhost:8080/" 39 | }, 40 | "id": "2rqpSPZCShBC", 41 | "outputId": "8a4d14a6-b816-432a-caae-902c8c640f33" 42 | }, 43 | "outputs": [ 44 | { 45 | "name": "stdout", 46 | "output_type": "stream", 47 | "text": [ 48 | "[1 2 3]\n", 49 | "\n", 50 | "(3,)\n" 51 | ] 52 | } 53 | ], 54 | "source": [ 55 | "x = np.array([1,2,3])\n", 56 | "print(x)\n", 57 | "print(type(x))\n", 58 | "print(x.shape)" 59 | ] 60 | }, 61 | { 62 | "cell_type": "code", 63 | "execution_count": null, 64 | "metadata": { 65 | "colab": { 66 | "base_uri": "https://localhost:8080/" 67 | }, 68 | "id": "EjC88C75ShBC", 69 | "outputId": "7143e4dd-2864-4b57-855e-56eb92a6bd75" 70 | }, 71 | "outputs": [ 72 | { 73 | "name": "stdout", 74 | "output_type": "stream", 75 | "text": [ 76 | "[0 2 4 6 8]\n", 77 | "\n", 78 | "(5,)\n" 79 | ] 80 | } 81 | ], 82 | "source": [ 83 | "x = np.arange(0,10,2)\n", 84 | "print(x)\n", 85 | "print(type(x))\n", 86 | "print(x.shape)" 87 | ] 88 | }, 89 | { 90 | "cell_type": "code", 91 | "execution_count": null, 92 | "metadata": { 93 | "colab": { 94 | "base_uri": "https://localhost:8080/" 95 | }, 96 | "id": "-MwkCEjTShBC", 97 | "outputId": "11427674-886c-4f82-ca48-a1465f53223e" 98 | }, 99 | "outputs": [ 100 | { 101 | "name": "stdout", 102 | "output_type": "stream", 103 | "text": [ 104 | "[ 0. 2. 4. 6. 8. 10.]\n", 105 | "\n", 106 | "(6,)\n" 107 | ] 108 | } 109 | ], 110 | "source": [ 111 | "x = np.linspace(0,10,6)\n", 112 | "print(x)\n", 113 | "print(type(x))\n", 114 | "print(x.shape)" 115 | ] 116 | }, 117 | { 118 | "cell_type": "code", 119 | "execution_count": null, 120 | "metadata": { 121 | "colab": { 122 | "base_uri": "https://localhost:8080/" 123 | }, 124 | "id": "tjk79SQ27fNv", 125 | "outputId": "3ff3368b-6bb1-4664-933e-8504613780b1" 126 | }, 127 | "outputs": [ 128 | { 129 | "name": "stdout", 130 | "output_type": "stream", 131 | "text": [ 132 | "[[1 2 3]\n", 133 | " [4 5 6]]\n", 134 | "\n", 135 | "(2, 3)\n" 136 | ] 137 | } 138 | ], 139 | "source": [ 140 | "x = np.array([[1,2,3], [4,5,6]])\n", 141 | "print(x)\n", 142 | "print(type(x))\n", 143 | "print(x.shape)" 144 | ] 145 | }, 146 | { 147 | "cell_type": "code", 148 | "execution_count": null, 149 | "metadata": { 150 | "colab": { 151 | "base_uri": "https://localhost:8080/" 152 | }, 153 | "id": "C1ogg6iZ7yir", 154 | "outputId": "baf27f4e-10a7-40bb-82f4-bf470d8de90c" 155 | }, 156 | "outputs": [ 157 | { 158 | "name": "stdout", 159 | "output_type": "stream", 160 | "text": [ 161 | "[[[ 1 2 3]\n", 162 | " [ 4 5 6]]\n", 163 | "\n", 164 | " [[ 7 8 9]\n", 165 | " [10 11 12]]]\n", 166 | "\n", 167 | "(2, 2, 3)\n" 168 | ] 169 | } 170 | ], 171 | "source": [ 172 | "x = np.array([[[1,2,3], [4,5,6]], [[7,8,9], [10,11,12]]])\n", 173 | "print(x)\n", 174 | "print(type(x))\n", 175 | "print(x.shape)" 176 | ] 177 | }, 178 | { 179 | "cell_type": "code", 180 | "execution_count": null, 181 | "metadata": { 182 | "colab": { 183 | "base_uri": "https://localhost:8080/" 184 | }, 185 | "id": "efgeNHtD8ZlT", 186 | "outputId": "047fb9dd-8c90-4dbf-9f12-35123bed1052" 187 | }, 188 | "outputs": [ 189 | { 190 | "name": "stdout", 191 | "output_type": "stream", 192 | "text": [ 193 | "[[[1. 1. 1.]\n", 194 | " [1. 1. 1.]]\n", 195 | "\n", 196 | " [[1. 1. 1.]\n", 197 | " [1. 1. 1.]]]\n", 198 | "\n", 199 | "(2, 2, 3)\n" 200 | ] 201 | } 202 | ], 203 | "source": [ 204 | "x = np.ones([2, 2, 3])\n", 205 | "print(x)\n", 206 | "print(type(x))\n", 207 | "print(x.shape)" 208 | ] 209 | }, 210 | { 211 | "cell_type": "code", 212 | "execution_count": null, 213 | "metadata": { 214 | "colab": { 215 | "base_uri": "https://localhost:8080/" 216 | }, 217 | "id": "b_F-ccY08zzl", 218 | "outputId": "d56dd759-bbd1-48d5-d208-4a2084fe1cec" 219 | }, 220 | "outputs": [ 221 | { 222 | "name": "stdout", 223 | "output_type": "stream", 224 | "text": [ 225 | "[[[0. 0. 0.]\n", 226 | " [0. 0. 0.]]\n", 227 | "\n", 228 | " [[0. 0. 0.]\n", 229 | " [0. 0. 0.]]]\n", 230 | "\n", 231 | "(2, 2, 3)\n" 232 | ] 233 | }, 234 | { 235 | "data": { 236 | "text/plain": [ 237 | "array([[[0., 0.],\n", 238 | " [0., 0.]],\n", 239 | "\n", 240 | " [[0., 0.],\n", 241 | " [0., 0.]],\n", 242 | "\n", 243 | " [[0., 0.],\n", 244 | " [0., 0.]]])" 245 | ] 246 | }, 247 | "execution_count": 27, 248 | "metadata": {}, 249 | "output_type": "execute_result" 250 | } 251 | ], 252 | "source": [ 253 | "x = np.zeros([2, 2, 3])\n", 254 | "print(x)\n", 255 | "print(type(x))\n", 256 | "print(x.shape)\n", 257 | "x.reshape(3,2,2)" 258 | ] 259 | }, 260 | { 261 | "cell_type": "markdown", 262 | "metadata": { 263 | "id": "0hQuDJ5g9gpE" 264 | }, 265 | "source": [ 266 | "### create random numbers" 267 | ] 268 | }, 269 | { 270 | "cell_type": "code", 271 | "execution_count": null, 272 | "metadata": { 273 | "colab": { 274 | "base_uri": "https://localhost:8080/" 275 | }, 276 | "id": "pCVnElBgan70", 277 | "outputId": "b06de733-6380-4b28-870b-61ddb453ad8a" 278 | }, 279 | "outputs": [ 280 | { 281 | "data": { 282 | "text/plain": [ 283 | "array([[[ 0.28610219, -0.7264868 , -0.50719279, 1.04473795],\n", 284 | " [-2.6269445 , 0.80373735, -3.94639222, -0.11259909],\n", 285 | " [-0.271832 , -1.03545502, -0.11481238, -0.80041025]],\n", 286 | "\n", 287 | " [[-0.94959226, 1.11390672, -0.47629241, -1.43499953],\n", 288 | " [ 1.01427831, 0.93052177, -0.51619177, 1.99354224],\n", 289 | " [-0.68265827, 0.97492243, -0.33173391, 0.0293543 ]]])" 290 | ] 291 | }, 292 | "execution_count": 5, 293 | "metadata": {}, 294 | "output_type": "execute_result" 295 | } 296 | ], 297 | "source": [ 298 | "np.random.normal(0, 1, [2,3,4])" 299 | ] 300 | }, 301 | { 302 | "cell_type": "code", 303 | "execution_count": null, 304 | "metadata": { 305 | "id": "QRatmkx79otL" 306 | }, 307 | "outputs": [], 308 | "source": [ 309 | "import matplotlib.pyplot as plt" 310 | ] 311 | }, 312 | { 313 | "cell_type": "code", 314 | "execution_count": null, 315 | "metadata": { 316 | "colab": { 317 | "base_uri": "https://localhost:8080/", 318 | "height": 775 319 | }, 320 | "id": "z1oOAB6dShBD", 321 | "outputId": "db329362-279b-4166-f67a-c2d40d28a0a5" 322 | }, 323 | "outputs": [ 324 | { 325 | "name": "stdout", 326 | "output_type": "stream", 327 | "text": [ 328 | "[-1.30410375e+00 2.81304056e-01 -6.68872336e-01 -1.64063589e-01\n", 329 | " -1.22158374e+00 -1.04653440e+00 -1.60460987e-01 7.24631153e-01\n", 330 | " 1.66127871e-01 -7.27988751e-01 1.63277291e-01 5.09236054e-01\n", 331 | " -1.98943416e-01 -1.46600112e+00 3.33479774e-01 1.60454386e-02\n", 332 | " -8.55730740e-02 -5.11190740e-01 -1.08187184e+00 -1.81470665e+00\n", 333 | " 9.02654879e-01 2.61542981e+00 -9.61451307e-01 -3.76245505e-01\n", 334 | " 1.10573440e+00 -2.90233466e-01 9.83471186e-01 -9.17783309e-01\n", 335 | " -6.85692679e-01 6.80350119e-01 3.02418935e-01 -6.67165338e-01\n", 336 | " -1.13758564e+00 5.51581315e-01 4.08377252e-01 2.41734447e-01\n", 337 | " -5.31870253e-01 2.46012558e+00 6.24542625e-02 3.04243491e+00\n", 338 | " 1.75779308e+00 1.52166416e+00 1.23817111e+00 -7.97803951e-01\n", 339 | " 3.90696889e-01 -6.19225451e-01 1.42304945e+00 -1.28138928e+00\n", 340 | " 1.05451851e+00 2.99641058e-01 -7.78909324e-01 2.55184996e-01\n", 341 | " 1.04213387e+00 4.01985262e+00 4.10956638e-02 9.72650554e-01\n", 342 | " 4.38663065e-01 -1.24154905e+00 4.68534855e-01 6.32756145e-01\n", 343 | " 8.42972324e-01 -1.69977165e+00 2.21320141e+00 -9.63472499e-01\n", 344 | " 6.40706441e-01 1.74025374e+00 -1.57992412e-01 -2.12527110e+00\n", 345 | " -3.41463121e-01 -5.23844235e-01 5.30544156e-01 -5.80984627e-01\n", 346 | " 3.95706884e-03 -1.23409175e+00 -6.23110796e-01 8.33769043e-01\n", 347 | " -1.39568461e+00 -2.23386940e-01 5.97831290e-01 -8.15726743e-02\n", 348 | " 1.36391643e-01 -6.62688401e-01 4.45915336e-01 -8.10861118e-01\n", 349 | " -2.91582565e-01 7.36019302e-01 1.59291496e+00 -8.13765805e-01\n", 350 | " -1.15831445e+00 -3.46717461e-01 5.96119975e-01 -1.09709991e+00\n", 351 | " 1.25127130e+00 -1.88386233e-01 1.79404880e+00 3.97428197e-01\n", 352 | " 2.39494165e-01 4.14585331e-01 5.97507814e-01 -3.59018225e-01]\n" 353 | ] 354 | }, 355 | { 356 | "data": { 357 | "text/plain": [ 358 | "(array([ 3., 15., 21., 21., 22., 9., 4., 3., 1., 1.]),\n", 359 | " array([-2.1252711 , -1.51075872, -0.89624635, -0.28173398, 0.33277839,\n", 360 | " 0.94729076, 1.56180314, 2.17631551, 2.79082788, 3.40534025,\n", 361 | " 4.01985262]),\n", 362 | " )" 363 | ] 364 | }, 365 | "execution_count": 33, 366 | "metadata": {}, 367 | "output_type": "execute_result" 368 | }, 369 | { 370 | "data": { 371 | "image/png": "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", 372 | "text/plain": [ 373 | "
" 374 | ] 375 | }, 376 | "metadata": { 377 | "needs_background": "light" 378 | }, 379 | "output_type": "display_data" 380 | } 381 | ], 382 | "source": [ 383 | "x = np.random.normal(0, 1, 100)\n", 384 | "print(x)\n", 385 | "plt.hist(x, bins=10)" 386 | ] 387 | }, 388 | { 389 | "cell_type": "markdown", 390 | "metadata": { 391 | "id": "G0exvwBbShBE" 392 | }, 393 | "source": [ 394 | "### generate a sine curve" 395 | ] 396 | }, 397 | { 398 | "cell_type": "code", 399 | "execution_count": null, 400 | "metadata": { 401 | "colab": { 402 | "base_uri": "https://localhost:8080/", 403 | "height": 282 404 | }, 405 | "id": "HgQmRXzMShBE", 406 | "outputId": "a266cc4f-3373-43c7-d8a8-3290c8bf4248" 407 | }, 408 | "outputs": [ 409 | { 410 | "data": { 411 | "text/plain": [ 412 | "[]" 413 | ] 414 | }, 415 | "execution_count": 8, 416 | "metadata": {}, 417 | "output_type": "execute_result" 418 | }, 419 | { 420 | "data": { 421 | "image/png": "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", 422 | "text/plain": [ 423 | "
" 424 | ] 425 | }, 426 | "metadata": { 427 | "needs_background": "light" 428 | }, 429 | "output_type": "display_data" 430 | } 431 | ], 432 | "source": [ 433 | "plt.figure()\n", 434 | "\n", 435 | "theta1 = np.linspace(0, 2*np.pi, 100)\n", 436 | "s1 = np.sin(theta1)\n", 437 | "theta2 = np.linspace(0, 2*np.pi, 100) + np.pi/2\n", 438 | "s2 = np.sin(theta2)\n", 439 | "\n", 440 | "plt.subplot(2, 1, 1) # (rows, columns, panel number)\n", 441 | "plt.plot(theta1, s1, '.')\n", 442 | "plt.subplot(2, 1, 2) # (rows, columns, panel number)\n", 443 | "plt.plot(theta2, s2, '.')" 444 | ] 445 | }, 446 | { 447 | "cell_type": "code", 448 | "execution_count": null, 449 | "metadata": { 450 | "colab": { 451 | "base_uri": "https://localhost:8080/" 452 | }, 453 | "id": "TuH489v9BvQ7", 454 | "outputId": "80f021a2-50ec-4eb5-aed7-4faf9a306496" 455 | }, 456 | "outputs": [ 457 | { 458 | "data": { 459 | "text/plain": [ 460 | "array([[1.00000000e+00, 2.41915449e-17],\n", 461 | " [2.41915449e-17, 1.00000000e+00]])" 462 | ] 463 | }, 464 | "execution_count": 11, 465 | "metadata": {}, 466 | "output_type": "execute_result" 467 | } 468 | ], 469 | "source": [ 470 | "np.corrcoef(s1,s2)" 471 | ] 472 | } 473 | ], 474 | "metadata": { 475 | "colab": { 476 | "include_colab_link": true, 477 | "name": "numpy_matplotlib.ipynb", 478 | "provenance": [] 479 | }, 480 | "kernelspec": { 481 | "display_name": "Python 3", 482 | "language": "python", 483 | "name": "python3" 484 | }, 485 | "language_info": { 486 | "codemirror_mode": { 487 | "name": "ipython", 488 | "version": 3 489 | }, 490 | "file_extension": ".py", 491 | "mimetype": "text/x-python", 492 | "name": "python", 493 | "nbconvert_exporter": "python", 494 | "pygments_lexer": "ipython3", 495 | "version": "3.7.1" 496 | } 497 | }, 498 | "nbformat": 4, 499 | "nbformat_minor": 0 500 | } 501 | -------------------------------------------------------------------------------- /pandas.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": { 6 | "colab_type": "text", 7 | "id": "view-in-github" 8 | }, 9 | "source": [ 10 | "\"Open" 11 | ] 12 | }, 13 | { 14 | "cell_type": "markdown", 15 | "metadata": { 16 | "id": "t6YRFy8vHw3f" 17 | }, 18 | "source": [ 19 | "### Importing libraries" 20 | ] 21 | }, 22 | { 23 | "cell_type": "code", 24 | "execution_count": null, 25 | "metadata": { 26 | "id": "km1FLv12HwfE" 27 | }, 28 | "outputs": [], 29 | "source": [ 30 | "import pandas as pd " 31 | ] 32 | }, 33 | { 34 | "cell_type": "markdown", 35 | "metadata": { 36 | "id": "l9hcO5nhFNBs" 37 | }, 38 | "source": [ 39 | "### Loading csv file" 40 | ] 41 | }, 42 | { 43 | "cell_type": "code", 44 | "execution_count": null, 45 | "metadata": { 46 | "id": "IlcjthG78XD5" 47 | }, 48 | "outputs": [], 49 | "source": [ 50 | "df = pd.read_csv(\"https://download.mlcc.google.com/mledu-datasets/california_housing_train.csv\", sep=\",\")\n", 51 | "df" 52 | ] 53 | }, 54 | { 55 | "cell_type": "code", 56 | "execution_count": null, 57 | "metadata": { 58 | "id": "TccKwiUEB3S-" 59 | }, 60 | "outputs": [], 61 | "source": [ 62 | "print(df.size); print(df.ndim); print(df.shape)" 63 | ] 64 | }, 65 | { 66 | "cell_type": "code", 67 | "execution_count": null, 68 | "metadata": { 69 | "id": "kP3NoboG8iAs" 70 | }, 71 | "outputs": [], 72 | "source": [ 73 | "df.describe()" 74 | ] 75 | }, 76 | { 77 | "cell_type": "markdown", 78 | "metadata": { 79 | "id": "YDgsE5VsG7EK" 80 | }, 81 | "source": [ 82 | "### Saving to CSV" 83 | ] 84 | }, 85 | { 86 | "cell_type": "code", 87 | "execution_count": null, 88 | "metadata": { 89 | "id": "p0HH9Mf6G6xp" 90 | }, 91 | "outputs": [], 92 | "source": [ 93 | "df.to_csv('california_housing_train.csv')" 94 | ] 95 | }, 96 | { 97 | "cell_type": "markdown", 98 | "metadata": { 99 | "id": "NysUV4ad32LJ" 100 | }, 101 | "source": [ 102 | "### Constructing a DataFrame using dict" 103 | ] 104 | }, 105 | { 106 | "cell_type": "code", 107 | "execution_count": null, 108 | "metadata": { 109 | "id": "CI7tYc4Q32LK" 110 | }, 111 | "outputs": [], 112 | "source": [ 113 | "# Some input data - a small sample of the iris dataset\n", 114 | "data = {'sepal_length': [6.9, 6.9, 4.8, 5.4, 4.6],\n", 115 | " 'sepal_width': [3.2, 3.1, 3.4, 3.0, 3.6],\n", 116 | " 'petal_length': [5.7, 5.1, 1.9, 4.5, 1.0],\n", 117 | " 'petal_width': [2.3, 2.3, 0.2, 1.5, 0.2],\n", 118 | " 'species': ['virginica', 'virginica', 'setosa', 'versicolor', 'setosa']}\n", 119 | "\n", 120 | "df = pd.DataFrame(data)\n", 121 | "df " 122 | ] 123 | }, 124 | { 125 | "cell_type": "markdown", 126 | "metadata": { 127 | "id": "4xktp6-HLv2W" 128 | }, 129 | "source": [ 130 | "### Constructing a DataFrame using pd.Series" 131 | ] 132 | }, 133 | { 134 | "cell_type": "code", 135 | "execution_count": null, 136 | "metadata": { 137 | "id": "tOXBW0W4_c3e" 138 | }, 139 | "outputs": [], 140 | "source": [ 141 | "sepal_length = pd.Series([6.9, 6.9, 4.8, 5.4, 4.6])\n", 142 | "sepal_width = pd.Series([3.2, 3.1, 3.4, 3.0, 3.6])\n", 143 | "petal_length = pd.Series([5.7, 5.1, 1.9, 4.5, 1.0])\n", 144 | "petal_width = pd.Series([2.3, 2.3, 0.2, 1.5, 0.2])\n", 145 | "species = pd.Series(['virginica', 'virginica', 'setosa', 'versicolor', 'setosa'])\n", 146 | "\n", 147 | "df = pd.DataFrame({'sepal_length': sepal_length, 'sepal_width': sepal_width, 'petal_length': petal_length, 'petal_width': petal_width, 'SPECIES': species})\n", 148 | "df" 149 | ] 150 | }, 151 | { 152 | "cell_type": "markdown", 153 | "metadata": { 154 | "id": "btyJ4nIB32LM" 155 | }, 156 | "source": [ 157 | "### Changing column names" 158 | ] 159 | }, 160 | { 161 | "cell_type": "code", 162 | "execution_count": null, 163 | "metadata": { 164 | "id": "iBsTsL0J32LN" 165 | }, 166 | "outputs": [], 167 | "source": [ 168 | "# Change the columns\n", 169 | "df.columns = ['sepal_length', 'sepal_width', 'petal_length', 'petal_width', 'species']\n", 170 | "df" 171 | ] 172 | }, 173 | { 174 | "cell_type": "markdown", 175 | "metadata": { 176 | "id": "8NRfX2U332LO" 177 | }, 178 | "source": [ 179 | "### Accessing columns" 180 | ] 181 | }, 182 | { 183 | "cell_type": "code", 184 | "execution_count": null, 185 | "metadata": { 186 | "id": "DBAAnC1I32LO" 187 | }, 188 | "outputs": [], 189 | "source": [ 190 | "# Access one column \n", 191 | "df.loc[:, 'sepal_length']" 192 | ] 193 | }, 194 | { 195 | "cell_type": "code", 196 | "execution_count": null, 197 | "metadata": { 198 | "id": "gDBR--u832LO" 199 | }, 200 | "outputs": [], 201 | "source": [ 202 | "# Access one column (short-hand)\n", 203 | "df['sepal_length']" 204 | ] 205 | }, 206 | { 207 | "cell_type": "code", 208 | "execution_count": null, 209 | "metadata": { 210 | "id": "ix7c1jzFQRTe" 211 | }, 212 | "outputs": [], 213 | "source": [ 214 | "# Access one column (shortest-hand)\n", 215 | "df.sepal_length" 216 | ] 217 | }, 218 | { 219 | "cell_type": "code", 220 | "execution_count": null, 221 | "metadata": { 222 | "id": "DaXVg9Gs32LP" 223 | }, 224 | "outputs": [], 225 | "source": [ 226 | "# Access two columns\n", 227 | "df.loc[:, ['sepal_length', 'sepal_width']]" 228 | ] 229 | }, 230 | { 231 | "cell_type": "code", 232 | "execution_count": null, 233 | "metadata": { 234 | "id": "zyXCD9yl32LP" 235 | }, 236 | "outputs": [], 237 | "source": [ 238 | "# Access two columns (short-hand)\n", 239 | "df[['sepal_length', 'sepal_width']]" 240 | ] 241 | }, 242 | { 243 | "cell_type": "markdown", 244 | "metadata": { 245 | "id": "G7IgmghJ32LP" 246 | }, 247 | "source": [ 248 | "### Accessing rows" 249 | ] 250 | }, 251 | { 252 | "cell_type": "code", 253 | "execution_count": null, 254 | "metadata": { 255 | "id": "jS7CLQR532LP" 256 | }, 257 | "outputs": [], 258 | "source": [ 259 | "# Access one row \n", 260 | "df.loc[3, :]" 261 | ] 262 | }, 263 | { 264 | "cell_type": "code", 265 | "execution_count": null, 266 | "metadata": { 267 | "id": "_eZBMb0q32LP" 268 | }, 269 | "outputs": [], 270 | "source": [ 271 | "# Access two rows\n", 272 | "df.loc[[3, 0], :]" 273 | ] 274 | }, 275 | { 276 | "cell_type": "code", 277 | "execution_count": null, 278 | "metadata": { 279 | "id": "DtxCf_Rf32LQ" 280 | }, 281 | "outputs": [], 282 | "source": [ 283 | "# Access a range of rows\n", 284 | "df.loc[2:5, :]" 285 | ] 286 | }, 287 | { 288 | "cell_type": "code", 289 | "execution_count": null, 290 | "metadata": { 291 | "id": "Zm8edm9Z32LQ" 292 | }, 293 | "outputs": [], 294 | "source": [ 295 | "# Filter keeping only rows with `sepal_length` > 5\n", 296 | "df[df.sepal_length > 5]" 297 | ] 298 | }, 299 | { 300 | "cell_type": "markdown", 301 | "metadata": { 302 | "id": "lcXgjiuwM4SR" 303 | }, 304 | "source": [ 305 | "### Accessing a cell" 306 | ] 307 | }, 308 | { 309 | "cell_type": "code", 310 | "execution_count": null, 311 | "metadata": { 312 | "colab": { 313 | "base_uri": "https://localhost:8080/" 314 | }, 315 | "id": "an1xbTN4Q1vA", 316 | "outputId": "459d6495-fb29-49fc-9ff3-81b08df472e8" 317 | }, 318 | "outputs": [ 319 | { 320 | "data": { 321 | "text/plain": [ 322 | "4.6" 323 | ] 324 | }, 325 | "execution_count": 68, 326 | "metadata": {}, 327 | "output_type": "execute_result" 328 | } 329 | ], 330 | "source": [ 331 | "df.loc[:, 'sepal_length'][4]" 332 | ] 333 | }, 334 | { 335 | "cell_type": "code", 336 | "execution_count": null, 337 | "metadata": { 338 | "colab": { 339 | "base_uri": "https://localhost:8080/" 340 | }, 341 | "id": "PJw7-zu4M4or", 342 | "outputId": "3d0bb0e1-ff8b-48ff-ab3c-f459b43b7942" 343 | }, 344 | "outputs": [ 345 | { 346 | "data": { 347 | "text/plain": [ 348 | "4.6" 349 | ] 350 | }, 351 | "execution_count": 67, 352 | "metadata": {}, 353 | "output_type": "execute_result" 354 | } 355 | ], 356 | "source": [ 357 | "df['sepal_length'][4]" 358 | ] 359 | }, 360 | { 361 | "cell_type": "code", 362 | "execution_count": null, 363 | "metadata": { 364 | "colab": { 365 | "base_uri": "https://localhost:8080/" 366 | }, 367 | "id": "HkMdk-H-Q1lL", 368 | "outputId": "1fb2ebe4-9d50-4c4a-d123-e0c2dd1d834f" 369 | }, 370 | "outputs": [ 371 | { 372 | "data": { 373 | "text/plain": [ 374 | "4.6" 375 | ] 376 | }, 377 | "execution_count": 66, 378 | "metadata": {}, 379 | "output_type": "execute_result" 380 | } 381 | ], 382 | "source": [ 383 | "df.sepal_length[4]" 384 | ] 385 | }, 386 | { 387 | "cell_type": "markdown", 388 | "metadata": { 389 | "id": "26641I8q32LR" 390 | }, 391 | "source": [ 392 | "### Adding/Removing new columns" 393 | ] 394 | }, 395 | { 396 | "cell_type": "code", 397 | "execution_count": null, 398 | "metadata": { 399 | "id": "-EZ10v9s32LR" 400 | }, 401 | "outputs": [], 402 | "source": [ 403 | "df['new_column'] = 1\n", 404 | "df" 405 | ] 406 | }, 407 | { 408 | "cell_type": "code", 409 | "execution_count": null, 410 | "metadata": { 411 | "id": "O2P8oNUm32LR" 412 | }, 413 | "outputs": [], 414 | "source": [ 415 | "df['new_column'] = [1, 2, 3, 4, 5]\n", 416 | "df" 417 | ] 418 | }, 419 | { 420 | "cell_type": "code", 421 | "execution_count": null, 422 | "metadata": { 423 | "id": "WTTZwNEZSS2C" 424 | }, 425 | "outputs": [], 426 | "source": [ 427 | "df = df.drop('new_column', axis=1) # axis=1: column\n", 428 | "df" 429 | ] 430 | }, 431 | { 432 | "cell_type": "markdown", 433 | "metadata": { 434 | "id": "f5sF36S2Tob3" 435 | }, 436 | "source": [ 437 | "### Adding/Removing new rows" 438 | ] 439 | }, 440 | { 441 | "cell_type": "code", 442 | "execution_count": null, 443 | "metadata": { 444 | "id": "BGdOrz-kRbhv" 445 | }, 446 | "outputs": [], 447 | "source": [ 448 | "df.loc[5, :] = ''\n", 449 | "df" 450 | ] 451 | }, 452 | { 453 | "cell_type": "code", 454 | "execution_count": null, 455 | "metadata": { 456 | "id": "0q5Oov0CS_aZ" 457 | }, 458 | "outputs": [], 459 | "source": [ 460 | "df = df.drop(5, axis=0) # axis=0: row\n", 461 | "df" 462 | ] 463 | } 464 | ], 465 | "metadata": { 466 | "colab": { 467 | "authorship_tag": "ABX9TyMt4W/bQNRo+t800DtLn3Ib", 468 | "include_colab_link": true, 469 | "name": "pandas.ipynb", 470 | "provenance": [] 471 | }, 472 | "kernelspec": { 473 | "display_name": "Python 3", 474 | "name": "python3" 475 | }, 476 | "language_info": { 477 | "name": "python" 478 | } 479 | }, 480 | "nbformat": 4, 481 | "nbformat_minor": 0 482 | } 483 | -------------------------------------------------------------------------------- /pure_A_tone(220Hz).wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nkyc-no-name/class2025Spring/39895637589b9d739949026ace3e87c6dd159454/pure_A_tone(220Hz).wav -------------------------------------------------------------------------------- /regression.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": { 6 | "colab_type": "text", 7 | "id": "view-in-github" 8 | }, 9 | "source": [ 10 | "\"Open" 11 | ] 12 | }, 13 | { 14 | "cell_type": "markdown", 15 | "metadata": { 16 | "id": "EJYv5IDxwcnS" 17 | }, 18 | "source": [ 19 | "## Loading a dataset" 20 | ] 21 | }, 22 | { 23 | "cell_type": "code", 24 | "execution_count": 1, 25 | "metadata": { 26 | "id": "UbhqZ2xOwcnX" 27 | }, 28 | "outputs": [], 29 | "source": [ 30 | "import pandas as pd" 31 | ] 32 | }, 33 | { 34 | "cell_type": "markdown", 35 | "metadata": { 36 | "id": "01oxANUgwcnX" 37 | }, 38 | "source": [ 39 | "### computer hardware dataset" 40 | ] 41 | }, 42 | { 43 | "cell_type": "code", 44 | "execution_count": 2, 45 | "metadata": { 46 | "colab": { 47 | "base_uri": "https://localhost:8080/", 48 | "height": 206 49 | }, 50 | "id": "G6LdpzV9wcnZ", 51 | "outputId": "025a729f-10c9-48d3-fa78-1930e6b797c8" 52 | }, 53 | "outputs": [ 54 | { 55 | "data": { 56 | "text/html": [ 57 | "\n", 58 | "
\n", 59 | "
\n", 60 | "
\n", 61 | "\n", 74 | "\n", 75 | " \n", 76 | " \n", 77 | " \n", 78 | " \n", 79 | " \n", 80 | " \n", 81 | " \n", 82 | " \n", 83 | " \n", 84 | " \n", 85 | " \n", 86 | " \n", 87 | " \n", 88 | " \n", 89 | " \n", 90 | " \n", 91 | " \n", 92 | " \n", 93 | " \n", 94 | " \n", 95 | " \n", 96 | " \n", 97 | " \n", 98 | " \n", 99 | " \n", 100 | " \n", 101 | " \n", 102 | " \n", 103 | " \n", 104 | " \n", 105 | " \n", 106 | " \n", 107 | " \n", 108 | " \n", 109 | " \n", 110 | " \n", 111 | " \n", 112 | " \n", 113 | " \n", 114 | " \n", 115 | " \n", 116 | " \n", 117 | " \n", 118 | " \n", 119 | " \n", 120 | " \n", 121 | " \n", 122 | " \n", 123 | " \n", 124 | " \n", 125 | " \n", 126 | " \n", 127 | " \n", 128 | " \n", 129 | " \n", 130 | " \n", 131 | " \n", 132 | " \n", 133 | " \n", 134 | " \n", 135 | " \n", 136 | " \n", 137 | " \n", 138 | " \n", 139 | " \n", 140 | " \n", 141 | " \n", 142 | " \n", 143 | " \n", 144 | " \n", 145 | " \n", 146 | " \n", 147 | " \n", 148 | " \n", 149 | " \n", 150 | " \n", 151 | " \n", 152 | " \n", 153 | " \n", 154 | " \n", 155 | " \n", 156 | " \n", 157 | "
vendormodelMYCTMMINMMAXCACHCHMINCHMAXPRPlabel
0029125256600025616128198199
11622980003200032832269253
21632980003200032832220253
31642980003200032832172253
41652980001600032816132132
\n", 158 | "
\n", 159 | " \n", 169 | " \n", 170 | " \n", 207 | "\n", 208 | " \n", 232 | "
\n", 233 | "
\n", 234 | " " 235 | ], 236 | "text/plain": [ 237 | " vendor model MYCT MMIN MMAX CACH CHMIN CHMAX PRP label\n", 238 | "0 0 29 125 256 6000 256 16 128 198 199\n", 239 | "1 1 62 29 8000 32000 32 8 32 269 253\n", 240 | "2 1 63 29 8000 32000 32 8 32 220 253\n", 241 | "3 1 64 29 8000 32000 32 8 32 172 253\n", 242 | "4 1 65 29 8000 16000 32 8 16 132 132" 243 | ] 244 | }, 245 | "execution_count": 2, 246 | "metadata": {}, 247 | "output_type": "execute_result" 248 | } 249 | ], 250 | "source": [ 251 | "from sklearn.preprocessing import LabelEncoder\n", 252 | "le = LabelEncoder()\n", 253 | "computer_hardware = pd.read_csv('http://archive.ics.uci.edu/ml/machine-learning-databases/cpu-performance/machine.data', header=None, names=['vendor', 'model', 'MYCT', 'MMIN', 'MMAX', 'CACH', 'CHMIN', 'CHMAX', 'PRP', 'label'])\n", 254 | "computer_hardware['vendor'] = le.fit_transform(computer_hardware['vendor'])\n", 255 | "computer_hardware['model'] = le.fit_transform(computer_hardware['model'])\n", 256 | "computer_hardware.head()" 257 | ] 258 | }, 259 | { 260 | "cell_type": "markdown", 261 | "metadata": { 262 | "id": "V-quACWgzeVa" 263 | }, 264 | "source": [ 265 | "### parkinsons dataset" 266 | ] 267 | }, 268 | { 269 | "cell_type": "code", 270 | "execution_count": 3, 271 | "metadata": { 272 | "colab": { 273 | "base_uri": "https://localhost:8080/", 274 | "height": 300 275 | }, 276 | "id": "LpnoApn2wcna", 277 | "outputId": "0218d7bc-0205-4711-9455-8eb8d09514ea" 278 | }, 279 | "outputs": [ 280 | { 281 | "data": { 282 | "text/html": [ 283 | "\n", 284 | "
\n", 285 | "
\n", 286 | "
\n", 287 | "\n", 300 | "\n", 301 | " \n", 302 | " \n", 303 | " \n", 304 | " \n", 305 | " \n", 306 | " \n", 307 | " \n", 308 | " \n", 309 | " \n", 310 | " \n", 311 | " \n", 312 | " \n", 313 | " \n", 314 | " \n", 315 | " \n", 316 | " \n", 317 | " \n", 318 | " \n", 319 | " \n", 320 | " \n", 321 | " \n", 322 | " \n", 323 | " \n", 324 | " \n", 325 | " \n", 326 | " \n", 327 | " \n", 328 | " \n", 329 | " \n", 330 | " \n", 331 | " \n", 332 | " \n", 333 | " \n", 334 | " \n", 335 | " \n", 336 | " \n", 337 | " \n", 338 | " \n", 339 | " \n", 340 | " \n", 341 | " \n", 342 | " \n", 343 | " \n", 344 | " \n", 345 | " \n", 346 | " \n", 347 | " \n", 348 | " \n", 349 | " \n", 350 | " \n", 351 | " \n", 352 | " \n", 353 | " \n", 354 | " \n", 355 | " \n", 356 | " \n", 357 | " \n", 358 | " \n", 359 | " \n", 360 | " \n", 361 | " \n", 362 | " \n", 363 | " \n", 364 | " \n", 365 | " \n", 366 | " \n", 367 | " \n", 368 | " \n", 369 | " \n", 370 | " \n", 371 | " \n", 372 | " \n", 373 | " \n", 374 | " \n", 375 | " \n", 376 | " \n", 377 | " \n", 378 | " \n", 379 | " \n", 380 | " \n", 381 | " \n", 382 | " \n", 383 | " \n", 384 | " \n", 385 | " \n", 386 | " \n", 387 | " \n", 388 | " \n", 389 | " \n", 390 | " \n", 391 | " \n", 392 | " \n", 393 | " \n", 394 | " \n", 395 | " \n", 396 | " \n", 397 | " \n", 398 | " \n", 399 | " \n", 400 | " \n", 401 | " \n", 402 | " \n", 403 | " \n", 404 | " \n", 405 | " \n", 406 | " \n", 407 | " \n", 408 | " \n", 409 | " \n", 410 | " \n", 411 | " \n", 412 | " \n", 413 | " \n", 414 | " \n", 415 | " \n", 416 | " \n", 417 | " \n", 418 | " \n", 419 | " \n", 420 | " \n", 421 | " \n", 422 | " \n", 423 | " \n", 424 | " \n", 425 | " \n", 426 | " \n", 427 | " \n", 428 | " \n", 429 | " \n", 430 | " \n", 431 | " \n", 432 | " \n", 433 | " \n", 434 | " \n", 435 | " \n", 436 | " \n", 437 | " \n", 438 | " \n", 439 | " \n", 440 | " \n", 441 | " \n", 442 | " \n", 443 | " \n", 444 | " \n", 445 | " \n", 446 | " \n", 447 | " \n", 448 | " \n", 449 | "
subject#agesextest_timelabeltotal_UPDRSJitter(%)Jitter(Abs)Jitter:RAPJitter:PPQ5...Shimmer(dB)Shimmer:APQ3Shimmer:APQ5Shimmer:APQ11Shimmer:DDANHRHNRRPDEDFAPPE
017205.643128.19934.3980.006620.0000340.004010.00317...0.2300.014380.013090.016620.043140.01429021.6400.418880.548420.16006
1172012.666028.44734.8940.003000.0000170.001320.00150...0.1790.009940.010720.016890.029820.01111227.1830.434930.564770.10810
2172019.681028.69535.3890.004810.0000250.002050.00208...0.1810.007340.008440.014580.022020.02022023.0470.462220.544050.21014
3172025.647028.90535.8100.005280.0000270.001910.00264...0.3270.011060.012650.019630.033170.02783724.4450.487300.577940.33277
4172033.642029.18736.3750.003350.0000200.000930.00130...0.1760.006790.009290.018190.020360.01162526.1260.471880.561220.19361
\n", 450 | "

5 rows × 22 columns

\n", 451 | "
\n", 452 | " \n", 462 | " \n", 463 | " \n", 500 | "\n", 501 | " \n", 525 | "
\n", 526 | "
\n", 527 | " " 528 | ], 529 | "text/plain": [ 530 | " subject# age sex test_time label total_UPDRS Jitter(%) Jitter(Abs) \\\n", 531 | "0 1 72 0 5.6431 28.199 34.398 0.00662 0.000034 \n", 532 | "1 1 72 0 12.6660 28.447 34.894 0.00300 0.000017 \n", 533 | "2 1 72 0 19.6810 28.695 35.389 0.00481 0.000025 \n", 534 | "3 1 72 0 25.6470 28.905 35.810 0.00528 0.000027 \n", 535 | "4 1 72 0 33.6420 29.187 36.375 0.00335 0.000020 \n", 536 | "\n", 537 | " Jitter:RAP Jitter:PPQ5 ... Shimmer(dB) Shimmer:APQ3 Shimmer:APQ5 \\\n", 538 | "0 0.00401 0.00317 ... 0.230 0.01438 0.01309 \n", 539 | "1 0.00132 0.00150 ... 0.179 0.00994 0.01072 \n", 540 | "2 0.00205 0.00208 ... 0.181 0.00734 0.00844 \n", 541 | "3 0.00191 0.00264 ... 0.327 0.01106 0.01265 \n", 542 | "4 0.00093 0.00130 ... 0.176 0.00679 0.00929 \n", 543 | "\n", 544 | " Shimmer:APQ11 Shimmer:DDA NHR HNR RPDE DFA PPE \n", 545 | "0 0.01662 0.04314 0.014290 21.640 0.41888 0.54842 0.16006 \n", 546 | "1 0.01689 0.02982 0.011112 27.183 0.43493 0.56477 0.10810 \n", 547 | "2 0.01458 0.02202 0.020220 23.047 0.46222 0.54405 0.21014 \n", 548 | "3 0.01963 0.03317 0.027837 24.445 0.48730 0.57794 0.33277 \n", 549 | "4 0.01819 0.02036 0.011625 26.126 0.47188 0.56122 0.19361 \n", 550 | "\n", 551 | "[5 rows x 22 columns]" 552 | ] 553 | }, 554 | "execution_count": 3, 555 | "metadata": {}, 556 | "output_type": "execute_result" 557 | } 558 | ], 559 | "source": [ 560 | "parkinsons = pd.read_csv('http://archive.ics.uci.edu/ml/machine-learning-databases/parkinsons/telemonitoring/parkinsons_updrs.data')\n", 561 | "parkinsons.rename(columns={'motor_UPDRS':'label'}, inplace=True)\n", 562 | "parkinsons.head()" 563 | ] 564 | }, 565 | { 566 | "cell_type": "markdown", 567 | "metadata": { 568 | "id": "6KNf3AKIwcnb" 569 | }, 570 | "source": [ 571 | "## Comparing Models" 572 | ] 573 | }, 574 | { 575 | "cell_type": "code", 576 | "execution_count": 4, 577 | "metadata": { 578 | "id": "o1el3KYcwcnf" 579 | }, 580 | "outputs": [], 581 | "source": [ 582 | "from sklearn.linear_model import LinearRegression, Lasso, Ridge\n", 583 | "from sklearn.svm import LinearSVR\n", 584 | "from sklearn.tree import DecisionTreeRegressor\n", 585 | "from sklearn.neural_network import MLPRegressor\n", 586 | "\n", 587 | "models = [\n", 588 | " ('LR', LinearRegression()),\n", 589 | " ('L', Lasso()),\n", 590 | " ('R', Ridge()),\n", 591 | " ('SVR', LinearSVR()),\n", 592 | " ('DT', DecisionTreeRegressor()),\n", 593 | " ('NN', MLPRegressor()),\n", 594 | "]" 595 | ] 596 | }, 597 | { 598 | "cell_type": "markdown", 599 | "metadata": { 600 | "id": "5FGF4M9l9Skt" 601 | }, 602 | "source": [ 603 | "### test a single model (e.g. Linear Regression)" 604 | ] 605 | }, 606 | { 607 | "cell_type": "code", 608 | "execution_count": 5, 609 | "metadata": { 610 | "colab": { 611 | "base_uri": "https://localhost:8080/" 612 | }, 613 | "id": "JJT5EHhp9aRU", 614 | "outputId": "455e902e-632a-4921-81eb-89cc2f982b9d" 615 | }, 616 | "outputs": [ 617 | { 618 | "name": "stdout", 619 | "output_type": "stream", 620 | "text": [ 621 | "computer_hardware LR 0.9438611618299354\n" 622 | ] 623 | } 624 | ], 625 | "source": [ 626 | "from sklearn.model_selection import train_test_split\n", 627 | "import numpy as np\n", 628 | "\n", 629 | "dataset_name = 'computer_hardware'\n", 630 | "dataset = computer_hardware\n", 631 | "\n", 632 | "X = np.array(dataset.drop(['label'], axis=1))\n", 633 | "y = np.array(dataset['label'])\n", 634 | "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)\n", 635 | "\n", 636 | "name ='LR'\n", 637 | "model = LinearRegression()\n", 638 | "model.fit(X_train, y_train)\n", 639 | "accuracy = model.score(X_test, y_test)\n", 640 | "print(dataset_name, name, accuracy)" 641 | ] 642 | }, 643 | { 644 | "cell_type": "code", 645 | "execution_count": 13, 646 | "metadata": { 647 | "colab": { 648 | "base_uri": "https://localhost:8080/" 649 | }, 650 | "id": "MI1VXq7S_W63", 651 | "outputId": "26b27d81-6419-481f-a09d-1ace73d44e5f" 652 | }, 653 | "outputs": [ 654 | { 655 | "data": { 656 | "text/plain": [ 657 | "array([181.53279469])" 658 | ] 659 | }, 660 | "execution_count": 13, 661 | "metadata": {}, 662 | "output_type": "execute_result" 663 | } 664 | ], 665 | "source": [ 666 | "model.predict(np.array([22, 122, 40, 8000, 16000, 32, 8, 16, 214]).reshape(1,9))" 667 | ] 668 | }, 669 | { 670 | "cell_type": "markdown", 671 | "metadata": { 672 | "id": "SwAsHS1g9b1m" 673 | }, 674 | "source": [ 675 | "### Evaluate all the models" 676 | ] 677 | }, 678 | { 679 | "cell_type": "code", 680 | "execution_count": null, 681 | "metadata": { 682 | "id": "CDKoYk0-wcnf" 683 | }, 684 | "outputs": [], 685 | "source": [ 686 | "for dataset_name, dataset in [('computer_hardware', computer_hardware), ('parkinsons', parkinsons)]:\n", 687 | " X = np.array(dataset.drop(['label'], axis=1))\n", 688 | " y = np.array(dataset['label'])\n", 689 | " X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)\n", 690 | "\n", 691 | " for name, model in models:\n", 692 | " model.fit(X_train, y_train)\n", 693 | " accuracy = model.score(X_test, y_test)\n", 694 | " print(dataset_name, name, accuracy)" 695 | ] 696 | } 697 | ], 698 | "metadata": { 699 | "colab": { 700 | "authorship_tag": "ABX9TyPDkP9CJ6xeHWvHhhmjzSKZ", 701 | "include_colab_link": true, 702 | "provenance": [] 703 | }, 704 | "kernelspec": { 705 | "display_name": "Python 3", 706 | "name": "python3" 707 | }, 708 | "language_info": { 709 | "name": "python" 710 | } 711 | }, 712 | "nbformat": 4, 713 | "nbformat_minor": 0 714 | } 715 | -------------------------------------------------------------------------------- /string.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": { 6 | "colab_type": "text", 7 | "id": "view-in-github" 8 | }, 9 | "source": [ 10 | "\"Open" 11 | ] 12 | }, 13 | { 14 | "cell_type": "code", 15 | "execution_count": null, 16 | "metadata": { 17 | "id": "zwpWU02YmAur", 18 | "outputId": "f181d85d-17a2-4571-e914-3d332031f533" 19 | }, 20 | "outputs": [ 21 | { 22 | "name": "stdout", 23 | "output_type": "stream", 24 | "text": [ 25 | "\n", 26 | "a f f a\n", 27 | "bc bcdef abc abcdef\n" 28 | ] 29 | } 30 | ], 31 | "source": [ 32 | "s = 'abcdef'\n", 33 | "print(s[0], s[5], s[-1], s[-6])\n", 34 | "print(s[1:3], s[1:], s[:3], s[:])" 35 | ] 36 | }, 37 | { 38 | "cell_type": "code", 39 | "execution_count": null, 40 | "metadata": { 41 | "id": "mpkdZBeWmAux", 42 | "outputId": "a5f03d66-f3c7-4ac5-bb23-d4ee9780172d" 43 | }, 44 | "outputs": [ 45 | { 46 | "name": "stdout", 47 | "output_type": "stream", 48 | "text": [ 49 | "100 300 300 100\n", 50 | "[200] [200, 300] [100, 200] [100, 200, 300]\n" 51 | ] 52 | } 53 | ], 54 | "source": [ 55 | "n = [100, 200, 300]\n", 56 | "print(n[0], n[2], n[-1], n[-3])\n", 57 | "print(n[1:2], n[1:], n[:2], n[:])" 58 | ] 59 | }, 60 | { 61 | "cell_type": "code", 62 | "execution_count": null, 63 | "metadata": { 64 | "id": "ulnefmnFmAuy", 65 | "outputId": "013b6af1-433f-4d95-e343-71631a426f84" 66 | }, 67 | "outputs": [ 68 | { 69 | "data": { 70 | "text/plain": [ 71 | "6" 72 | ] 73 | }, 74 | "execution_count": 4, 75 | "metadata": {}, 76 | "output_type": "execute_result" 77 | } 78 | ], 79 | "source": [ 80 | "len(s)" 81 | ] 82 | }, 83 | { 84 | "cell_type": "code", 85 | "execution_count": null, 86 | "metadata": { 87 | "id": "a45rgiNMmAuy", 88 | "outputId": "9b1a4417-a513-4f77-8ae9-64352e6da015" 89 | }, 90 | "outputs": [ 91 | { 92 | "data": { 93 | "text/plain": [ 94 | "'bdefefefefefefefefefef'" 95 | ] 96 | }, 97 | "execution_count": 5, 98 | "metadata": {}, 99 | "output_type": "execute_result" 100 | } 101 | ], 102 | "source": [ 103 | "s[1]+s[3]+s[4:]*10" 104 | ] 105 | }, 106 | { 107 | "cell_type": "code", 108 | "execution_count": null, 109 | "metadata": { 110 | "id": "IevwoMpmmAuz", 111 | "outputId": "69636955-73a9-49f7-ea43-efdb38a982c1" 112 | }, 113 | "outputs": [ 114 | { 115 | "data": { 116 | "text/plain": [ 117 | "'ABCDEF'" 118 | ] 119 | }, 120 | "execution_count": 7, 121 | "metadata": {}, 122 | "output_type": "execute_result" 123 | } 124 | ], 125 | "source": [ 126 | "s.upper()" 127 | ] 128 | }, 129 | { 130 | "cell_type": "code", 131 | "execution_count": null, 132 | "metadata": { 133 | "id": "LRU0Yt1amAuz", 134 | "outputId": "3fdbe8c7-9962-40ba-f624-2ac1aa2c7e44" 135 | }, 136 | "outputs": [ 137 | { 138 | "data": { 139 | "text/plain": [ 140 | "' this is a house built this year.\\n'" 141 | ] 142 | }, 143 | "execution_count": 10, 144 | "metadata": {}, 145 | "output_type": "execute_result" 146 | } 147 | ], 148 | "source": [ 149 | "s = ' this is a house built this year.\\n' \t\n", 150 | "s" 151 | ] 152 | }, 153 | { 154 | "cell_type": "code", 155 | "execution_count": null, 156 | "metadata": { 157 | "id": "nMHteyDfmAu0", 158 | "outputId": "2f55caa2-dd53-4fac-e876-05ca87c5d63d" 159 | }, 160 | "outputs": [ 161 | { 162 | "data": { 163 | "text/plain": [ 164 | "11" 165 | ] 166 | }, 167 | "execution_count": 11, 168 | "metadata": {}, 169 | "output_type": "execute_result" 170 | } 171 | ], 172 | "source": [ 173 | "result = s.find('house') \t # index of first instance of string t inside s (-1 if not found)\n", 174 | "result" 175 | ] 176 | }, 177 | { 178 | "cell_type": "code", 179 | "execution_count": null, 180 | "metadata": { 181 | "id": "gv82JUX7mAu0", 182 | "outputId": "18540837-5eb4-4cea-f087-2f7fd1581afa" 183 | }, 184 | "outputs": [ 185 | { 186 | "data": { 187 | "text/plain": [ 188 | "1" 189 | ] 190 | }, 191 | "execution_count": 12, 192 | "metadata": {}, 193 | "output_type": "execute_result" 194 | } 195 | ], 196 | "source": [ 197 | "result = s.find('this')\t # index of first instance of string t inside s (-1 if not found)\n", 198 | "result" 199 | ] 200 | }, 201 | { 202 | "cell_type": "code", 203 | "execution_count": null, 204 | "metadata": { 205 | "id": "ua3TjwLcmAu2", 206 | "outputId": "ac192f91-46ce-4ff0-a040-f0d63541124e" 207 | }, 208 | "outputs": [ 209 | { 210 | "data": { 211 | "text/plain": [ 212 | "'this is a house built this year.'" 213 | ] 214 | }, 215 | "execution_count": 14, 216 | "metadata": {}, 217 | "output_type": "execute_result" 218 | } 219 | ], 220 | "source": [ 221 | "s = s.strip() \t # a copy of s without leading or trailing whitespace\n", 222 | "s" 223 | ] 224 | }, 225 | { 226 | "cell_type": "code", 227 | "execution_count": null, 228 | "metadata": { 229 | "id": "l37g5DqQmAu2", 230 | "outputId": "c1eefe2c-0edc-4678-c67b-b8306ca13471" 231 | }, 232 | "outputs": [ 233 | { 234 | "data": { 235 | "text/plain": [ 236 | "['this', 'is', 'a', 'house', 'built', 'this', 'year.']" 237 | ] 238 | }, 239 | "execution_count": 15, 240 | "metadata": {}, 241 | "output_type": "execute_result" 242 | } 243 | ], 244 | "source": [ 245 | "tokens = s.split(' ')\t # split s into a list wherever a t is found (whitespace by default)\n", 246 | "tokens" 247 | ] 248 | }, 249 | { 250 | "cell_type": "code", 251 | "execution_count": null, 252 | "metadata": { 253 | "id": "64sewKE8mAu2", 254 | "outputId": "e2e8dc1f-6b83-41ef-b746-7712099f2776" 255 | }, 256 | "outputs": [ 257 | { 258 | "data": { 259 | "text/plain": [ 260 | "'this is a house built this year.'" 261 | ] 262 | }, 263 | "execution_count": 16, 264 | "metadata": {}, 265 | "output_type": "execute_result" 266 | } 267 | ], 268 | "source": [ 269 | "s = ' '.join(tokens)\t # combine the words of the text into a string using s as the glue\n", 270 | "s" 271 | ] 272 | }, 273 | { 274 | "cell_type": "code", 275 | "execution_count": null, 276 | "metadata": { 277 | "id": "jfiqbBiImAu3", 278 | "outputId": "13300aff-f13a-4f48-c6ec-cbc5d01dd55b" 279 | }, 280 | "outputs": [ 281 | { 282 | "data": { 283 | "text/plain": [ 284 | "'that is a house built that year.'" 285 | ] 286 | }, 287 | "execution_count": 17, 288 | "metadata": {}, 289 | "output_type": "execute_result" 290 | } 291 | ], 292 | "source": [ 293 | "s = s.replace('this', 'that') # replace instances of t with u inside s\n", 294 | "s" 295 | ] 296 | } 297 | ], 298 | "metadata": { 299 | "colab": { 300 | "include_colab_link": true, 301 | "name": "string.ipynb", 302 | "provenance": [] 303 | }, 304 | "kernelspec": { 305 | "display_name": "Python 3", 306 | "language": "python", 307 | "name": "python3" 308 | }, 309 | "language_info": { 310 | "codemirror_mode": { 311 | "name": "ipython", 312 | "version": 3 313 | }, 314 | "file_extension": ".py", 315 | "mimetype": "text/x-python", 316 | "name": "python", 317 | "nbconvert_exporter": "python", 318 | "pygments_lexer": "ipython3", 319 | "version": "3.7.1" 320 | } 321 | }, 322 | "nbformat": 4, 323 | "nbformat_minor": 0 324 | } 325 | -------------------------------------------------------------------------------- /syntax.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": { 6 | "colab_type": "text", 7 | "id": "view-in-github" 8 | }, 9 | "source": [ 10 | "\"Open" 11 | ] 12 | }, 13 | { 14 | "cell_type": "code", 15 | "execution_count": null, 16 | "metadata": { 17 | "id": "Fu2mzgrqSLAU", 18 | "outputId": "283876b5-0fc9-4961-d92d-d242b3c222de" 19 | }, 20 | "outputs": [ 21 | { 22 | "name": "stdout", 23 | "output_type": "stream", 24 | "text": [ 25 | "1\n", 26 | "2\n", 27 | "3\n", 28 | "4\n" 29 | ] 30 | } 31 | ], 32 | "source": [ 33 | "a = [1, 2, 3, 4]\n", 34 | "for i in a:\n", 35 | " print(i)" 36 | ] 37 | }, 38 | { 39 | "cell_type": "code", 40 | "execution_count": null, 41 | "metadata": { 42 | "id": "XSJxLJVCSLAW", 43 | "outputId": "921b10b7-3bc8-4345-a6b2-16253a900c95" 44 | }, 45 | "outputs": [ 46 | { 47 | "name": "stdout", 48 | "output_type": "stream", 49 | "text": [ 50 | "1\n", 51 | "2\n", 52 | "3\n", 53 | "4\n" 54 | ] 55 | } 56 | ], 57 | "source": [ 58 | "a = [1, 2, 3, 4]\n", 59 | "for i in range(len(a)):\n", 60 | " print(a[i])" 61 | ] 62 | }, 63 | { 64 | "cell_type": "code", 65 | "execution_count": null, 66 | "metadata": { 67 | "id": "VTfxVRdgSLAW", 68 | "outputId": "7b430ba8-015e-4296-c883-ce2b3f9ed43b" 69 | }, 70 | "outputs": [ 71 | { 72 | "name": "stdout", 73 | "output_type": "stream", 74 | "text": [ 75 | "red\n", 76 | "green\n", 77 | "blue\n", 78 | "purple\n" 79 | ] 80 | } 81 | ], 82 | "source": [ 83 | "a = ['red', 'green', 'blue', 'purple']\n", 84 | "for i in a:\n", 85 | " print(i)" 86 | ] 87 | }, 88 | { 89 | "cell_type": "code", 90 | "execution_count": null, 91 | "metadata": { 92 | "id": "Vc-7pW85SLAW", 93 | "outputId": "9394e177-c8c8-44db-ff28-1e9566072bb3" 94 | }, 95 | "outputs": [ 96 | { 97 | "name": "stdout", 98 | "output_type": "stream", 99 | "text": [ 100 | "red\n", 101 | "green\n", 102 | "blue\n", 103 | "purple\n" 104 | ] 105 | } 106 | ], 107 | "source": [ 108 | "a = ['red', 'green', 'blue', 'purple']\n", 109 | "for i in range(len(a)):\n", 110 | " print(a[i])" 111 | ] 112 | }, 113 | { 114 | "cell_type": "code", 115 | "execution_count": null, 116 | "metadata": { 117 | "id": "dD-ephD3SLAX", 118 | "outputId": "69d729f8-996a-41be-d84b-f1bd2a7c809c" 119 | }, 120 | "outputs": [ 121 | { 122 | "name": "stdout", 123 | "output_type": "stream", 124 | "text": [ 125 | "0\n" 126 | ] 127 | } 128 | ], 129 | "source": [ 130 | "a = 0\n", 131 | "if a == 0:\n", 132 | " print(a)\n", 133 | "else:\n", 134 | " print(a+1)" 135 | ] 136 | }, 137 | { 138 | "cell_type": "code", 139 | "execution_count": null, 140 | "metadata": { 141 | "id": "M0AZaDMvSLAY", 142 | "outputId": "b25a5fe6-defa-4549-85b0-0c146ff7a2a0" 143 | }, 144 | "outputs": [ 145 | { 146 | "name": "stdout", 147 | "output_type": "stream", 148 | "text": [ 149 | "3\n", 150 | "4\n", 151 | "6\n", 152 | "8\n" 153 | ] 154 | } 155 | ], 156 | "source": [ 157 | "for i in range(1, 3):\n", 158 | " for j in range(3, 5):\n", 159 | " print(i*j)" 160 | ] 161 | }, 162 | { 163 | "cell_type": "code", 164 | "execution_count": null, 165 | "metadata": { 166 | "id": "ZPpZmVIHSLAY", 167 | "outputId": "0bbcc529-c1d8-4774-e1ad-9de8b9e065ce" 168 | }, 169 | "outputs": [ 170 | { 171 | "name": "stdout", 172 | "output_type": "stream", 173 | "text": [ 174 | "4\n", 175 | "8\n" 176 | ] 177 | } 178 | ], 179 | "source": [ 180 | "for i in range(1, 3):\n", 181 | " for j in range(3, 5):\n", 182 | " if j >=4:\n", 183 | " print(i*j)" 184 | ] 185 | }, 186 | { 187 | "cell_type": "code", 188 | "execution_count": null, 189 | "metadata": { 190 | "id": "JQXk5vi0SLAY", 191 | "outputId": "cd3306f3-6d6d-446e-dd4a-f7f4e11dd967" 192 | }, 193 | "outputs": [ 194 | { 195 | "data": { 196 | "text/plain": [ 197 | "[2, 3, 4]" 198 | ] 199 | }, 200 | "execution_count": 12, 201 | "metadata": { 202 | "tags": [] 203 | }, 204 | "output_type": "execute_result" 205 | } 206 | ], 207 | "source": [ 208 | "a = [1, 2, 3, 4]\n", 209 | "b = [i for i in a if i >=2]\n", 210 | "b" 211 | ] 212 | }, 213 | { 214 | "cell_type": "code", 215 | "execution_count": null, 216 | "metadata": { 217 | "id": "MDmBGZ3LSLAZ", 218 | "outputId": "bd06f885-7334-43d9-d92d-848c615f6771" 219 | }, 220 | "outputs": [ 221 | { 222 | "data": { 223 | "text/plain": [ 224 | "['green', 'blue', 'purple']" 225 | ] 226 | }, 227 | "execution_count": 13, 228 | "metadata": { 229 | "tags": [] 230 | }, 231 | "output_type": "execute_result" 232 | } 233 | ], 234 | "source": [ 235 | "a = ['red', 'green', 'blue', 'purple']\n", 236 | "b = [i for i in a if len(i) >=4]\n", 237 | "b" 238 | ] 239 | }, 240 | { 241 | "cell_type": "code", 242 | "execution_count": null, 243 | "metadata": { 244 | "colab": { 245 | "base_uri": "https://localhost:8080/" 246 | }, 247 | "id": "Z6JMoDOHu48B", 248 | "outputId": "2bf14607-9cf5-40be-d60b-b7cbda48c2a8" 249 | }, 250 | "outputs": [ 251 | { 252 | "data": { 253 | "text/plain": [ 254 | "{'blue': 3, 'green': 2, 'purple': 4, 'red': 1}" 255 | ] 256 | }, 257 | "execution_count": 17, 258 | "metadata": {}, 259 | "output_type": "execute_result" 260 | } 261 | ], 262 | "source": [ 263 | "a = ['red', 'green', 'blue', 'purple']\n", 264 | "b = [1, 2, 3, 4]\n", 265 | "c = {a[i]:b[i] for i in range(4)}\n", 266 | "c" 267 | ] 268 | } 269 | ], 270 | "metadata": { 271 | "colab": { 272 | "include_colab_link": true, 273 | "name": "syntax.ipynb", 274 | "provenance": [] 275 | }, 276 | "kernelspec": { 277 | "display_name": "Python 3", 278 | "language": "python", 279 | "name": "python3" 280 | }, 281 | "language_info": { 282 | "codemirror_mode": { 283 | "name": "ipython", 284 | "version": 3 285 | }, 286 | "file_extension": ".py", 287 | "mimetype": "text/x-python", 288 | "name": "python", 289 | "nbconvert_exporter": "python", 290 | "pygments_lexer": "ipython3", 291 | "version": "3.7.1" 292 | } 293 | }, 294 | "nbformat": 4, 295 | "nbformat_minor": 0 296 | } 297 | -------------------------------------------------------------------------------- /variables.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": { 6 | "colab_type": "text", 7 | "id": "view-in-github" 8 | }, 9 | "source": [ 10 | "\"Open" 11 | ] 12 | }, 13 | { 14 | "cell_type": "code", 15 | "execution_count": null, 16 | "metadata": { 17 | "colab": { 18 | "base_uri": "https://localhost:8080/" 19 | }, 20 | "id": "goAyoU7vRheI", 21 | "outputId": "068731d9-7186-453a-9a6b-b437acc64bc5" 22 | }, 23 | "outputs": [ 24 | { 25 | "name": "stdout", 26 | "output_type": "stream", 27 | "text": [ 28 | "\n" 29 | ] 30 | } 31 | ], 32 | "source": [ 33 | "a = 1; print(type(a))" 34 | ] 35 | }, 36 | { 37 | "cell_type": "code", 38 | "execution_count": null, 39 | "metadata": { 40 | "colab": { 41 | "base_uri": "https://localhost:8080/" 42 | }, 43 | "id": "txxnoqJuRheJ", 44 | "outputId": "fac1233b-b1e0-41b4-ea3c-94ad0c7104ec" 45 | }, 46 | "outputs": [ 47 | { 48 | "name": "stdout", 49 | "output_type": "stream", 50 | "text": [ 51 | "\n" 52 | ] 53 | } 54 | ], 55 | "source": [ 56 | "a = 1.1; print(type(a))" 57 | ] 58 | }, 59 | { 60 | "cell_type": "code", 61 | "execution_count": null, 62 | "metadata": { 63 | "id": "SyP0PB86RheL", 64 | "outputId": "e10d274f-e7fd-4cdd-a822-847fb83560ec" 65 | }, 66 | "outputs": [ 67 | { 68 | "name": "stdout", 69 | "output_type": "stream", 70 | "text": [ 71 | "\n", 72 | "2\n" 73 | ] 74 | } 75 | ], 76 | "source": [ 77 | "a = '123'; print(type(a)); print(a[1])" 78 | ] 79 | }, 80 | { 81 | "cell_type": "code", 82 | "execution_count": null, 83 | "metadata": { 84 | "colab": { 85 | "base_uri": "https://localhost:8080/" 86 | }, 87 | "id": "EKYj0dvIHPo0", 88 | "outputId": "a1237ded-1b0a-4ec6-e393-09846b2194a5" 89 | }, 90 | "outputs": [ 91 | { 92 | "name": "stdout", 93 | "output_type": "stream", 94 | "text": [ 95 | "\n", 96 | "e\n" 97 | ] 98 | } 99 | ], 100 | "source": [ 101 | "a = 'hello'; print(type(a)); print(a[1])" 102 | ] 103 | }, 104 | { 105 | "cell_type": "code", 106 | "execution_count": null, 107 | "metadata": { 108 | "colab": { 109 | "base_uri": "https://localhost:8080/" 110 | }, 111 | "id": "Df6PhU-tHXr2", 112 | "outputId": "3e99729c-3214-4756-e692-1522f494a01e" 113 | }, 114 | "outputs": [ 115 | { 116 | "name": "stdout", 117 | "output_type": "stream", 118 | "text": [ 119 | "\n", 120 | "1\n" 121 | ] 122 | } 123 | ], 124 | "source": [ 125 | "a = [1, 2, 3, 4]; print(type(a)); print(a[0])" 126 | ] 127 | }, 128 | { 129 | "cell_type": "code", 130 | "execution_count": null, 131 | "metadata": { 132 | "colab": { 133 | "base_uri": "https://localhost:8080/" 134 | }, 135 | "id": "DfS-gknCRheL", 136 | "outputId": "ff76fc0a-73db-43fc-bb86-946381a6cb4d" 137 | }, 138 | "outputs": [ 139 | { 140 | "name": "stdout", 141 | "output_type": "stream", 142 | "text": [ 143 | "\n", 144 | "1\n", 145 | "a\n", 146 | "[3, '4']\n", 147 | "4\n" 148 | ] 149 | } 150 | ], 151 | "source": [ 152 | "a = [1,'a', [3, '4']]; print(type(a)); print(a[0]); print(a[1]); print(a[2]); print(a[2][1])" 153 | ] 154 | }, 155 | { 156 | "cell_type": "code", 157 | "execution_count": null, 158 | "metadata": { 159 | "id": "2sivfloGRheM", 160 | "outputId": "5c768bb7-e02b-4c87-a76e-3e992cdb244e" 161 | }, 162 | "outputs": [ 163 | { 164 | "name": "stdout", 165 | "output_type": "stream", 166 | "text": [ 167 | "\n", 168 | "apple\n" 169 | ] 170 | } 171 | ], 172 | "source": [ 173 | "a =\t{\"a\": \"apple\", \"b\": \"orange\", \"c\": 2014}\n", 174 | "print(type(a))\n", 175 | "print(a[\"a\"])" 176 | ] 177 | } 178 | ], 179 | "metadata": { 180 | "colab": { 181 | "include_colab_link": true, 182 | "name": "variables.ipynb", 183 | "provenance": [] 184 | }, 185 | "kernelspec": { 186 | "display_name": "Python 3", 187 | "language": "python", 188 | "name": "python3" 189 | }, 190 | "language_info": { 191 | "codemirror_mode": { 192 | "name": "ipython", 193 | "version": 3 194 | }, 195 | "file_extension": ".py", 196 | "mimetype": "text/x-python", 197 | "name": "python", 198 | "nbconvert_exporter": "python", 199 | "pygments_lexer": "ipython3", 200 | "version": "3.7.1" 201 | } 202 | }, 203 | "nbformat": 4, 204 | "nbformat_minor": 0 205 | } 206 | -------------------------------------------------------------------------------- /vowelEGG.Collection: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nkyc-no-name/class2025Spring/39895637589b9d739949026ace3e87c6dd159454/vowelEGG.Collection -------------------------------------------------------------------------------- /yourgoodpants.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nkyc-no-name/class2025Spring/39895637589b9d739949026ace3e87c6dd159454/yourgoodpants.wav --------------------------------------------------------------------------------