Читайте также:
|
|
Средства анализа данных
Рабочее задание
1. Сформировать в «Блокноте» осмысленный текст на русском языке из N=30 букв, содержащий только строчные буквы и пробелы. Сохранить в виде текстового (*.txt) файла.
2. Запусить WinHex, открыть созданный файл, и с помощью программы PrintKеy зафиксировать полученный результат (полный экран).
3. В меню Инструменты выбрать опцию Analise File и получить на экране распределение символов, содержащихся в выбранном файле. Зафиксировать (на произвольном носителе) те буквы и их количество, вероятность появления которых в выбранном тексте выше 0.05 (5%), например: E0h а 0.0795 96.
4. Запустить пакет "Математика" и создать список полученных в предыдущем пункте букв и их частот появления в виде: ch0 = {{"а", 0.0795}, {"е", 0.0902}, {"и", 0.0637}, {"н", 0.0604}, {"о", 0.0762}, {"р", 0.0513}, {"т", 0.613}, {" ", 0.1358}}
5. Нажав комбинацию клавиш Shift+Enter проверить правильность ввода (в дальнейшем любой запуск на выполнение операций сопровождается этой командой).
6. Подключить блок статистической обработки Needs["StatisticalPlots`"] и построить диаграмму Парето для введенного списка ParetoPlot[ch0].
7. Вычислить длину списка (вектора) Length[ch0].
8. Проверить сумму вероятностей элементов списка используя две операции: сначала создать список состоящий только из значений вероятности p0=ch0[[All,2]], а затем подсчитать сумму вероятностей summch0=Sum[p0[[i]],{i, Length[ch0]}].
9. Ввести список наиболее вероятных частот букв русского алфавита в виде alfru={{"а",0.062},……..}. Возможно использование файла alfru.doc.
10. Сформировать вектор частот pa=alfru[[All,2]], определить длину списка na=Length[pa] и проверить сумму вероятностей summp=Sum[pa[[i]],{i,na}].
11. Рассчитать величину информационной энтропии H (энтропию языка):
entropyalfru=N[-Sum[pa[[i]]*Log[2,pa[[i]]],{i,na}]].
12. Построить диаграмму Парето для наиболее вероятного распределения букв русского языка в тексте.
13. Аналогично п.1 задания сформировать текстовый файл, содержащий 1500 строчных букв (и пробелов) русского алфавита.
14. С помощью команды v1= ReadList["file",Byte,30] создать список данных v1, соответсвующий сформированному текстовому файлу, где file - это полный путь к файлу, который можно ввести с помощью команд меню Insert\ File Path, 30 –число вводимых символов на первом этапе.
15. Построить гистограммы распределения букв (символов),используя команды Histogram[v1], Histogram[v1,{200,255,1}].
16. Установить параметр n2=60 и вести новый список данных v2=ReadList["file1500",Byte,n2], где file1500 –условное имя файла из п.13.
17. Определить число символов, соответствующих буквам русского языка в векторе v2: freq2=Tally[v2].
18. Создать список частот для введенных n2=60 символов текста:
p2=N[freq2[[All,2]/Length[v2]], где N[ ] – преобразование к действительной форме представления чисел.
19. Определить длину списка p2, сумму вероятностей, и информационную энтропию.
20. Подготовить список для записи энтропии 120 последовательно увеличивающихся сегментов подготовленного текста entropytextout=Range[120].
21. Используя оператор Do[ expr, {j,jmax}], построить вектор значений энтропии сегментов текста, увеличивающихся каждый раз на 10 символов:
Do[{n2=10*j;
v2=ReadList["file",Byte,n2]; freq2=Tally[v2];
p2=N[freq2[[All,2]]/Length[v2]];np2=Length[p2]};
entropytextout[[j]]=N[-Sum[p2[[i]]*Log[2,p2[[i]]],{i,np2}]],{j,120}]
22. Построить точечный график зависимости энтропии сообщения от его длины: ListPlot[entropytextout]
23. Построить гистограмму распределения рассчитанных значений энтропии.
24. Определить среднее значение Mean[entropytextout] и дисперсию Variance[entropytextout].
25. Используя команду Drop [list, n]- возвращает список list, из которого удалены первые n элементов: - удалить из распределения явные выбросы (значения лежащие вне диапазона Mean[entropytextout]± Variance[entropytextout]) и вновь построить гистограмму распределения, рассчитать среднее значение и дисперсию энтропии.
Дата добавления: 2015-05-05; просмотров: 21 | Поможем написать вашу работу | Нарушение авторских прав |
<== предыдущая лекция | | | следующая лекция ==> |
Вывод изображения на дисплей | | | Г. Барнаул |